Documentation
¶
Index ¶
- func WithGlobalConfig(ctx context.Context, config *GlobalConfig) context.Context
- func WithPluginConfig(ctx context.Context, config *PluginConfig) context.Context
- type GlobalConfig
- type PluginAuthor
- type PluginComponentArea
- type PluginComponents
- type PluginConfig
- type PluginMaintainer
- type PluginMeta
- type PluginMetaFormat
- type PluginResourceComponent
- type PluginTheme
- type PluginThemeColors
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 PluginAuthor ¶
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"`
IconURL string `json:"icon_url" yaml:"icon_url,omitempty"`
Description string `json:"description" yaml:"description"`
Repository string `json:"repository" yaml:"repository"`
Website string `json:"website" yaml:"website"`
Category string `json:"category" yaml:"category,omitempty"`
License string `json:"license" yaml:"license,omitempty"`
Markdown string `json:"-" yaml:"-"`
Author *PluginAuthor `json:"author,omitempty" yaml:"author,omitempty"`
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"`
SchemaVersion int `json:"schema_version" yaml:"schema_version,omitempty"`
SDKProtocolVersion int `json:"sdk_protocol_version" yaml:"sdk_protocol_version,omitempty"`
}
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. The magic cookie value uses only the plugin ID (not version) so that version bumps don't force binary rebuilds just for the handshake. Version negotiation is handled by the PluginLifecycle.GetInfo() RPC.
func (*PluginMeta) HasBackendCapabilities ¶
func (m *PluginMeta) HasBackendCapabilities() bool
HasBackendCapabilities checks if the plugin has any backend capabilities.
func (*PluginMeta) HasUICapabilities ¶
func (m *PluginMeta) HasUICapabilities() bool
HasUICapabilities checks if the plugin has UI capabilities.
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"`
}
type PluginTheme ¶
type PluginTheme struct {
Colors PluginThemeColors `json:"colors" yaml:"colors"`
}