home-config/fish/functions/__zoxide_z_complete.fish
a8b7e972ead8df887f06537ccc017fe556f43fd3
· 718 B · 15 lines
raw
| 1 | function __zoxide_z_complete |
| 2 | set --local tokens (commandline --current-process --tokenize) |
| 3 | set --local curr_tokens (commandline --cut-at-cursor --current-process --tokenize) |
| 4 | |
| 5 | if test (count $tokens) -le 2 -a (count $curr_tokens) -eq 1 |
| 6 | # If there are < 2 arguments, use `cd` completions. |
| 7 | __fish_complete_directories "$tokens[2]" '' |
| 8 | else if test (count $tokens) -eq (count $curr_tokens) |
| 9 | # If the last argument is empty, use interactive selection. |
| 10 | set --local query $tokens[2..-1] |
| 11 | set --local result (zoxide query --interactive -- $query) |
| 12 | commandline --current-process "$tokens[1] "(string escape $result) |
| 13 | commandline --function repaint |
| 14 | end |
| 15 | end |