__fzf_find_file.fish 927 B

1234567891011121314151617181920212223242526272829
  1. function __fzf_find_file -d "List files and folders"
  2. set -l commandline (__fzf_parse_commandline)
  3. set -l dir $commandline[1]
  4. set -l fzf_query $commandline[2]
  5. set -q FZF_FIND_FILE_COMMAND
  6. or set -l FZF_FIND_FILE_COMMAND "
  7. command find -L \$dir -mindepth 1 \\( -path \$dir'*/\\.*' -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' \\) -prune \
  8. -o -type f -print \
  9. -o -type d -print \
  10. -o -type l -print 2> /dev/null | sed 's@^\./@@'"
  11. begin
  12. eval "$FZF_FIND_FILE_COMMAND | "(__fzfcmd) "-m $FZF_DEFAULT_OPTS $FZF_FIND_FILE_OPTS --query \"$fzf_query\"" | while read -l s; set results $results $s; end
  13. end
  14. if test -z "$results"
  15. commandline -f repaint
  16. return
  17. else
  18. commandline -t ""
  19. end
  20. for result in $results
  21. commandline -it -- (string escape $result)
  22. commandline -it -- " "
  23. end
  24. commandline -f repaint
  25. end