summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-04-14 19:23:00 +0200
committerewy <ewy0@protonmail.com>2026-04-14 19:23:00 +0200
commit50d7be8d947b71e4dba181314fcf3392100d0080 (patch)
treed8106c362486bbd194c79e9fe2e2075e4eb6029d
parent4fd3756396bcdb6ecad4b2a836c68349e797004d (diff)
cleanup
-rw-r--r--.pik/install.sh14
-rw-r--r--.pik/subdir/loc.here.sh2
-rw-r--r--.pik/subdir/nested/subtest.sh2
-rw-r--r--.pik/subdir/subtrigger.pre.sh2
-rw-r--r--.pik/trigger.pre.sh2
-rw-r--r--main.go4
-rw-r--r--menu/model.go5
-rw-r--r--menu/target.go2
-rw-r--r--testx/create.go2
9 files changed, 26 insertions, 9 deletions
diff --git a/.pik/install.sh b/.pik/install.sh
new file mode 100644
index 0000000..117fcc6
--- /dev/null
+++ b/.pik/install.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# install pik to ~/.local/bin
+set -euo pipefail
+DEST_FOLDER="$HOME/.local/bin"
+if [ ! -d "$DEST_FOLDER" ] ; then
+ echo "I only know how to install to ~/.local/bin, sorry!"
+fi
+DEST="$DEST_FOLDER/pik"
+if [ -f "$DEST" ] ; then
+ rm "$DEST"
+fi
+
+go build -o "$DEST" "$@" .
+echo "congratulations!" \ No newline at end of file
diff --git a/.pik/subdir/loc.here.sh b/.pik/subdir/loc.here.sh
deleted file mode 100644
index 379cc75..0000000
--- a/.pik/subdir/loc.here.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-echo "$PWD" \ No newline at end of file
diff --git a/.pik/subdir/nested/subtest.sh b/.pik/subdir/nested/subtest.sh
deleted file mode 100644
index a18a426..0000000
--- a/.pik/subdir/nested/subtest.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-echo "Deepest test"
diff --git a/.pik/subdir/subtrigger.pre.sh b/.pik/subdir/subtrigger.pre.sh
deleted file mode 100644
index 2638038..0000000
--- a/.pik/subdir/subtrigger.pre.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-echo "Subtrigger"
diff --git a/.pik/trigger.pre.sh b/.pik/trigger.pre.sh
deleted file mode 100644
index 39d4cc8..0000000
--- a/.pik/trigger.pre.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env bash
-echo "Yep! I exist!" \ No newline at end of file
diff --git a/main.go b/main.go
index cc8275e..ce8ea95 100644
--- a/main.go
+++ b/main.go
@@ -88,6 +88,10 @@ func main() {
spool.Warn("%v\n", err)
os.Exit(1)
}
+ if target == nil {
+ spool.Warn("no target selected.\n")
+ os.Exit(0)
+ }
err = run.Run(source.Source, target, args...)
if err != nil {
spool.Warn("%v\n", err)
diff --git a/menu/model.go b/menu/model.go
index ceeb861..9d8fa82 100644
--- a/menu/model.go
+++ b/menu/model.go
@@ -11,6 +11,7 @@ type Model struct {
Index int
Indices map[int]model.HydratedTarget
SourceIndices map[int]*model.HydratedSource
+ Quit bool
}
func (m *Model) Init() tea.Cmd {
@@ -40,6 +41,7 @@ func (m *Model) HandleInput(msg tea.KeyMsg) (tea.Cmd, error) {
case "down", "j":
m.Index++
case "q", "esc":
+ m.Quit = true
cmd = tea.Quit
case "space", " ", "enter":
cmd = tea.Quit
@@ -59,6 +61,9 @@ func (m *Model) View() string {
}
func (m *Model) Result() (*model.HydratedSource, model.HydratedTarget) {
+ if m.Quit {
+ return nil, nil
+ }
return m.SourceIndices[m.Index], m.Indices[m.Index]
}
diff --git a/menu/target.go b/menu/target.go
index b17ed68..3323430 100644
--- a/menu/target.go
+++ b/menu/target.go
@@ -42,7 +42,7 @@ func (m *Model) Target(t model.HydratedTarget) string {
selectionStyle := TargetStyle
selectionDescriptionStyle := TargetDescriptionStyle
_, sel := m.Result()
- if sel.Target() == t.Target() {
+ if sel != nil && sel.Target() == t.Target() {
selectionStyle = SelectedTargetStyle
selectionDescriptionStyle = SelectedTargetDescriptionStyle
}
diff --git a/testx/create.go b/testx/create.go
index 7153e54..306e50a 100644
--- a/testx/create.go
+++ b/testx/create.go
@@ -7,6 +7,7 @@ import (
"os/exec"
"pik/identity"
"pik/model"
+ "pik/runner"
"testing"
)
@@ -31,6 +32,7 @@ func TState(sources ...*model.Source) *model.State {
}
type TestTarget struct {
+ runner.BaseTarget
Identifier string
SubValue []string
Tags model.Tags