add basic plugin architecture

This commit is contained in:
2022-11-01 21:15:32 +01:00
parent e0e0290dcf
commit d484d44981
15 changed files with 150 additions and 28 deletions

View File

@@ -15,20 +15,23 @@ func NewLsCommand() *cobra.Command {
r, err := register.
NewPluginRegisterBuilder().
Add("gocli", "").
Add("gocli", "plugins/gocli/main.go").
Add("rust", "plugins/rust/main.go").
Build(ctx)
if err != nil {
return err
}
defer r.Close()
about, err := r.About(ctx)
if err != nil {
return err
}
for plugin, aboutText := range about {
fmt.Printf("plugin: %s\n", plugin)
fmt.Printf("\tabout: %s\n", aboutText)
for _, a := range about {
fmt.Printf("plugin: %s\n", a.Name)
fmt.Printf("\tversion: %s\n", a.Version)
fmt.Printf("\tabout: %s\n", a.About)
fmt.Println()
}