From bc9952a1274b8bf379f5694480c61cf304db2619 Mon Sep 17 00:00:00 2001 From: Valentin Maerten Date: Fri, 12 Dec 2025 23:36:50 +0100 Subject: [PATCH 1/2] fix(completion): handle colons in task descriptions for fish Change sed pattern from `:\s*` to `:\s{2,}` to require 2+ spaces after the colon delimiter. This prevents greedy matching through colons in descriptions like `shiny::runApp()` or `https://example.com`. The `task --list-all` output uses multiple spaces for column alignment, while descriptions use single spaces after colons. --- completion/fish/task.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/completion/fish/task.fish b/completion/fish/task.fish index b2b9b045cb..325be7210a 100644 --- a/completion/fish/task.fish +++ b/completion/fish/task.fish @@ -54,7 +54,7 @@ function __task_get_tasks --description "Prints all available tasks with their d end # Grab names and descriptions (if any) of the tasks - set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(\(aliases.*\))/\1\t\2\t\3/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0) + set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s\{2,\}\(.*\)\s\{2,\}(\(aliases.*\))/\1\t\2\t\3/' -e 's/\* \(.*\):\s\{2,\}\(.*\)/\1\t\2/'| string split0) if test $output echo $output end From 2986861d5bb20c01b61f1c38583f344a86c7d67e Mon Sep 17 00:00:00 2001 From: Valentin Maerten Date: Sun, 14 Dec 2025 15:54:16 +0100 Subject: [PATCH 2/2] changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5ced98c49..aaf2655dcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -44,6 +44,8 @@ another task (#2552, #363 by @trulede). - Fixed Zsh completion not suggesting global tasks when using `-g`/`--global` flag (#1574, #2574 by @vmaerten). +- Fixed Fish completion failing to parse task descriptions containing colons + (e.g., URLs or namespaced functions) (#2101, #2573 by @vmaerten). ## v3.45.5 - 2025-11-11