summaryrefslogtreecommitdiff
path: root/runner/gnumake/target.go
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-04-14 19:53:08 +0200
committerewy <ewy0@protonmail.com>2026-04-14 19:53:08 +0200
commit4ef16c5b359058159e646d979c15f4d535f1a21a (patch)
tree521f2fac3cfff1fba9c1f24ada6d1e5788ed6bf4 /runner/gnumake/target.go
parent1c96b29760b6d1f4af281d29274cf674a5573ada (diff)
add make indexer
Diffstat (limited to 'runner/gnumake/target.go')
-rw-r--r--runner/gnumake/target.go43
1 files changed, 43 insertions, 0 deletions
diff --git a/runner/gnumake/target.go b/runner/gnumake/target.go
new file mode 100644
index 0000000..7cc2d19
--- /dev/null
+++ b/runner/gnumake/target.go
@@ -0,0 +1,43 @@
+package gnumake
+
+import (
+ "os/exec"
+ "pik/model"
+ "pik/runner"
+)
+
+type MakeTarget struct {
+ runner.BaseTarget
+ Name string
+ Description string
+}
+
+func (j *MakeTarget) Create(s *model.Source) *exec.Cmd {
+ return exec.Command(Indexer.path, j.Identity.Full)
+}
+
+var makeSub = []string{
+ "make",
+}
+
+func (j *MakeTarget) Sub() []string {
+ return makeSub
+}
+
+func (j *MakeTarget) Label() string {
+ return j.Identity.Full
+}
+
+func (j *MakeTarget) Hydrate(src *model.Source) (model.HydratedTarget, error) {
+ return &HydratedJustTarget{
+ BaseHydration: runner.Hydrated(j),
+ }, nil
+}
+
+type HydratedJustTarget struct {
+ runner.BaseHydration[*MakeTarget]
+}
+
+func (h *HydratedJustTarget) Icon() string {
+ return "\uE673"
+}