github.com/drellem2/pogo@v0.0.0-20240503070746-2c2b76da329a/internal/driver/builtin.go (about) 1 //////////////////////////////////////////////////////////////////////////////// 2 //////////////////////////// Built-in plugins ////////////////////////////////// 3 //////////////////////////////////////////////////////////////////////////////// 4 5 package driver 6 7 import ( 8 searchPlugin "github.com/drellem2/pogo/internal/plugins/search" 9 pogoPlugin "github.com/drellem2/pogo/pkg/plugin" 10 ) 11 12 type BuiltinFactory func() (pogoPlugin.IPogoPlugin, error) 13 14 var builtinPlugins = map[string]BuiltinFactory{ 15 "pogo-plugin-search": searchPlugin.New(), 16 } 17 18 var builtinRegistry = newRegistry() 19 20 func newRegistry() map[string]*pogoPlugin.IPogoPlugin { 21 registry := map[string]*pogoPlugin.IPogoPlugin{} 22 for name, factory := range builtinPlugins { 23 p, err := factory() 24 if err != nil { 25 logger.Error("Could not start plugin", "name", name, "err", err.Error()) 26 } else { 27 registry[name] = &p 28 } 29 } 30 return registry 31 }