fix(completion): handle colons in task descriptions for fish #2573
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
fixes #2101
Fix Fish shell completion breaking when task descriptions contain colons followed by text (e.g., shiny::runApp() or URLs like https://example.com).
Before: Tab completion showed garbled output like task run:\ \ \ \ \ \ \ Run\ the\ app\ with\ shiny:
After: Completion works correctly, preserving the full description.
Root Cause
The sed pattern in completion/fish/task.fish used :\s* (colon + zero or more spaces), causing the greedy .* to match up to the last colon followed by spaces rather than the task name delimiter.
Fix
Changed :\s* to :\s{2,} (colon + 2 or more spaces). This works because:
Test Cases