summaryrefslogtreecommitdiff
path: root/plugin.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.go')
-rw-r--r--plugin.go19
1 files changed, 4 insertions, 15 deletions
diff --git a/plugin.go b/plugin.go
index e99f943..2c0e778 100644
--- a/plugin.go
+++ b/plugin.go
@@ -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 {