Help us shape the future of Go! Take the 2026 Go Developer Survey

extension

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// ManifestFileName - Extension manifest file name
	ManifestFileName = "extension.json"
)

Variables

View Source
var (
	ErrExtensionDependModuleNotFound = errors.New("extension depends on module not found")
	DependOnMap                      = map[string]string{
		"coff-loader": consts.ModuleExecuteBof,
	}
)

Functions

func CmdExists

func CmdExists(name string, app *grumble.App) bool

CmdExists - checks if a command exists

func Commands

func Commands(con *console.Console) []*grumble.Command

func ExtensionLoadCmd

func ExtensionLoadCmd(ctx *grumble.Context, con *console.Console)

ExtensionLoadCmd - Load extension command

func ExtensionRegisterCommand

func ExtensionRegisterCommand(extCmd *ExtCommand, con *console.Console)

ExtensionRegisterCommand - Register a new extension command

func ExtensionsCmd

func ExtensionsCmd(ctx *grumble.Context, con *console.Console)

ExtensionsCmd - List information about installed extensions

func ExtensionsCommandNameCompleter

func ExtensionsCommandNameCompleter(prefix string, args []string, con *console.Console) []string

ExtensionsCommandNameCompleter - Completer for installed extensions command names

func ExtensionsInstallCmd

func ExtensionsInstallCmd(ctx *grumble.Context, con *console.Console)

ExtensionsInstallCmd - Install an extension

func ExtensionsListCmd

func ExtensionsListCmd(ctx *grumble.Context, con *console.Console)

ExtensionsListCmd - List all extension loaded on the active session/beacon

func ExtensionsRemoveCmd

func ExtensionsRemoveCmd(ctx *grumble.Context, con *console.Console)

ExtensionsRemoveCmd - Remove an extension

func InstallFromDir

func InstallFromDir(extLocalPath string, promptToOverwrite bool, con *console.Console, isGz bool)

Install an extension from a directory

func PrintExtensions

func PrintExtensions(con *console.Console)

PrintExtensions - Print a list of loaded extensions

func RemoveExtensionByCommandName

func RemoveExtensionByCommandName(commandName string, con *console.Console) error

RemoveExtensionByCommandName - Remove an extension by command name

Types

type ExtCommand

type ExtCommand struct {
	CommandName string               `json:"command_name"`
	Help        string               `json:"help"`
	LongHelp    string               `json:"long_help"`
	Files       []*extensionFile     `json:"files"`
	Arguments   []*extensionArgument `json:"arguments"`
	Entrypoint  string               `json:"entrypoint"`
	DependsOn   string               `json:"depends_on"`
	Init        string               `json:"init"`

	Manifest *ExtensionManifest
}

type ExtensionManifest

type ExtensionManifest struct {
	Name            string `json:"name"`
	Version         string `json:"version"`
	ExtensionAuthor string `json:"extension_author"`
	OriginalAuthor  string `json:"original_author"`
	RepoURL         string `json:"repo_url"`

	ExtCommand []*ExtCommand `json:"commands"`

	RootPath   string `json:"-"`
	ArmoryName string `json:"-"`
	ArmoryPK   string `json:"-"`
}

func LoadExtensionManifest

func LoadExtensionManifest(manifestPath string) (*ExtensionManifest, error)

LoadExtensionManifest - Parse extension files

func ParseExtensionManifest

func ParseExtensionManifest(data []byte) (*ExtensionManifest, error)

ParseExtensionManifest - Parse extension manifest from buffer

type ExtensionManifest_

type ExtensionManifest_ struct {
	Name            string               `json:"name"`
	CommandName     string               `json:"command_name"`
	Version         string               `json:"version"`
	ExtensionAuthor string               `json:"extension_author"`
	OriginalAuthor  string               `json:"original_author"`
	RepoURL         string               `json:"repo_url"`
	Help            string               `json:"help"`
	LongHelp        string               `json:"long_help"`
	Files           []*extensionFile     `json:"files"`
	Arguments       []*extensionArgument `json:"arguments"`
	Entrypoint      string               `json:"entrypoint"`
	DependsOn       string               `json:"depends_on"`
	Init            string               `json:"init"`

	RootPath string `json:"-"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL