summaryrefslogtreecommitdiff
path: root/model/target.go
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-04-14 16:37:17 +0200
committerewy <ewy0@protonmail.com>2026-04-14 16:37:17 +0200
commit45a297a8e526094e8fce6e2c5c0fd89b381d1765 (patch)
tree852ebc3a0112c94dc9726d0b27ab057bf6383660 /model/target.go
i have to commit at some point!
Diffstat (limited to 'model/target.go')
-rw-r--r--model/target.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/model/target.go b/model/target.go
new file mode 100644
index 0000000..5be97ed
--- /dev/null
+++ b/model/target.go
@@ -0,0 +1,23 @@
+package model
+
+import (
+ "os/exec"
+)
+
+type Target interface {
+ Matches
+ Create(s *Source) *exec.Cmd
+ Sub() []string
+ Label() string
+ Hydrate(src *Source) (HydratedTarget, error)
+ Tags() Tags
+ ShortestId() string
+ Visible() bool
+}
+
+type HydratedTarget interface {
+ Target
+ Icon() string
+ Description() string
+ Target() Target
+}