11package cli
22
33import (
4+ "fmt"
45 "github.com/kf5i/k3ai-core/internal/plugins"
56 "github.com/spf13/cobra"
67)
@@ -13,27 +14,50 @@ func newListCommand() *cobra.Command {
1314 RunE : func (cmd * cobra.Command , args []string ) error {
1415 group , _ := cmd .Flags ().GetBool (plugins .GroupType )
1516 if group {
16- var grs plugins.Groups
17- err := grs .List (repo + plugins .GroupsDir )
17+
18+ var cache plugins.Cache
19+ err := cache .Encode (repo , "cache_groups.yaml" )
1820 if err != nil {
19- return err
21+ fmt .Printf ("Can't load cache:%s will use remote\n " , err )
22+ var grs plugins.Groups
23+ err := grs .List (repo + plugins .GroupsDir )
24+ if err != nil {
25+ return err
26+ }
27+ PrintFormat ("Name" , "Description" )
28+ for _ , p := range grs .Items {
29+ PrintFormat (p .GroupName , p .GroupDescription )
30+ }
31+ return nil
2032 }
2133 PrintFormat ("Name" , "Description" )
22- for _ , p := range grs .Items {
23- PrintFormat (p .GroupName , p .GroupDescription )
34+ for _ , p := range cache .Items {
35+ PrintFormat (p .Name , p .Description )
2436 }
2537
2638 return nil
2739 }
28- var pls plugins.Plugins
29- err := pls .List (repo + plugins .PluginDir )
40+
41+ var cache plugins.Cache
42+ err := cache .Encode (repo , "cache_plugins.yaml" )
3043 if err != nil {
31- return err
32- }
44+ fmt .Printf ("Can't load cache:%s will use remote\n " , err )
45+
46+ var pls plugins.Plugins
47+ err = pls .List (repo + plugins .PluginDir )
48+ if err != nil {
49+ return err
50+ }
3351
52+ PrintFormat ("Name" , "Description" )
53+ for _ , p := range pls .Items {
54+ PrintFormat (p .PluginName , p .PluginDescription )
55+ }
56+ return nil
57+ }
3458 PrintFormat ("Name" , "Description" )
35- for _ , p := range pls .Items {
36- PrintFormat (p .PluginName , p .PluginDescription )
59+ for _ , p := range cache .Items {
60+ PrintFormat (p .Name , p .Description )
3761 }
3862
3963 return nil
0 commit comments