From b8e7b6bcb07f61af50505de2c7eec74c12d732dc Mon Sep 17 00:00:00 2001 From: Luca Weiss Date: Tue, 29 Jun 2021 11:48:45 +0200 Subject: [PATCH] completions/git: suggest modified-staged-deleted files Add those files to the completion of 'add', 'checkout', 'diff', 'difftool', 'restore' and 'stash push'. --- share/completions/git.fish | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index c364794e1..f33464011 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -965,7 +965,7 @@ 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)' +complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modified untracked deleted unmerged modified-staged-deleted)' # TODO options ### checkout @@ -976,7 +976,7 @@ complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_branches)' complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_unique_remote_branches)' -d 'Unique Remote Branch' complete -k -f -c git -n '__fish_git_using_command checkout; and not contains -- -- (commandline -opc)' -a '(__fish_git_recent_commits --all)' -complete -k -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_files modified deleted)' +complete -k -f -c git -n '__fish_git_using_command checkout' -a '(__fish_git_files modified deleted modified-staged-deleted)' complete -f -c git -n '__fish_git_using_command checkout' -s b -d 'Create a new branch' complete -f -c git -n '__fish_git_using_command checkout' -s t -l track -d 'Track a new branch' complete -f -c git -n '__fish_git_using_command checkout' -l theirs -d 'Keep staged changes' @@ -1104,7 +1104,7 @@ complete -c git -n '__fish_git_using_command diff' -s 1 -l base -d 'Compare the complete -c git -n '__fish_git_using_command diff' -s 2 -l ours -d 'Compare the working tree with the "our branch"' complete -c git -n '__fish_git_using_command diff' -s 3 -l theirs -d 'Compare the working tree with the "their branch"' complete -c git -n '__fish_git_using_command diff' -s 0 -d 'Omit diff output for unmerged entries and just show "Unmerged"' -complete -c git -n '__fish_git_using_command diff; and not __fish_contains_opt cached staged' -a '(__fish_git_files modified deleted)' +complete -c git -n '__fish_git_using_command diff; and not __fish_contains_opt cached staged' -a '(__fish_git_files modified deleted modified-staged-deleted)' complete -c git -n '__fish_git_using_command diff; and __fish_contains_opt cached staged' -fa '(__fish_git_files all-staged)' ### Function to list available tools for git difftool and mergetool @@ -1121,7 +1121,7 @@ end complete -c git -n __fish_git_needs_command -a difftool -d 'Open diffs in a visual tool' complete -c git -n '__fish_git_using_command difftool' -k -a '(__fish_git_ranges)' complete -c git -n '__fish_git_using_command difftool' -l cached -d 'Visually show diff of changes in the index' -complete -f -c git -n '__fish_git_using_command difftool' -a '(__fish_git_files modified deleted)' +complete -f -c git -n '__fish_git_using_command difftool' -a '(__fish_git_files modified deleted modified-staged-deleted)' complete -f -c git -n '__fish_git_using_command difftool' -s g -l gui -d 'Use `diff.guitool` instead of `diff.tool`' complete -f -c git -n '__fish_git_using_command difftool' -s d -l dir-diff -d 'Perform a full-directory diff' complete -c git -n '__fish_git_using_command difftool' -l prompt -d 'Prompt before each invocation of the diff tool' @@ -1573,7 +1573,7 @@ complete -f -c git -n '__fish_git_using_command restore' -l ignore-unmerged -d ' complete -f -c git -n '__fish_git_using_command restore' -l ignore-skip-worktree-bits -d 'Ignore the sparse-checkout file and unconditionally restore any files in ' complete -f -c git -n '__fish_git_using_command restore' -l overlay -d 'Never remove files when restoring' complete -f -c git -n '__fish_git_using_command restore' -l no-overlay -d 'Remove files when restoring (default)' -complete -f -c git -n '__fish_git_using_command restore; and not contains -- --staged (commandline -opc)' -a '(__fish_git_files modified deleted unmerged)' +complete -f -c git -n '__fish_git_using_command restore; and not contains -- --staged (commandline -opc)' -a '(__fish_git_files modified deleted modified-staged-deleted unmerged)' complete -f -c git -n '__fish_git_using_command restore; and contains -- --staged (commandline -opc)' -a '(__fish_git_files added modified-staged deleted-staged renamed copied)' complete -F -c git -n '__fish_git_using_command restore; and __fish_contains_opt -s s source' # switch options @@ -1708,7 +1708,7 @@ complete -f -c git -n '__fish_git_stash_using_command drop' -a '(__fish_git_comp complete -f -c git -n '__fish_git_stash_using_command pop' -a '(__fish_git_complete_stashes)' complete -f -c git -n '__fish_git_stash_using_command show' -a '(__fish_git_complete_stashes)' -complete -f -c git -n '__fish_git_stash_using_command push' -a '(__fish_git_files modified deleted)' +complete -f -c git -n '__fish_git_stash_using_command push' -a '(__fish_git_files modified deleted modified-staged-deleted)' complete -f -c git -n '__fish_git_stash_using_command push' -s p -l patch -d 'Interactively select hunks' complete -f -c git -n '__fish_git_stash_using_command push' -s m -l message -d 'Add a description'