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