diff options
Diffstat (limited to 'plugin.go')
| -rw-r--r-- | plugin.go | 19 |
1 files changed, 4 insertions, 15 deletions
@@ -7,6 +7,7 @@ package gui import ( "embed" + "errors" "os" "plugin" @@ -279,23 +280,11 @@ func (n *Node) ListToolkits() { } } -func (n *Node) LoadToolkit(name string) *Node { +func (n *Node) LoadToolkit(name string) (*Node, error) { log.Log(PLUG, "LoadToolkit() START for name =", name) plug := initPlugin(name) if plug == nil { - log.Log(WARN, "LoadToolkit() FAILED name =", name) - log.Log(WARN, "") - log.Log(WARN, "### Error ####") - log.Log(WARN, "The GUI golang plugins did not load.") - log.Log(WARN, "You will have to rebuild them") - log.Log(WARN, "go-clone go.wit.com/toolkits/<pick one>/") - log.Log(WARN, "TODO: try to rebuild them here") - log.Log(WARN, "TODO: fall back to STDIN interface") - log.Log(WARN, "### Error ####") - log.Log(WARN, "") - log.Log(WARN, "") - log.Sleep(7) - return n + return n, errors.New("initPlugin(" + name + ") failed") } plug.dead = false @@ -308,7 +297,7 @@ func (n *Node) LoadToolkit(name string) *Node { // TODO: find a new way to do this that is locking, safe and accurate me.rootNode.redraw(plug) log.Log(PLUG, "LoadToolkit() END for name =", name) - return n + return n, nil } func (n *Node) CloseToolkit(name string) bool { |
