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