summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go15
1 files changed, 14 insertions, 1 deletions
diff --git a/main.go b/main.go
index 4e94ee0..7de29e8 100644
--- a/main.go
+++ b/main.go
@@ -14,6 +14,7 @@ import (
"github.com/ewy1/pik/run"
"github.com/ewy1/pik/runner/exc"
"github.com/ewy1/pik/runner/gnumake"
+ "github.com/ewy1/pik/runner/js"
"github.com/ewy1/pik/runner/just"
"github.com/ewy1/pik/runner/python"
"github.com/ewy1/pik/runner/shell"
@@ -36,6 +37,7 @@ var initializers = ComponentList[model.Initializer]{
pikdex.Indexer,
python.Python,
git.Git,
+ js.Js,
}
// indexers are methods which scan a directory and return a number of targets.
@@ -43,6 +45,7 @@ var indexers = ComponentList[model.Indexer]{
pikdex.Indexer,
just.Indexer,
gnumake.Indexer,
+ js.Js,
}
// runners are modules which know how to turn a file into an exec.Cmd
@@ -51,6 +54,7 @@ var runners = ComponentList[model.Runner]{
shell.Runner,
python.Python,
exc.Exc,
+ js.Js,
}
// hydrators are ran when the menu is required
@@ -131,13 +135,16 @@ func main() {
args := pflag.Args()
var result *search.Result
+ cancelled := false
if len(args) == 0 {
- source, target, err := menu.Show(st, hydrators)
+ md, err := menu.Show(st, hydrators)
if err != nil {
_, _ = spool.Warn("%v\n", err)
os.Exit(1)
}
+ cancelled = md.Cancel
+ source, target := md.Result()
if target != nil {
t := target.Target()
result = &search.Result{
@@ -166,6 +173,12 @@ func main() {
return
}
+ if cancelled {
+ _, _ = spool.Warn("no target selected\n")
+ os.Exit(0)
+ return
+ }
+
if result.Target == nil {
_, _ = spool.Warn("target not found\n")
os.Exit(1)