diff options
Diffstat (limited to 'runner/gnumake/target.go')
| -rw-r--r-- | runner/gnumake/target.go | 43 |
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" +} |
