completions/git: complete normal files on "git checkout -- "

This can give false positives but only if used on directories that
mix tracked and untracked files. The performance is better than
listing all tracked files, and in any case we're pretty far from a
correct solution that knows the target Git commit, so this seems like
good compromise.
This commit is contained in:
Johannes Altmanninger 2021-06-15 03:16:59 +02:00
parent 2bc8057780
commit 585dc16a66

View File

@ -969,6 +969,7 @@ complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modif
# TODO options
### checkout
complete -F -c git -n '__fish_git_using_command checkout; and contains -- -- (commandline -opc)'
complete -f -c git -n __fish_git_needs_command -a checkout -d 'Checkout and switch to a branch'
complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_tags)' -d Tag
complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_heads)' -d Head