diff options
| -rw-r--r-- | internal/askcli/completion.go | 2 | ||||
| -rw-r--r-- | internal/askcli/completion_test.go | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/internal/askcli/completion.go b/internal/askcli/completion.go index 79dd923..b41aeb6 100644 --- a/internal/askcli/completion.go +++ b/internal/askcli/completion.go @@ -328,7 +328,7 @@ func writeFishAddDependencyModifierFunction(b *strings.Builder) { // Each item from __ask_task_selectors is "selector\tdescription"; extract // just the selector (before the tab) for matching and output purposes. b.WriteString(" for item in (__ask_task_selectors)\n") - b.WriteString(" set -l selector (string split -m1 '\\t' -- $item)[1]\n") + b.WriteString(" set -l selector (string split -m1 \"\t\" -- $item)[1]\n") b.WriteString(" if contains -- $selector $chosen\n") b.WriteString(" continue\n") b.WriteString(" end\n") diff --git a/internal/askcli/completion_test.go b/internal/askcli/completion_test.go index d3f08e5..015c7d5 100644 --- a/internal/askcli/completion_test.go +++ b/internal/askcli/completion_test.go @@ -38,12 +38,15 @@ func TestFishCompletion_IncludesCommandsAndExcludesExport(t *testing.T) { // The dep modifier function must extract just the selector (before the // tab) from each tab-separated "selector\tdescription" completion item. "for item in (__ask_task_selectors)", - "set -l selector (string split -m1 '\\t' -- $item)[1]", + "set -l selector (string split -m1 \"\t\" -- $item)[1]", } { if !strings.Contains(script, line) { t.Fatalf("script missing dep completion line %q", line) } } + if strings.Contains(script, "set -l selector (string split -m1 '\\t' -- $item)[1]") { + t.Fatalf("dep selector split must use a real tab delimiter, not literal \\\\t") + } if strings.Contains(script, "ask export") { t.Fatalf("script should not advertise non-existent export command") } |
