From 1e8cedca4d03829fadd532e9c5980dbb0eeab4bb Mon Sep 17 00:00:00 2001 From: ewy Date: Wed, 22 Apr 2026 22:06:24 +0200 Subject: docs --- model/target.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'model/target.go') diff --git a/model/target.go b/model/target.go index b503381..683ab8f 100644 --- a/model/target.go +++ b/model/target.go @@ -4,21 +4,31 @@ import ( "os/exec" ) +// Target is something we want to run type Target interface { Matches + // Create creates the exec.Cmd from itself. The model.Source this target is in is also available. Create(s *Source) *exec.Cmd Sub() []string + // Label will be used for its label in the menu Label() string Hydrate(src *Source) (HydratedTarget, error) Tags() Tags + // ShortestId returns a short version of its identity ShortestId() string + // Visible should return whether this target can be seen in the menu Visible() bool + // Invocation should return the "canonical invocation": simple to remember Invocation(src *Source) []string } +// HydratedTarget is something we want to show in the menu type HydratedTarget interface { Target + // Icon is some text which will be used as an icon Icon() string + // Description is a one-line description of what this does Description() string + // Target returns our inner target Target() Target } -- cgit v1.3.1