feat: use better nushell fish completion path parser

This commit is contained in:
Youwen Wu 2025-04-18 19:31:13 -07:00
parent 775fc350f7
commit 1599dbe329
Signed by: youwen
GPG key ID: 865658ED1FE61EC3

View file

@ -1,13 +1,12 @@
let fish_completer = {|spans| let fish_completer = {|spans|
fish --command $'complete --escape "--do-complete=($spans | str join " ")"' fish --command $"complete '--do-complete=($spans | str join ' ')'"
| $"value(char tab)description(char newline)" + $in | from tsv --flexible --noheaders --no-infer
| from tsv --flexible --no-infer | rename value description
| each {|i| | update value {
if '\' in $i.value { if ($in | path exists) {$'"($in | str replace "\"" "\\\"" )"'} else {$in}
$i | merge {'value': $"\"($i.value | str replace -a '\' '')\""}
} else {$i}
} }
} }
# This completer will use fish by default # This completer will use fish by default
let external_completer = {|spans| let external_completer = {|spans|
let expanded_alias = scope aliases let expanded_alias = scope aliases