mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-13 23:12:45 +08:00
completions/git: Handle huge repositories for "add" better
`git add` may have to go through literal megabytes of file information because of tons of untracked files. So, if the repository is set to not show untracked files (because it's too slow for the prompt), let's fall back on regular file completions. (the alternative is to go back to `while read`, but that takes much longer in repositories of a sensible size) Fixes #11095
This commit is contained in:
parent
c651a79cb6
commit
2b2f824b94
|
@ -1135,8 +1135,10 @@ complete -c git -n '__fish_git_using_command add' -l ignore-errors -d 'Ignore er
|
|||
complete -c git -n '__fish_git_using_command add' -l ignore-missing -d 'Check if any of the given files would be ignored'
|
||||
# Renames also show up as untracked + deleted, and to get git to show it as a rename _both_ need to be added.
|
||||
# However, we can't do that as it is two tokens, so we don't need renamed here.
|
||||
complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modified untracked deleted unmerged modified-staged-deleted)'
|
||||
# TODO options
|
||||
complete -f -c git -n '__fish_git_using_command add; and test "$(git config --get bash.showUntrackedFiles)" != 0' -a '(__fish_git_files modified untracked deleted unmerged modified-staged-deleted)'
|
||||
# If we have so many files that you disable untrackedfiles, let's add file completions,
|
||||
# to avoid slurping megabytes of git output.
|
||||
complete -F -c git -n '__fish_git_using_command add; and test "$(git config --get bash.showUntrackedFiles)" = 0' -a '(__fish_git_files modified deleted unmerged modified-staged-deleted)'
|
||||
|
||||
### am
|
||||
complete -c git -n __fish_git_needs_command -a am -d 'Apply patches from a mailbox'
|
||||
|
|
Loading…
Reference in New Issue
Block a user