Documentation
¶
Index ¶
- func WithGlobalConfig(ctx context.Context, config *GlobalConfig) context.Context
- func WithPluginConfig(ctx context.Context, config *PluginConfig) context.Context
- type GlobalConfig
- type PluginComponentArea
- type PluginComponents
- type PluginConfig
- type PluginMaintainer
- type PluginMeta
- type PluginMetaFormat
- type PluginResourceComponent
- type PluginTheme
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithGlobalConfig ¶
func WithGlobalConfig(ctx context.Context, config *GlobalConfig) context.Context
WithGlobalConfig injects the IDE global configuration into context.
func WithPluginConfig ¶
func WithPluginConfig(ctx context.Context, config *PluginConfig) context.Context
WithPluginConfig injects the IDE plugin configuration into context.
Types ¶
type GlobalConfig ¶
type GlobalConfig struct {
// contains filtered or unexported fields
}
GlobalConfig holds the global configuration for the IDE.
func GlobalConfigFromContext ¶
func GlobalConfigFromContext(ctx context.Context) *GlobalConfig
GlobalConfigFromContext returns the global configuration from the context.
func NewGlobalConfig ¶
func NewGlobalConfig(config map[string]interface{}) *GlobalConfig
NewGlobalConfig creates a new global configuration.
func (*GlobalConfig) Get ¶
func (c *GlobalConfig) Get(key string) interface{}
Get returns the value for the given key on the config.
type PluginComponentArea ¶
type PluginComponentArea string
const ( PluginComponentAreaEditor PluginComponentArea = "EDITOR" PluginComponentAreaSidebar PluginComponentArea = "SIDEBAR" )
type PluginComponents ¶
type PluginComponents struct {
Resource []PluginResourceComponent `json:"resource" yaml:"resource"`
}
type PluginConfig ¶
type PluginConfig struct {
// contains filtered or unexported fields
}
PluginConfig holds the plugin configuration for the IDE.
func NewEmptyPluginConfig ¶
func NewEmptyPluginConfig() *PluginConfig
NewEmptyPluginConfig creates a new empty plugin configuration.
func NewPluginConfig ¶
func NewPluginConfig(config map[string]string) *PluginConfig
NewPluginConfig creates a new plugin configuration.
func PluginConfigFromContext ¶
func PluginConfigFromContext(ctx context.Context) *PluginConfig
PluginConfigFromContext returns the plugin configuration from the context.
func (*PluginConfig) Get ¶
func (c *PluginConfig) Get(key string) string
Get returns the value for the given key on the config.
type PluginMaintainer ¶
type PluginMeta ¶
type PluginMeta struct {
ID string `json:"id" yaml:"id"`
Version string `json:"version" yaml:"version"`
Name string `json:"name" yaml:"name"`
Icon string `json:"icon" yaml:"icon"`
Description string `json:"description" yaml:"description"`
Repository string `json:"repository" yaml:"repository"`
Website string `json:"website" yaml:"website"`
Markdown string `json:"-" yaml:"-"`
Maintainers []PluginMaintainer `json:"maintainers" yaml:"maintainers"`
Tags []string `json:"tags" yaml:"tags"`
Dependencies []string `json:"dependencies" yaml:"dependencies"`
Capabilities []string `json:"capabilities" yaml:"capabilities"`
Theme PluginTheme `json:"theme" yaml:"theme"`
Components PluginComponents `json:"components" yaml:"components"`
}
PluginMeta is the plugin description file located at the root of a plugin.
func (*PluginMeta) GenerateHandshakeConfig ¶
func (c *PluginMeta) GenerateHandshakeConfig() plugin.HandshakeConfig
GenerateHandshakeConfig generates a handshake config for the plugin given the plugin config.
func (*PluginMeta) LoadMarkdown ¶
func (c *PluginMeta) LoadMarkdown(path string) error
LoadMarkdown loads a plugin Markdown file from a given path (if it exists) into the plugin config.
type PluginMetaFormat ¶
type PluginMetaFormat int
const ( // PluginMetaFormatYAML is the YAML format for a plugin config. PluginMetaFormatYAML PluginMetaFormat = iota // PluginMetaFormatJSON is the JSON format for a plugin config. PluginMetaFormatJSON )
type PluginResourceComponent ¶
type PluginResourceComponent struct {
Name string `json:"name" yaml:"name"`
Plugin string `json:"plugin" yaml:"plugin"`
Area PluginComponentArea `json:"area" yaml:"area"`
Resources []string `json:"resources" yaml:"resources"`
ExtensionPoint string `json:"extension" yaml:"extension"`
}