From 55886943c13786c51148e635eb70fed0c070e62b Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Mon, 12 Jul 2021 09:15:40 +0530 Subject: [PATCH 01/12] Add missing completions for `git daemon` --- share/completions/git.fish | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 1918e93ae..6427f269e 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1087,6 +1087,36 @@ complete -f -c git -n __fish_git_needs_command -a count-objects -d 'Count unpack complete -f -c git -n '__fish_git_using_command count-objects' -s v -l verbose -d 'Be verbose' complete -f -c git -n '__fish_git_using_command count-objects' -s H -l human-readable -d 'Print in human readable format' +### daemon +complete -c git -n __fish_git_needs_command -a daemon -d 'A really simple server for git repositories' +complete -f -c git -n '__fish_git_using_command daemon' -l strict-paths -d 'Match paths exactly' +complete -F -c git -n '__fish_git_using_command daemon' -l base-path -d 'Git Root' +complete -f -c git -n '__fish_git_using_command daemon' -l base-path-relaxed -d 'Relax base-path' +complete -F -c git -n '__fish_git_using_command daemon' -l interpolated-path -d 'Interpolated path template' +complete -f -c git -n '__fish_git_using_command daemon' -l export-all -d 'Allow pulling from all directories' +complete -f -c git -n '__fish_git_using_command daemon' -l inetd -d 'Run as inetd service' +complete -x -c git -n '__fish_git_using_command daemon' -l listen -d 'Listen on this IP' +complete -x -c git -n '__fish_git_using_command daemon' -l port -d 'Listen on this port' +complete -x -c git -n '__fish_git_using_command daemon' -l init-timeout -d 'Connection timeout' +complete -x -c git -n '__fish_git_using_command daemon' -l timeout -d 'Timeout for each request' +complete -x -c git -n '__fish_git_using_command daemon' -l max-connections -d 'Maximum parallel clients' +complete -f -c git -n '__fish_git_using_command daemon' -l syslog -d '--log-destination=syslog' +complete -x -c git -n '__fish_git_using_command daemon' -l log-destination -a 'stderr syslog none' -d 'Log destination' +complete -x -c git -n '__fish_git_using_command daemon' -l user-path -d 'Allow ~user notation to be used' +complete -f -c git -n '__fish_git_using_command daemon' -l verbose -d 'Log all details' +complete -f -c git -n '__fish_git_using_command daemon' -l reuseaddr -d 'Reuse address when binding to listening server' +complete -f -c git -n '__fish_git_using_command daemon' -l detach -d 'Detach from shell' +complete -x -c git -n '__fish_git_using_command daemon' -l reuseaddr -d 'Save the process id in file' +complete -x -c git -n '__fish_git_using_command daemon' -l user -d 'Change daemon\'s uid' +complete -x -c git -n '__fish_git_using_command daemon' -l group -d 'Change daemon\'s gid' +complete -x -c git -n '__fish_git_using_command daemon' -l enable -a 'upload-pack upload-archive recieve-pack' -d 'Enable service' +complete -x -c git -n '__fish_git_using_command daemon' -l disable -a 'upload-pack upload-archive recieve-pack' -d 'Disable service' +complete -x -c git -n '__fish_git_using_command daemon' -l allow-override -a 'upload-pack upload-archive recieve-pack' -d 'Allow overriding site-wide default per repository configuration' +complete -x -c git -n '__fish_git_using_command daemon' -l forbid-override -a 'upload-pack upload-archive recieve-pack' -d 'Forbid overriding site-wide drfault per repository configuration' +complete -f -c git -n '__fish_git_using_command daemon' -l informative-errors -d 'Report more verbose errors to clients' +complete -f -c git -n '__fish_git_using_command daemon' -l no-informative-errors -d 'Report less verbose errors to clients' +complete -x -c git -n '__fish_git_using_command daemon' -l access-hook -d 'Hook to run whenever a client connects' + ### describe complete -c git -n __fish_git_needs_command -a describe -d 'Give an object a human readable name based on an available ref' complete -k -f -c git -n '__fish_git_using_command describe' -a '(__fish_git_tags)' -d Tag @@ -1828,6 +1858,7 @@ complete -f -c git -n '__fish_git_using_command help' -a config -d 'Set and read complete -f -c git -n '__fish_git_using_command help' -a count-objects -d 'Count unpacked number of objects and their disk consumption' complete -f -c git -n '__fish_git_using_command help' -a describe -d 'Give an object a human-readable name' complete -f -c git -n '__fish_git_using_command help' -a diff -d 'Show changes between commits, commit and working tree, etc' +complete -f -c git -n '__fish_git_using_command help' -a daemon -d 'A really simple server for Git repositories' complete -f -c git -n '__fish_git_using_command help' -a difftool -d 'Open diffs in a visual tool' complete -f -c git -n '__fish_git_using_command help' -a fetch -d 'Download objects and refs from another repository' complete -f -c git -n '__fish_git_using_command help' -a filter-branch -d 'Rewrite branches' From 1344b638d2cbdf7c7cccd1e9a8d73e50d9679fd8 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Mon, 12 Jul 2021 11:30:11 +0530 Subject: [PATCH 02/12] Add completions for `git maintenance` --- share/completions/git.fish | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 6427f269e..67fe0ac2f 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1392,6 +1392,18 @@ complete -c git -n '__fish_git_using_command ls-files' -l abbrev -d 'Show only a complete -c git -n '__fish_git_using_command ls-files' -l debug -d 'After each line that describes a file, add more data about its cache entry' complete -c git -n '__fish_git_using_command ls-files' -l eol -d 'Show and of files' +### maintenance +complete -f -c git -n __fish_git_needs_command -a maintenance -d 'Run tasks to optimize Git repository data' +complete -f -c git -n '__fish_git_using_command maintenance' -a register -d 'Initialize Git config vars for maintenance' +complete -f -c git -n '__fish_git_using_command maintenance' -a run -d 'Run one or more maintenance tasks' +complete -f -c git -n '__fish_git_using_command maintenance' -a start -d 'Start maintenance' +complete -f -c git -n '__fish_git_using_command maintenance' -a stop -d 'Halt background maintenance' +complete -f -c git -n '__fish_git_using_command maintenance' -a unregister -d 'Remove repository from background maintenance' +complete -f -c git -n '__fish_git_using_command maintenance' -l quiet -d 'Supress logs' +complete -x -c git -n '__fish_git_using_command maintenance' -l task -a 'commit-graph prefetch gc loose-objects incremental-repack pack-refs' -d 'Tasks to run' +complete -f -c git -n '__fish_git_using_command maintenance' -l auto -d 'Run maintenance only when necessary' +complete -f -c git -n '__fish_git_using_command maintenance' -l schedule -d 'Run maintenance on certain intervals' + ### merge complete -f -c git -n __fish_git_needs_command -a merge -d 'Join two or more development histories together' complete -f -c git -n '__fish_git_using_command merge' -a '(__fish_git_branches)' @@ -1868,6 +1880,7 @@ complete -f -c git -n '__fish_git_using_command help' -a grep -d 'Print lines ma complete -f -c git -n '__fish_git_using_command help' -a init -d 'Create an empty git repository or reinitialize an existing one' complete -f -c git -n '__fish_git_using_command help' -a log -d 'Show commit logs' complete -f -c git -n '__fish_git_using_command help' -a ls-files -d 'Show information about files in the index and the working tree' +complete -f -c git -n '__fish_git_using_command help' -a maintenance -d 'Run tasks to optimize Git repository data' complete -f -c git -n '__fish_git_using_command help' -a merge -d 'Join two or more development histories together' complete -f -c git -n '__fish_git_using_command help' -a merge-base -d 'Find as good common ancestors as possible for a merge' complete -f -c git -n '__fish_git_using_command help' -a mergetool -d 'Run merge conflict resolution tools to resolve merge conflicts' From f976144b2730e464af8af7b8679b881cab9bdf31 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Tue, 13 Jul 2021 18:23:40 +0530 Subject: [PATCH 03/12] Add completions for `git notes` --- share/completions/git.fish | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 67fe0ac2f..3e1d5691b 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1461,6 +1461,34 @@ complete -c git -n '__fish_git_using_command mergetool' -s O -d 'Process files i complete -c git -n __fish_git_needs_command -a mv -d 'Move or rename a file, a directory, or a symlink' # TODO options +### notes +set -l notescommands add copy append edit show merge remove # list prune get-ref +complete -c git -n __fish_git_needs_command -a notes -d 'Add or inspect object notes' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a list -d 'List notes for given object' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a add -d 'Add notes for a given object' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a copy -d 'Copy notes from object1 to object2' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a append -d 'Append to the notes of existing object' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a edit -d 'Edit notes for a given object' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a show -d 'Show notes for given object' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a merge -d 'Merge the given notes ref to current notes ref' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a remove -d 'Remove notes for given object' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a prune -d 'Remove notes for non-existing/unreachable objects' +complete -f -c git -n "__fish_git_using_command notes; and not __fish_seen_subcommand_from $notescommands" -a get-ref -d 'Print current notes ref' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from $notescommands" -ka '(__fish_git_commits)' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from add copy" -s f -l force -d 'Overwrite existing notes' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from add append edit" -l allow-empty -d 'Allow empty note' +complete -r -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from add append" -s F -l file -d 'Read note message from file' +complete -x -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from add append" -s m -l message -d 'Use this note message' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from add append" -s C -l reuse-message -a '(__fish_git_commits)' -d 'Copy note from object' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from add append" -s c -l reedit-message -a '(__fish_git_commits)' -d 'Copy and edit note from object' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from copy remove" -l stdin -d 'Read object names from stdin' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge remove prune" -s v -l verbose -d 'Be more verbose' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge remove prune" -s q -l quiet -d 'Operate quietly' +complete -x -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge " -s s -l strategy -a 'manual ours theirs union cat_sort_uniq' -d 'Merge strategy to use to resolve conflicts' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge" -l commit -d 'Finalize git notes merge' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge" -l abort -d 'Abort git notes merge' +complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from remove" -l ignore-missing -d 'Do not throw error on deleting non-existing object note' + ### prune complete -f -c git -n __fish_git_needs_command -a prune -d 'Prune all unreachable objects from the object database' # TODO options @@ -1885,6 +1913,7 @@ complete -f -c git -n '__fish_git_using_command help' -a merge -d 'Join two or m complete -f -c git -n '__fish_git_using_command help' -a merge-base -d 'Find as good common ancestors as possible for a merge' complete -f -c git -n '__fish_git_using_command help' -a mergetool -d 'Run merge conflict resolution tools to resolve merge conflicts' complete -f -c git -n '__fish_git_using_command help' -a mv -d 'Move or rename a file, a directory, or a symlink' +complete -f -c git -n '__fish_git_using_command help' -a notes -d 'Add or inspect object notes' complete -f -c git -n '__fish_git_using_command help' -a prune -d 'Prune all unreachable objects from the object database' complete -f -c git -n '__fish_git_using_command help' -a pull -d 'Fetch from and merge with another repository or a local branch' complete -f -c git -n '__fish_git_using_command help' -a push -d 'Update remote refs along with associated objects' From 3f5f722e7aafe9517b79ffcfdea1b47e7fb43139 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Tue, 13 Jul 2021 19:08:50 +0530 Subject: [PATCH 04/12] Add completions for `git stripspace` --- share/completions/git.fish | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 3e1d5691b..c66479750 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1701,6 +1701,11 @@ complete -f -c git -n '__fish_git_using_command status' -s u -l untracked-files complete -f -c git -n '__fish_git_using_command status' -l ignore-submodules -x -a 'none untracked dirty all' -d 'Ignore changes to submodules' # TODO options +### stripspace +complete -f -c git -n __fish_git_needs_command -a stripspace -d 'Remove unnecessary whitespace' +complete -f -c git -n '__fish_git_using_command stripspace' -s s -l strip-comments -d 'Strip all lines starting with comment character' +complete -f -c git -n '__fish_git_using_command stripspace' -s c -l comment-lines -d 'Prepend comment character to each line' + ### tag complete -f -c git -n __fish_git_needs_command -a tag -d 'Create, list, delete or verify a tag object signed with GPG' complete -f -c git -n '__fish_git_using_command tag; and __fish_not_contain_opt -s d; and __fish_not_contain_opt -s v; and test (count (commandline -opc | string match -r -v \'^-\')) -eq 3' -a '(__fish_git_branches)' @@ -1931,6 +1936,7 @@ complete -f -c git -n '__fish_git_using_command help' -a show-branch -d 'Shows t complete -f -c git -n '__fish_git_using_command help' -a stash -d 'Stash away changes' complete -f -c git -n '__fish_git_using_command help' -a status -d 'Show the working tree status' complete -f -c git -n '__fish_git_using_command help' -a submodule -d 'Initialize, update or inspect submodules' +complete -f -c git -n '__fish_git_using_command help' -a stripspace -d 'Remove unnecessary whitespace' complete -f -c git -n '__fish_git_using_command help' -a switch -d 'Switch to a branch' complete -f -c git -n '__fish_git_using_command help' -a tag -d 'Create, list, delete or verify a tag object signed with GPG' complete -f -c git -n '__fish_git_using_command help' -a whatchanged -d 'Show logs with difference each commit introduces' From 2e34852ded517e6c0c92052b439f4d71f329f552 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Wed, 14 Jul 2021 10:31:21 +0530 Subject: [PATCH 05/12] Add completions for `git mailinfo` --- share/completions/git.fish | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index c66479750..f498413d6 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1392,6 +1392,18 @@ complete -c git -n '__fish_git_using_command ls-files' -l abbrev -d 'Show only a complete -c git -n '__fish_git_using_command ls-files' -l debug -d 'After each line that describes a file, add more data about its cache entry' complete -c git -n '__fish_git_using_command ls-files' -l eol -d 'Show and of files' +### mailinfo +complete -f -c git -n __fish_git_needs_command -a mailinfo -d 'Extracts patch and authorship from a single e-mail message' +complete -f -c git -n '__fish_git_using_command mailinfo' -s k -d 'Do not remove email cruft' +complete -f -c git -n '__fish_git_using_command mailinfo' -s b -d 'Limit stripping of pair brackets' +complete -f -c git -n '__fish_git_using_command mailinfo' -s u -d 'Do not reencode author name and email' +complete -x -c git -n '__fish_git_using_command mailinfo' -l encoding -d 'Re-encode to given charset' +complete -f -c git -n '__fish_git_using_command mailinfo' -s n -d 'Disable all charset re-encoding of metadata' +complete -f -c git -n '__fish_git_using_command mailinfo' -s m -l message-id -d 'Copy message id to the end of commit message' +complete -f -c git -n '__fish_git_using_command mailinfo' -l scissors -d 'Remove everything above scissor line' +complete -f -c git -n '__fish_git_using_command mailinfo' -l no-scissors -d 'Ignore scissor lines' +complete -x -c git -n '__fish_git_using_command mailinfo' -l quoted-cr -a 'nowarn warn strip' -d 'Action when processed email message end with CRLF instead of LF' + ### maintenance complete -f -c git -n __fish_git_needs_command -a maintenance -d 'Run tasks to optimize Git repository data' complete -f -c git -n '__fish_git_using_command maintenance' -a register -d 'Initialize Git config vars for maintenance' @@ -1913,6 +1925,7 @@ complete -f -c git -n '__fish_git_using_command help' -a grep -d 'Print lines ma complete -f -c git -n '__fish_git_using_command help' -a init -d 'Create an empty git repository or reinitialize an existing one' complete -f -c git -n '__fish_git_using_command help' -a log -d 'Show commit logs' complete -f -c git -n '__fish_git_using_command help' -a ls-files -d 'Show information about files in the index and the working tree' +complete -f -c git -n '__fish_git_using_command help' -a mailinfo -d 'Extracts patch and authorship from a single e-mail message' complete -f -c git -n '__fish_git_using_command help' -a maintenance -d 'Run tasks to optimize Git repository data' complete -f -c git -n '__fish_git_using_command help' -a merge -d 'Join two or more development histories together' complete -f -c git -n '__fish_git_using_command help' -a merge-base -d 'Find as good common ancestors as possible for a merge' From 4c5f41531dd3b09add89a5590d45326affb40ec3 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Fri, 16 Jul 2021 08:34:22 +0530 Subject: [PATCH 06/12] Add completions for `git am` --- share/completions/git.fish | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index f498413d6..68022effa 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -983,6 +983,46 @@ complete -c git -n '__fish_git_using_command add' -l ignore-missing -d 'Check if complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modified untracked deleted unmerged modified-staged-deleted)' # TODO options +### am +complete -F -c git -n __fish_git_needs_command -a am -d 'Apply a series of patches from a mailbox' +complete -f -c git -n '__fish_git_using_command am' -s s -l signoff -d 'Add a Signed-off-By trailer to commit message' +complete -f -c git -n '__fish_git_using_command am' -s k -l keep -d 'Pass -k to git mailinfo' +complete -f -c git -n '__fish_git_using_command am' -l keep-non-patch -d 'Pass -b to git mailinfo' +complete -f -c git -n '__fish_git_using_command am' -l keep-cr -d 'Pass --keep-cr to git mailsplit' +complete -f -c git -n '__fish_git_using_command am' -l no-keep-cr -d 'Override am.keepcr to false' +complete -f -c git -n '__fish_git_using_command am' -s c -l scissors -d 'Remove everything in body before scissors' +complete -f -c git -n '__fish_git_using_command am' -l no-scissors -d 'Ignore scissor lines' +complete -x -c git -n '__fish_git_using_command am' -l quoted-cr -a 'nowarn warn strip' -d 'Action when processed email message end with CRLF instead of LF' +complete -f -c git -n '__fish_git_using_command am' -s m -l message-id -d 'Pass the -m flag to git mailinfo' +complete -f -c git -n '__fish_git_using_command am' -l no-messageid -d 'Do not add message id to commit message' +complete -f -c git -n '__fish_git_using_command am' -s q -l quiet -d 'Supress logs' +complete -f -c git -n '__fish_git_using_command am' -s u -l utf8 -d 'Pass -u to git mailinfo' +complete -f -c git -n '__fish_git_using_command am' -l no-utf8 -d 'Pass -n to git mailinfo' +complete -f -c git -n '__fish_git_using_command am' -s 3 -l 3way -d 'Fall back to three way merge on patch failure' +complete -f -c git -n '__fish_git_using_command am' -l no-3way -d 'Do not fall back to three way merge on patch failure' +complete -f -c git -n '__fish_git_using_command am' -l rerere-autoupdate -d 'Allow rerere to update index if possible' +complete -f -c git -n '__fish_git_using_command am' -l ignore-space-change -d 'Pass --ignore-space-change to git apply' +complete -f -c git -n '__fish_git_using_command am' -l ignore-whitespace -d 'Pass --ignore-whitespace to git apply' +complete -x -c git -n '__fish_git_using_command am' -l whitespace -a 'nowarn warn fix error error-all' -d 'Pass --whitespace git apply' +complete -x -c git -n '__fish_git_using_command am' -s C -d 'Pass -C to git apply' +complete -x -c git -n '__fish_git_using_command am' -s p -d 'Pass -p to git apply' +complete -F -c git -n '__fish_git_using_command am' -l directory -d 'Pass --directory to git apply' +complete -F -c git -n '__fish_git_using_command am' -l exclude -d 'Pass --exclude to git apply' +complete -F -c git -n '__fish_git_using_command am' -l include -d 'Pass --include to git apply' +complete -f -c git -n '__fish_git_using_command am' -l reject -d 'Pass --reject to git apply' +complete -x -f git -n '__fish_git_using_command am' -l patch-format -a 'mbox mboxrd stgit stgit-series hg' -d 'Specify the patch format' +complete -f -c git -n '__fish_git_using_command am' -s i -l interactive -d 'Run interactively' +complete -f -c git -n '__fish_git_using_command am' -l commiter-date-is-author-date -d 'Treat commiter date as author date' +complete -f -c git -n '__fish_git_using_command am' -l ignore-date -d 'Treat author date as commiter date' +complete -f -c git -n '__fish_git_using_command am' -l skip -d 'Skip current patch' +complete -x -c git -n '__fish_git_using_command am' -s S -l gpg-sign -a '(__fish_complete_gpg_key_id gpg)' -d 'Sign commits with gpg' +complete -f -c git -n '__fish_git_using_command am' -l no-gpg-sign -d 'Do not sign commits' +complete -f -c git -n '__fish_git_using_command am' -s r -l resolved -l continue -d 'Mark patch failures as resolved' +complete -x -c git -n '__fish_git_using_command am' -l resolvemsg -d 'Message to print when patch failure occurs' +complete -f -c git -n '__fish_git_using_command am' -l abort -d 'Abort l patch operation and restore branch' +complete -f -c git -n '__fish_git_using_command am' -l quit -d 'Abort without restoring branch' +complete -x -c git -n '__fish_git_using_command am' -l show-current-patch -a 'diff raw' -d 'Show message at which patch failures occured' + ### 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' @@ -1901,6 +1941,7 @@ complete -f -c git -n '__fish_git_using_command blame' -s w -d 'Ignore whitespac complete -f -c git -n __fish_git_needs_command -a help -d 'Display help information about Git' complete -f -c git -n '__fish_git_using_command help' -a '(__fish_git_help_all_concepts)' complete -f -c git -n '__fish_git_using_command help' -a add -d 'Add file contents to the index' +complete -f -c git -n '__fish_git_using_command help' -a am -d 'Apply a series of patches from a mailbox' complete -f -c git -n '__fish_git_using_command help' -a apply -d 'Apply a patch on a git index file and a working tree' complete -f -c git -n '__fish_git_using_command help' -a archive -d 'Create an archive of files from a named tree' complete -f -c git -n '__fish_git_using_command help' -a bisect -d 'Find the change that introduced a bug by binary search' From 162c4ac789fa1b1cafce0f0811ac6114cc6dbeba Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Fri, 16 Jul 2021 09:43:09 +0530 Subject: [PATCH 07/12] Add completions for `git mailsplit` --- share/completions/git.fish | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/share/completions/git.fish b/share/completions/git.fish index 68022effa..7a6c8ec38 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1444,6 +1444,15 @@ complete -f -c git -n '__fish_git_using_command mailinfo' -l scissors -d 'Remove complete -f -c git -n '__fish_git_using_command mailinfo' -l no-scissors -d 'Ignore scissor lines' complete -x -c git -n '__fish_git_using_command mailinfo' -l quoted-cr -a 'nowarn warn strip' -d 'Action when processed email message end with CRLF instead of LF' +### mailsplit +complete -F -c git -n __fish_git_needs_command -a mailsplit -d 'Simple UNIX mbox splitter program' +complete -F -c git -n '__fish_git_using_command mailsplit' -s o -d 'Directory to place individual messages' +complete -f -c git -n '__fish_git_using_command mailsplit' -s b -d 'Treat files not starting with From line as single mail message' +complete -x -c git -n '__fish_git_using_command mailsplit' -s d -d 'File name prefix digit precision' +complete -x -c git -n '__fish_git_using_command mailsplit' -s f -d 'Skip first n numbers' +complete -f -c git -n '__fish_git_using_command mailsplit' -l keep-cr -d 'Do not remove \\r from lines starting with \\n\\r' +complete -f -c git -n '__fish_git_using_command mailsplit' -l mboxrd -d 'Input is of mboxrd form' + ### maintenance complete -f -c git -n __fish_git_needs_command -a maintenance -d 'Run tasks to optimize Git repository data' complete -f -c git -n '__fish_git_using_command maintenance' -a register -d 'Initialize Git config vars for maintenance' @@ -1967,6 +1976,7 @@ complete -f -c git -n '__fish_git_using_command help' -a init -d 'Create an empt complete -f -c git -n '__fish_git_using_command help' -a log -d 'Show commit logs' complete -f -c git -n '__fish_git_using_command help' -a ls-files -d 'Show information about files in the index and the working tree' complete -f -c git -n '__fish_git_using_command help' -a mailinfo -d 'Extracts patch and authorship from a single e-mail message' +complete -f -c git -n '__fish_git_using_command help' -a mailsplit -d 'Simple UNIX mbox splitter program' complete -f -c git -n '__fish_git_using_command help' -a maintenance -d 'Run tasks to optimize Git repository data' complete -f -c git -n '__fish_git_using_command help' -a merge -d 'Join two or more development histories together' complete -f -c git -n '__fish_git_using_command help' -a merge-base -d 'Find as good common ancestors as possible for a merge' From 9d0d0b81fdaf9e3ec3a0ae27dca122d731e63859 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Fri, 16 Jul 2021 15:44:04 +0530 Subject: [PATCH 08/12] Add completions for `git apply` --- share/completions/git.fish | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index 7a6c8ec38..bc9ee4493 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1039,8 +1039,35 @@ complete -f -c git -n '__fish_git_using_command checkout' -l ours -d 'Keep unmer # TODO options ### apply -complete -f -c git -n __fish_git_needs_command -a apply -d 'Apply a patch on a git index file and a working tree' -# TODO options +complete -F -c git -n __fish_git_needs_command -a apply -d 'Apply a patch on a git index file and a working tree' +complete -f -c git -n '__fish_git_using_command apply' -l stat -d 'Output diff stat' +complete -f -c git -n '__fish_git_using_command apply' -l numstat -d 'Show number of additions and deletions' +complete -f -c git -n '__fish_git_using_command apply' -l summary -d 'Output a condensed summary' +complete -f -c git -n '__fish_git_using_command apply' -l check -d 'Just check if the patches can be applied' +complete -f -c git -n '__fish_git_using_command apply' -l index -d 'Apply patch to index and working tree' +complete -f -c git -n '__fish_git_using_command apply' -l cached -d 'Apply patch to index' +complete -f -c git -n '__fish_git_using_command apply' -l intent-to-add -d 'Add entry for file in index with no content' +complete -f -c git -n '__fish_git_using_command apply' -s 3 -l 3way -d 'Attempt a 3 way merge on conflicts' +complete -F -c git -n '__fish_git_using_command apply' -l build-fake-ancestor -d 'Build a temporary index containing these blobs' +complete -f -c git -n '__fish_git_using_command apply' -s R -l reverse -d 'Apply the patch in reverse' +complete -f -c git -n '__fish_git_using_command apply' -l reject -d 'Leave rejected hunks in *.rej files' +complete -f -c git -n '__fish_git_using_command apply; and __fish_contains_opt numstat' -s z -d 'Do not munge pathnames' +complete -x -c git -n '__fish_git_using_command apply' -s p -d 'Remove n leading path components' +complete -x -c git -n '__fish_git_using_command apply' -s C -d 'Ensure n that lines of surrounding context match' +complete -f -c git -n '__fish_git_using_command apply' -l unidiff-zero -d 'Do not break on diffs generated using --unified=0' +complete -f -c git -n '__fish_git_needs_command apply' -l apply -d 'Always apply patches' +complete -f -c git -n '__fish_git_using_command apply' -l no-add -d 'Ignore additions made by patches' +complete -f -c git -n '__fish_git_using_command apply' -l allow-binary-replacement -l binary -d 'Also patch binaries' +complete -F -c git -n '__fish_git_using_command apply' -l exclude -d 'Dont apply changes to files matching given pattern' +complete -F -c git -n '__fish_git_using_command apply' -l include -d 'Apply changes to files matching given pattern' +complete -f -c git -n '__fish_git_using_command apply' -l ignore-space-change -l ignore-whitespace -d 'Ignore whitespace change in context lines' +complete -x -c git -n '__fish_git_using_command apply' -l whitespace -a 'nowarn warn fix error error-all' -d 'Action to take when there are whitespace errors' +complete -f -c git -n '__fish_git_using_command apply' -l inaccurate-eof -d 'Workaround for some versionw of diff not detecting new line at end of file' +complete -f -c git -n '__fish_git_using_command apply' -s v -l verbose -d 'Report progress to stderr' +complete -f -c git -n '__fish_git_using_command apply' -l recount -d 'Do not trust the line counts in the hunk headers' +complete -F -c git -n '__fish_git_using_command apply' -l directort -d 'Prepend to all filenames' +complete -f -c git -n '__fish_git_using_command apply' -l unsafe-paths -d 'Allow patches that work outside working area' + ### archive complete -f -c git -n __fish_git_needs_command -a archive -d 'Create an archive of files from a named tree' From 54476d583bba34276c7443b213b4a4238c17c8db Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Fri, 16 Jul 2021 16:06:05 +0530 Subject: [PATCH 09/12] Add flag completions for `git mv` --- share/completions/git.fish | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index bc9ee4493..6f614f1ff 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1547,7 +1547,10 @@ complete -c git -n '__fish_git_using_command mergetool' -s O -d 'Process files i ### mv complete -c git -n __fish_git_needs_command -a mv -d 'Move or rename a file, a directory, or a symlink' -# TODO options +complete -f -c git -n '__fish_git_using_command mv' -s f -l force -d 'Force rename/moving even if target exists' +complete -f -c git -n '__fish_git_using_command mv' -s k -d 'Skip rename/move which can lead to error' +complete -f -c git -n '__fish_git_using_command mv' -s n -l dry-run -d 'Only show what would happen' +complete -f -c git -n '__fish_git_using_command mv' -s v -l verbose -d 'Report names of files as they are changed' ### notes set -l notescommands add copy append edit show merge remove # list prune get-ref From 6f52c017ba9c234594a48cf215f5ad861f13c81b Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Thu, 22 Jul 2021 08:16:07 +0530 Subject: [PATCH 10/12] Resolve all conversations --- share/completions/git.fish | 62 ++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index 6f614f1ff..995478d9f 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -858,6 +858,7 @@ complete -c git -n '__fish_git_using_command diff show range-diff log' -l relati complete -c git -n '__fish_git_using_command diff show range-diff' -l shortstat -d 'Output only the last line of the --stat format containing total number of modified files' complete -c git -n '__fish_git_using_command diff show range-diff log' -l src-prefix -d 'Show the given source prefix instead of "a/"' complete -c git -n '__fish_git_using_command diff show range-diff' -l stat -d 'Generate a diffstat' +complete -c git -n '__fish_git_using_command diff show range-diff apply' -l stat -d 'Generate a diffstat' complete -c git -n '__fish_git_using_command diff show range-diff' -l summary -d 'Output a condensed summary of extended header information' complete -c git -n '__fish_git_using_command diff show range-diff' -l textconv -d 'Allow external text conversion filters to be run when comparing binary files' complete -c git -n '__fish_git_using_command diff show range-diff' -l word-diff -d 'Show a word diff' @@ -986,26 +987,18 @@ complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modif ### am complete -F -c git -n __fish_git_needs_command -a am -d 'Apply a series of patches from a mailbox' complete -f -c git -n '__fish_git_using_command am' -s s -l signoff -d 'Add a Signed-off-By trailer to commit message' -complete -f -c git -n '__fish_git_using_command am' -s k -l keep -d 'Pass -k to git mailinfo' -complete -f -c git -n '__fish_git_using_command am' -l keep-non-patch -d 'Pass -b to git mailinfo' -complete -f -c git -n '__fish_git_using_command am' -l keep-cr -d 'Pass --keep-cr to git mailsplit' +complete -f -c git -n '__fish_git_using_command am' -l keep-non-patch -d 'Only strip bracket pairs containing \'PATCH\'' complete -f -c git -n '__fish_git_using_command am' -l no-keep-cr -d 'Override am.keepcr to false' complete -f -c git -n '__fish_git_using_command am' -s c -l scissors -d 'Remove everything in body before scissors' complete -f -c git -n '__fish_git_using_command am' -l no-scissors -d 'Ignore scissor lines' -complete -x -c git -n '__fish_git_using_command am' -l quoted-cr -a 'nowarn warn strip' -d 'Action when processed email message end with CRLF instead of LF' -complete -f -c git -n '__fish_git_using_command am' -s m -l message-id -d 'Pass the -m flag to git mailinfo' +complete -x -c git -n '__fish_git_using_command am' -l quoted-cr -a 'nowarn warn strip' -d 'What to do when an email ends with CRLF' complete -f -c git -n '__fish_git_using_command am' -l no-messageid -d 'Do not add message id to commit message' complete -f -c git -n '__fish_git_using_command am' -s q -l quiet -d 'Supress logs' -complete -f -c git -n '__fish_git_using_command am' -s u -l utf8 -d 'Pass -u to git mailinfo' -complete -f -c git -n '__fish_git_using_command am' -l no-utf8 -d 'Pass -n to git mailinfo' +complete -f -c git -n '__fish_git_using_command am' -l no-utf8 -d 'Disable all charset re-encoding of metadata' complete -f -c git -n '__fish_git_using_command am' -s 3 -l 3way -d 'Fall back to three way merge on patch failure' complete -f -c git -n '__fish_git_using_command am' -l no-3way -d 'Do not fall back to three way merge on patch failure' complete -f -c git -n '__fish_git_using_command am' -l rerere-autoupdate -d 'Allow rerere to update index if possible' complete -f -c git -n '__fish_git_using_command am' -l ignore-space-change -d 'Pass --ignore-space-change to git apply' -complete -f -c git -n '__fish_git_using_command am' -l ignore-whitespace -d 'Pass --ignore-whitespace to git apply' -complete -x -c git -n '__fish_git_using_command am' -l whitespace -a 'nowarn warn fix error error-all' -d 'Pass --whitespace git apply' -complete -x -c git -n '__fish_git_using_command am' -s C -d 'Pass -C to git apply' -complete -x -c git -n '__fish_git_using_command am' -s p -d 'Pass -p to git apply' complete -F -c git -n '__fish_git_using_command am' -l directory -d 'Pass --directory to git apply' complete -F -c git -n '__fish_git_using_command am' -l exclude -d 'Pass --exclude to git apply' complete -F -c git -n '__fish_git_using_command am' -l include -d 'Pass --include to git apply' @@ -1015,13 +1008,13 @@ complete -f -c git -n '__fish_git_using_command am' -s i -l interactive -d 'Run complete -f -c git -n '__fish_git_using_command am' -l commiter-date-is-author-date -d 'Treat commiter date as author date' complete -f -c git -n '__fish_git_using_command am' -l ignore-date -d 'Treat author date as commiter date' complete -f -c git -n '__fish_git_using_command am' -l skip -d 'Skip current patch' -complete -x -c git -n '__fish_git_using_command am' -s S -l gpg-sign -a '(__fish_complete_gpg_key_id gpg)' -d 'Sign commits with gpg' +complete -x -c git -n '__fish_git_using_command am' -s S -l gpg-sign -a '(type -q gpg && __fish_complete_gpg_key_id gpg)' -d 'Sign commits with gpg' complete -f -c git -n '__fish_git_using_command am' -l no-gpg-sign -d 'Do not sign commits' complete -f -c git -n '__fish_git_using_command am' -s r -l resolved -l continue -d 'Mark patch failures as resolved' -complete -x -c git -n '__fish_git_using_command am' -l resolvemsg -d 'Message to print when patch failure occurs' -complete -f -c git -n '__fish_git_using_command am' -l abort -d 'Abort l patch operation and restore branch' +complete -x -c git -n '__fish_git_using_command am' -l resolvemsg -d 'Message to print after patch failure' +complete -f -c git -n '__fish_git_using_command am' -l abort -d 'Abort patch operation and restore branch' complete -f -c git -n '__fish_git_using_command am' -l quit -d 'Abort without restoring branch' -complete -x -c git -n '__fish_git_using_command am' -l show-current-patch -a 'diff raw' -d 'Show message at which patch failures occured' +complete -c git -n '__fish_git_using_command am' -l show-current-patch -a 'diff raw' -d 'Show message at which patch failures occured' ### checkout complete -F -c git -n '__fish_git_using_command checkout; and contains -- -- (commandline -opc)' @@ -1040,7 +1033,6 @@ complete -f -c git -n '__fish_git_using_command checkout' -l ours -d 'Keep unmer ### apply complete -F -c git -n __fish_git_needs_command -a apply -d 'Apply a patch on a git index file and a working tree' -complete -f -c git -n '__fish_git_using_command apply' -l stat -d 'Output diff stat' complete -f -c git -n '__fish_git_using_command apply' -l numstat -d 'Show number of additions and deletions' complete -f -c git -n '__fish_git_using_command apply' -l summary -d 'Output a condensed summary' complete -f -c git -n '__fish_git_using_command apply' -l check -d 'Just check if the patches can be applied' @@ -1052,20 +1044,20 @@ complete -F -c git -n '__fish_git_using_command apply' -l build-fake-ancestor -d complete -f -c git -n '__fish_git_using_command apply' -s R -l reverse -d 'Apply the patch in reverse' complete -f -c git -n '__fish_git_using_command apply' -l reject -d 'Leave rejected hunks in *.rej files' complete -f -c git -n '__fish_git_using_command apply; and __fish_contains_opt numstat' -s z -d 'Do not munge pathnames' -complete -x -c git -n '__fish_git_using_command apply' -s p -d 'Remove n leading path components' -complete -x -c git -n '__fish_git_using_command apply' -s C -d 'Ensure n that lines of surrounding context match' +complete -x -c git -n '__fish_git_using_command apply am' -s p -d 'Remove n leading path components' +complete -x -c git -n '__fish_git_using_command apply am' -s C -d 'Ensure n that lines of surrounding context match' complete -f -c git -n '__fish_git_using_command apply' -l unidiff-zero -d 'Do not break on diffs generated using --unified=0' complete -f -c git -n '__fish_git_needs_command apply' -l apply -d 'Always apply patches' complete -f -c git -n '__fish_git_using_command apply' -l no-add -d 'Ignore additions made by patches' complete -f -c git -n '__fish_git_using_command apply' -l allow-binary-replacement -l binary -d 'Also patch binaries' complete -F -c git -n '__fish_git_using_command apply' -l exclude -d 'Dont apply changes to files matching given pattern' complete -F -c git -n '__fish_git_using_command apply' -l include -d 'Apply changes to files matching given pattern' -complete -f -c git -n '__fish_git_using_command apply' -l ignore-space-change -l ignore-whitespace -d 'Ignore whitespace change in context lines' -complete -x -c git -n '__fish_git_using_command apply' -l whitespace -a 'nowarn warn fix error error-all' -d 'Action to take when there are whitespace errors' -complete -f -c git -n '__fish_git_using_command apply' -l inaccurate-eof -d 'Workaround for some versionw of diff not detecting new line at end of file' +complete -f -c git -n '__fish_git_using_command apply am' -l ignore-space-change -l ignore-whitespace -d 'Ignore whitespace change in context lines' +complete -x -c git -n '__fish_git_using_command apply am' -l whitespace -a 'nowarn warn fix error error-all' -d 'Action to take when there are whitespace errors' +complete -f -c git -n '__fish_git_using_command apply' -l inaccurate-eof -d 'Work around some diff versions not detecting newlines at end of file' complete -f -c git -n '__fish_git_using_command apply' -s v -l verbose -d 'Report progress to stderr' complete -f -c git -n '__fish_git_using_command apply' -l recount -d 'Do not trust the line counts in the hunk headers' -complete -F -c git -n '__fish_git_using_command apply' -l directort -d 'Prepend to all filenames' +complete -F -c git -n '__fish_git_using_command apply' -l directory -d 'Prepend given path to all filenames' complete -f -c git -n '__fish_git_using_command apply' -l unsafe-paths -d 'Allow patches that work outside working area' @@ -1158,8 +1150,8 @@ complete -f -c git -n '__fish_git_using_command count-objects' -s H -l human-rea complete -c git -n __fish_git_needs_command -a daemon -d 'A really simple server for git repositories' complete -f -c git -n '__fish_git_using_command daemon' -l strict-paths -d 'Match paths exactly' complete -F -c git -n '__fish_git_using_command daemon' -l base-path -d 'Git Root' -complete -f -c git -n '__fish_git_using_command daemon' -l base-path-relaxed -d 'Relax base-path' -complete -F -c git -n '__fish_git_using_command daemon' -l interpolated-path -d 'Interpolated path template' +complete -f -c git -n '__fish_git_using_command daemon' -l base-path-relaxed -d 'When looking up with base path fails, try without it' +complete -F -c git -n '__fish_git_using_command daemon' -l interpolated-path -d 'Construct a path from the given template' complete -f -c git -n '__fish_git_using_command daemon' -l export-all -d 'Allow pulling from all directories' complete -f -c git -n '__fish_git_using_command daemon' -l inetd -d 'Run as inetd service' complete -x -c git -n '__fish_git_using_command daemon' -l listen -d 'Listen on this IP' @@ -1176,8 +1168,8 @@ complete -f -c git -n '__fish_git_using_command daemon' -l detach -d 'Detach fro complete -x -c git -n '__fish_git_using_command daemon' -l reuseaddr -d 'Save the process id in file' complete -x -c git -n '__fish_git_using_command daemon' -l user -d 'Change daemon\'s uid' complete -x -c git -n '__fish_git_using_command daemon' -l group -d 'Change daemon\'s gid' -complete -x -c git -n '__fish_git_using_command daemon' -l enable -a 'upload-pack upload-archive recieve-pack' -d 'Enable service' -complete -x -c git -n '__fish_git_using_command daemon' -l disable -a 'upload-pack upload-archive recieve-pack' -d 'Disable service' +complete -x -c git -n '__fish_git_using_command daemon' -l enable -a 'upload-pack upload-archive receive-pack' -d 'Enable service' +complete -x -c git -n '__fish_git_using_command daemon' -l disable -a 'upload-pack upload-archive receive-pack' -d 'Disable service' complete -x -c git -n '__fish_git_using_command daemon' -l allow-override -a 'upload-pack upload-archive recieve-pack' -d 'Allow overriding site-wide default per repository configuration' complete -x -c git -n '__fish_git_using_command daemon' -l forbid-override -a 'upload-pack upload-archive recieve-pack' -d 'Forbid overriding site-wide drfault per repository configuration' complete -f -c git -n '__fish_git_using_command daemon' -l informative-errors -d 'Report more verbose errors to clients' @@ -1461,12 +1453,12 @@ complete -c git -n '__fish_git_using_command ls-files' -l eol -d 'Show ### mailinfo complete -f -c git -n __fish_git_needs_command -a mailinfo -d 'Extracts patch and authorship from a single e-mail message' -complete -f -c git -n '__fish_git_using_command mailinfo' -s k -d 'Do not remove email cruft' -complete -f -c git -n '__fish_git_using_command mailinfo' -s b -d 'Limit stripping of pair brackets' -complete -f -c git -n '__fish_git_using_command mailinfo' -s u -d 'Do not reencode author name and email' +complete -f -c git -n '__fish_git_using_command mailinfo am' -s k -d 'Do not remove email cruft from subject' +complete -f -c git -n '__fish_git_using_command mailinfo' -s b -d 'Only strip bracket pairs containing \'PATCH\'' +complete -f -c git -n '__fish_git_using_command mailinfo am' -s u -d 'Do not reencode author name and email' complete -x -c git -n '__fish_git_using_command mailinfo' -l encoding -d 'Re-encode to given charset' complete -f -c git -n '__fish_git_using_command mailinfo' -s n -d 'Disable all charset re-encoding of metadata' -complete -f -c git -n '__fish_git_using_command mailinfo' -s m -l message-id -d 'Copy message id to the end of commit message' +complete -f -c git -n '__fish_git_using_command mailinfo am' -s m -l message-id -d 'Copy message id to the end of commit message' complete -f -c git -n '__fish_git_using_command mailinfo' -l scissors -d 'Remove everything above scissor line' complete -f -c git -n '__fish_git_using_command mailinfo' -l no-scissors -d 'Ignore scissor lines' complete -x -c git -n '__fish_git_using_command mailinfo' -l quoted-cr -a 'nowarn warn strip' -d 'Action when processed email message end with CRLF instead of LF' @@ -1477,7 +1469,7 @@ complete -F -c git -n '__fish_git_using_command mailsplit' -s o -d 'Directory to complete -f -c git -n '__fish_git_using_command mailsplit' -s b -d 'Treat files not starting with From line as single mail message' complete -x -c git -n '__fish_git_using_command mailsplit' -s d -d 'File name prefix digit precision' complete -x -c git -n '__fish_git_using_command mailsplit' -s f -d 'Skip first n numbers' -complete -f -c git -n '__fish_git_using_command mailsplit' -l keep-cr -d 'Do not remove \\r from lines starting with \\n\\r' +complete -f -c git -n '__fish_git_using_command mailsplit am' -l keep-cr -d 'Do not remove \\r from lines starting with \\n\\r' complete -f -c git -n '__fish_git_using_command mailsplit' -l mboxrd -d 'Input is of mboxrd form' ### maintenance @@ -1575,7 +1567,13 @@ complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcomman complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from copy remove" -l stdin -d 'Read object names from stdin' complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge remove prune" -s v -l verbose -d 'Be more verbose' complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge remove prune" -s q -l quiet -d 'Operate quietly' -complete -x -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge " -s s -l strategy -a 'manual ours theirs union cat_sort_uniq' -d 'Merge strategy to use to resolve conflicts' +complete -x -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge" -s s -l strategy -d 'Merge strategy to use to resolve conflicts' -a " + manual\t'Instruct the user to resolve merge conflicts' + ours\t'Resolve conflicts in favour of local version' + theirs\t'Resolve conflicts in favour of remote version' + union\t'Resolve conflicts by concatenating local and remote versions' + cat_sort_uniq\t'Concatenate, sort and remove duplicate lines' + " complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge" -l commit -d 'Finalize git notes merge' complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from merge" -l abort -d 'Abort git notes merge' complete -f -c git -n "__fish_git_using_command notes; and __fish_seen_subcommand_from remove" -l ignore-missing -d 'Do not throw error on deleting non-existing object note' From 29fc74bc6a0088010a3d83da3c91804e540cdc41 Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Thu, 22 Jul 2021 17:06:59 +0530 Subject: [PATCH 11/12] Remove `-F` supplied to complete Using `complete -F -c git -n __fish_git_needs_subcommand -a $command -d $description` causes file completions to be forced on entire git command which is not a desired result. Morever without the `-F` flag file completions work just as expected and is useless addition --- share/completions/git.fish | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index 995478d9f..57a65158d 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -985,7 +985,7 @@ complete -f -c git -n '__fish_git_using_command add' -a '(__fish_git_files modif # TODO options ### am -complete -F -c git -n __fish_git_needs_command -a am -d 'Apply a series of patches from a mailbox' +complete -c git -n __fish_git_needs_command -a am -d 'Apply a series of patches from a mailbox' complete -f -c git -n '__fish_git_using_command am' -s s -l signoff -d 'Add a Signed-off-By trailer to commit message' complete -f -c git -n '__fish_git_using_command am' -l keep-non-patch -d 'Only strip bracket pairs containing \'PATCH\'' complete -f -c git -n '__fish_git_using_command am' -l no-keep-cr -d 'Override am.keepcr to false' @@ -1032,7 +1032,7 @@ complete -f -c git -n '__fish_git_using_command checkout' -l ours -d 'Keep unmer # TODO options ### apply -complete -F -c git -n __fish_git_needs_command -a apply -d 'Apply a patch on a git index file and a working tree' +complete -c git -n __fish_git_needs_command -a apply -d 'Apply a patch on a git index file and a working tree' complete -f -c git -n '__fish_git_using_command apply' -l numstat -d 'Show number of additions and deletions' complete -f -c git -n '__fish_git_using_command apply' -l summary -d 'Output a condensed summary' complete -f -c git -n '__fish_git_using_command apply' -l check -d 'Just check if the patches can be applied' @@ -1464,7 +1464,7 @@ complete -f -c git -n '__fish_git_using_command mailinfo' -l no-scissors -d 'Ign complete -x -c git -n '__fish_git_using_command mailinfo' -l quoted-cr -a 'nowarn warn strip' -d 'Action when processed email message end with CRLF instead of LF' ### mailsplit -complete -F -c git -n __fish_git_needs_command -a mailsplit -d 'Simple UNIX mbox splitter program' +complete -c git -n __fish_git_needs_command -a mailsplit -d 'Simple UNIX mbox splitter program' complete -F -c git -n '__fish_git_using_command mailsplit' -s o -d 'Directory to place individual messages' complete -f -c git -n '__fish_git_using_command mailsplit' -s b -d 'Treat files not starting with From line as single mail message' complete -x -c git -n '__fish_git_using_command mailsplit' -s d -d 'File name prefix digit precision' From e9a16ed7b546f09ffaeb0327b10115046e6bd72d Mon Sep 17 00:00:00 2001 From: Yaksh Bariya Date: Fri, 23 Jul 2021 06:55:07 +0530 Subject: [PATCH 12/12] Fix typos --- share/completions/git.fish | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/share/completions/git.fish b/share/completions/git.fish index 57a65158d..53a2b5b8e 100644 --- a/share/completions/git.fish +++ b/share/completions/git.fish @@ -1170,8 +1170,8 @@ complete -x -c git -n '__fish_git_using_command daemon' -l user -d 'Change daemo complete -x -c git -n '__fish_git_using_command daemon' -l group -d 'Change daemon\'s gid' complete -x -c git -n '__fish_git_using_command daemon' -l enable -a 'upload-pack upload-archive receive-pack' -d 'Enable service' complete -x -c git -n '__fish_git_using_command daemon' -l disable -a 'upload-pack upload-archive receive-pack' -d 'Disable service' -complete -x -c git -n '__fish_git_using_command daemon' -l allow-override -a 'upload-pack upload-archive recieve-pack' -d 'Allow overriding site-wide default per repository configuration' -complete -x -c git -n '__fish_git_using_command daemon' -l forbid-override -a 'upload-pack upload-archive recieve-pack' -d 'Forbid overriding site-wide drfault per repository configuration' +complete -x -c git -n '__fish_git_using_command daemon' -l allow-override -a 'upload-pack upload-archive receive-pack' -d 'Allow overriding site-wide default per repository configuration' +complete -x -c git -n '__fish_git_using_command daemon' -l forbid-override -a 'upload-pack upload-archive receive-pack' -d 'Forbid overriding site-wide default per repository configuration' complete -f -c git -n '__fish_git_using_command daemon' -l informative-errors -d 'Report more verbose errors to clients' complete -f -c git -n '__fish_git_using_command daemon' -l no-informative-errors -d 'Report less verbose errors to clients' complete -x -c git -n '__fish_git_using_command daemon' -l access-hook -d 'Hook to run whenever a client connects'