feat: add scripts/build.sh, test.sh, check.sh + gofmt + go mod tidy
This commit is contained in:
+14
-14
@@ -11,11 +11,11 @@ import (
|
||||
|
||||
// App is the main application struct exposed to the Wails frontend.
|
||||
type App struct {
|
||||
capRegistry *capability.Registry
|
||||
capRegistry *capability.Registry
|
||||
contribRegistry *contribution.Registry
|
||||
permRegistry *permissions.Registry
|
||||
eventBus *events.Bus
|
||||
plugins []plugin.Plugin
|
||||
permRegistry *permissions.Registry
|
||||
eventBus *events.Bus
|
||||
plugins []plugin.Plugin
|
||||
}
|
||||
|
||||
// NewApp creates a new App instance.
|
||||
@@ -27,11 +27,11 @@ func NewApp(
|
||||
plugins []plugin.Plugin,
|
||||
) *App {
|
||||
return &App{
|
||||
capRegistry: capReg,
|
||||
capRegistry: capReg,
|
||||
contribRegistry: contribReg,
|
||||
permRegistry: permReg,
|
||||
eventBus: bus,
|
||||
plugins: plugins,
|
||||
permRegistry: permReg,
|
||||
eventBus: bus,
|
||||
plugins: plugins,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,12 +60,12 @@ func (a *App) GetPermissions() []permissions.Entry {
|
||||
// GetContributions returns all registered contributions.
|
||||
func (a *App) GetContributions() ContributionSummary {
|
||||
return ContributionSummary{
|
||||
Views: a.contribRegistry.Views(),
|
||||
Commands: a.contribRegistry.Commands(),
|
||||
SettingsPanels: a.contribRegistry.SettingsPanels(),
|
||||
SidebarItems: a.contribRegistry.SidebarItems(),
|
||||
FileActions: a.contribRegistry.FileActions(),
|
||||
NoteActions: a.contribRegistry.NoteActions(),
|
||||
Views: a.contribRegistry.Views(),
|
||||
Commands: a.contribRegistry.Commands(),
|
||||
SettingsPanels: a.contribRegistry.SettingsPanels(),
|
||||
SidebarItems: a.contribRegistry.SidebarItems(),
|
||||
FileActions: a.contribRegistry.FileActions(),
|
||||
NoteActions: a.contribRegistry.NoteActions(),
|
||||
SearchProviders: a.contribRegistry.SearchProviders(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
// Registry tracks available capabilities and which plugins provide them.
|
||||
type Registry struct {
|
||||
mu sync.RWMutex
|
||||
mu sync.RWMutex
|
||||
capabilities map[string]*Entry // capability name -> entry
|
||||
}
|
||||
|
||||
|
||||
@@ -12,60 +12,60 @@ import (
|
||||
type Registry struct {
|
||||
mu sync.RWMutex
|
||||
|
||||
views []ContributionView
|
||||
commands []ContributionCommand
|
||||
settingsPanels []ContributionSettingsPanel
|
||||
sidebarItems []ContributionSidebarItem
|
||||
fileActions []ContributionAction
|
||||
noteActions []ContributionAction
|
||||
contextMenus []ContributionContextMenuEntry
|
||||
searchProviders []ContributionSearchProvider
|
||||
views []ContributionView
|
||||
commands []ContributionCommand
|
||||
settingsPanels []ContributionSettingsPanel
|
||||
sidebarItems []ContributionSidebarItem
|
||||
fileActions []ContributionAction
|
||||
noteActions []ContributionAction
|
||||
contextMenus []ContributionContextMenuEntry
|
||||
searchProviders []ContributionSearchProvider
|
||||
activityProviders []ContributionActivityProvider
|
||||
statusBarItems []ContributionStatusBarItem
|
||||
statusBarItems []ContributionStatusBarItem
|
||||
}
|
||||
|
||||
type ContributionView struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionView `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionCommand struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionCommand `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionSettingsPanel struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionSettingsPanel `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionSidebarItem struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionSidebarItem `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionAction struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionAction `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionContextMenuEntry struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionContextMenuEntry `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionSearchProvider struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionSearchProvider `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionActivityProvider struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionActivityProvider `json:"item"`
|
||||
}
|
||||
|
||||
type ContributionStatusBarItem struct {
|
||||
PluginID string `json:"pluginId"`
|
||||
PluginID string `json:"pluginId"`
|
||||
Item plugin.ContributionStatusBarItem `json:"item"`
|
||||
}
|
||||
|
||||
|
||||
@@ -11,23 +11,23 @@ import (
|
||||
|
||||
// Manifest represents a Verstak plugin.json manifest.
|
||||
type Manifest struct {
|
||||
SchemaVersion int `json:"schemaVersion"`
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Version string `json:"version"`
|
||||
APIVersion string `json:"apiVersion"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Icon string `json:"icon,omitempty"`
|
||||
Provides []string `json:"provides"`
|
||||
Requires []string `json:"requires,omitempty"`
|
||||
OptionalRequires []string `json:"optionalRequires,omitempty"`
|
||||
Permissions []string `json:"permissions"`
|
||||
Frontend *FrontendConfig `json:"frontend,omitempty"`
|
||||
Backend *BackendConfig `json:"backend,omitempty"`
|
||||
Migrations *MigrationConfig `json:"migrations,omitempty"`
|
||||
Contributes *Contributions `json:"contributes,omitempty"`
|
||||
Sync *SyncConfig `json:"sync,omitempty"`
|
||||
SchemaVersion int `json:"schemaVersion"`
|
||||
ID string `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Version string `json:"version"`
|
||||
APIVersion string `json:"apiVersion"`
|
||||
Description string `json:"description,omitempty"`
|
||||
Source string `json:"source,omitempty"`
|
||||
Icon string `json:"icon,omitempty"`
|
||||
Provides []string `json:"provides"`
|
||||
Requires []string `json:"requires,omitempty"`
|
||||
OptionalRequires []string `json:"optionalRequires,omitempty"`
|
||||
Permissions []string `json:"permissions"`
|
||||
Frontend *FrontendConfig `json:"frontend,omitempty"`
|
||||
Backend *BackendConfig `json:"backend,omitempty"`
|
||||
Migrations *MigrationConfig `json:"migrations,omitempty"`
|
||||
Contributes *Contributions `json:"contributes,omitempty"`
|
||||
Sync *SyncConfig `json:"sync,omitempty"`
|
||||
}
|
||||
|
||||
// FrontendConfig describes the plugin's frontend bundle.
|
||||
@@ -38,8 +38,8 @@ type FrontendConfig struct {
|
||||
|
||||
// BackendConfig describes the plugin's backend sidecar.
|
||||
type BackendConfig struct {
|
||||
Type string `json:"type"`
|
||||
Entry map[string]string `json:"entry"`
|
||||
Type string `json:"type"`
|
||||
Entry map[string]string `json:"entry"`
|
||||
HealthCheck *HealthCheckConfig `json:"healthCheck,omitempty"`
|
||||
}
|
||||
|
||||
@@ -56,16 +56,16 @@ type MigrationConfig struct {
|
||||
|
||||
// Contributions describes UI and action contributions.
|
||||
type Contributions struct {
|
||||
Views []ContributionView `json:"views,omitempty"`
|
||||
Commands []ContributionCommand `json:"commands,omitempty"`
|
||||
SettingsPanels []ContributionSettingsPanel `json:"settingsPanels,omitempty"`
|
||||
SidebarItems []ContributionSidebarItem `json:"sidebarItems,omitempty"`
|
||||
FileActions []ContributionAction `json:"fileActions,omitempty"`
|
||||
NoteActions []ContributionAction `json:"noteActions,omitempty"`
|
||||
Views []ContributionView `json:"views,omitempty"`
|
||||
Commands []ContributionCommand `json:"commands,omitempty"`
|
||||
SettingsPanels []ContributionSettingsPanel `json:"settingsPanels,omitempty"`
|
||||
SidebarItems []ContributionSidebarItem `json:"sidebarItems,omitempty"`
|
||||
FileActions []ContributionAction `json:"fileActions,omitempty"`
|
||||
NoteActions []ContributionAction `json:"noteActions,omitempty"`
|
||||
ContextMenuEntries []ContributionContextMenuEntry `json:"contextMenuEntries,omitempty"`
|
||||
SearchProviders []ContributionSearchProvider `json:"searchProviders,omitempty"`
|
||||
ActivityProviders []ContributionActivityProvider `json:"activityProviders,omitempty"`
|
||||
StatusBarItems []ContributionStatusBarItem `json:"statusBarItems,omitempty"`
|
||||
SearchProviders []ContributionSearchProvider `json:"searchProviders,omitempty"`
|
||||
ActivityProviders []ContributionActivityProvider `json:"activityProviders,omitempty"`
|
||||
StatusBarItems []ContributionStatusBarItem `json:"statusBarItems,omitempty"`
|
||||
}
|
||||
|
||||
// ContributionView represents a view contribution.
|
||||
@@ -153,13 +153,13 @@ type SyncConfig struct {
|
||||
type Status string
|
||||
|
||||
const (
|
||||
StatusDiscovered Status = "discovered"
|
||||
StatusDisabled Status = "disabled"
|
||||
StatusLoading Status = "loading"
|
||||
StatusLoaded Status = "loaded"
|
||||
StatusDegraded Status = "degraded"
|
||||
StatusFailed Status = "failed"
|
||||
StatusIncompatible Status = "incompatible"
|
||||
StatusDiscovered Status = "discovered"
|
||||
StatusDisabled Status = "disabled"
|
||||
StatusLoading Status = "loading"
|
||||
StatusLoaded Status = "loaded"
|
||||
StatusDegraded Status = "degraded"
|
||||
StatusFailed Status = "failed"
|
||||
StatusIncompatible Status = "incompatible"
|
||||
StatusMissingRequiredCapability Status = "missing-required-capability"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user