From 08b301721fbd2d49143826517775e2d55b6f30c7 Mon Sep 17 00:00:00 2001 From: Johannes Altmanninger Date: Sun, 29 Mar 2020 23:08:19 +0200 Subject: [PATCH] Fix file completions for tig/gitk after -- separator [ci skip] --- share/completions/gitk.fish | 39 ++++++++++++++++++------------------- share/completions/tig.fish | 20 +++++++++---------- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/share/completions/gitk.fish b/share/completions/gitk.fish index 17e0d4b6c..c449460a9 100644 --- a/share/completions/gitk.fish +++ b/share/completions/gitk.fish @@ -2,26 +2,25 @@ source $__fish_data_dir/completions/git.fish -complete -c gitk -f -n 'not contains -- -- (commandline -opc)' -a '(__fish_git_ranges)' -complete -c gitk -n 'contains -- -- (commandline -opc)' -F - -complete -c gitk -l all -d 'Show all refs (branches, tags, etc.)' -complete -c gitk -l since=YYYY-MM-DD -x -d 'Show commits more recent that a specific date' -complete -c gitk -l until=YYYY-MM-DD -x -d 'Show commits older than a specific date' -complete -c gitk -l date-order -d 'Sort commits by date when possible' -complete -c gitk -l merge -d 'On a merge conflict, show commits that modify conflicting files' -complete -c gitk -l left-right -d 'Mark which side of a symmetric difference a commit is reachable from' -complete -c gitk -l full-history -d 'When filtering history with -- path..., do not prune some history' -complete -c gitk -l simplify-merges -d 'Hide needless merges from history' -complete -c gitk -l ancestry-path -d 'Only display commits that exist directly on the ancestry chain between the given range' -complete -c gitk -l argscmd= -d 'Command to be run to determine th revision range to show' -complete -c gitk -l select-commit= -d 'Select the specified commit after loading the graph, instead of HEAD' -complete -c gitk -l select-commit=HEAD -d 'Select the specified commit after loading the graph, instead of HEAD' -complete -c gitk -n 'string match -rq -- "^--select-commit=" (commandline -ct)' -xa '(printf -- "--select-commit=%s\n" (__fish_git_refs))' -complete -c gitk -s n -l max-count -x -d 'Limit the number of commits to output' -complete -c gitk -xa -L1 -d '-L,: trace the evolution of a line range' -complete -c gitk -xa -L. -d '-L: trace the evolution of a function name regex' -complete -c gitk -n 'string match -rq -- "^-L[^:]*": (commandline -ct)' -xa '( +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l all -d 'Show all refs (branches, tags, etc.)' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l since=YYYY-MM-DD -x -d 'Show commits more recent that a specific date' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l until=YYYY-MM-DD -x -d 'Show commits older than a specific date' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l date-order -d 'Sort commits by date when possible' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l merge -d 'On a merge conflict, show commits that modify conflicting files' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l left-right -d 'Mark which side of a symmetric difference a commit is reachable from' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l full-history -d 'When filtering history with -- path..., do not prune some history' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l simplify-merges -d 'Hide needless merges from history' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l ancestry-path -d 'Only display commits that exist directly on the ancestry chain between the given range' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l argscmd= -d 'Command to be run to determine th revision range to show' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l select-commit= -d 'Select the specified commit after loading the graph, instead of HEAD' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -l select-commit=HEAD -d 'Select the specified commit after loading the graph, instead of HEAD' +complete -c gitk -n 'not contains -- -- (commandline -opc) && string match -rq -- "^--select-commit=" (commandline -ct)' -xa '(printf -- "--select-commit=%s\n" (__fish_git_refs))' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -s n -l max-count -x -d 'Limit the number of commits to output' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -xa -L1 -d '-L,: trace the evolution of a line range' +complete -c gitk -n 'not contains -- -- (commandline -opc)' -xa -L. -d '-L: trace the evolution of a function name regex' +complete -c gitk -n 'not contains -- -- (commandline -opc) && string match -rq -- "^-L[^:]*": (commandline -ct)' -xa '( set -l tok (string split -m 1 -- : (commandline -ct)) printf -- "$tok[1]:%s\n" (complete -C": $tok[2]") )' +complete -c gitk -f -n 'not contains -- -- (commandline -opc)' -a '(__fish_git_ranges)' +complete -c gitk -F -n 'contains -- -- (commandline -opc)' diff --git a/share/completions/tig.fish b/share/completions/tig.fish index 196f98468..5343e28d6 100644 --- a/share/completions/tig.fish +++ b/share/completions/tig.fish @@ -3,7 +3,7 @@ not functions -q __fish_git && source $__fish_data_dir/completions/git.fish set -l subcommands log show reflog blame grep refs statsh status -complete -c tig -n "not __fish_seen_subcommand_from $subcommands" -xa 'show\t"Open diff view using the given git-show(1) options" +complete -c tig -n "not contains -- -- (commandline -opc) && not __fish_seen_subcommand_from $subcommands" -xa 'show\t"Open diff view using the given git-show(1) options" blame\t"Annotate the given file, takes git-blame(1) options" status\t"Start up in status view" log\t"Start up in log view view, displaying git-log(1) output" @@ -12,16 +12,16 @@ refs\t"Start up in refs view" stash\t"Start up in stash view" grep\t"Open the grep view. Supports the same options as git-grep(1)" ' -complete -c tig -l stdin -d 'Read git commit IDs from stdin' -complete -c tig -l pretty=raw -d 'Read git log output from stdin' -complete -c tig -o C. -d 'Run as if Tig was started in .' -complete -c tig -s v -l version -d 'Show version and exit' -complete -c tig -s h -l help -d 'Show help message and exit' +complete -c tig -n 'not contains -- -- (commandline -opc)' -l stdin -d 'Read git commit IDs from stdin' +complete -c tig -n 'not contains -- -- (commandline -opc)' -l pretty=raw -d 'Read git log output from stdin' +complete -c tig -n 'not contains -- -- (commandline -opc)' -o C. -d 'Run as if Tig was started in .' +complete -c tig -n 'not contains -- -- (commandline -opc)' -s v -l version -d 'Show version and exit' +complete -c tig -n 'not contains -- -- (commandline -opc)' -s h -l help -d 'Show help message and exit' -complete -c tig -n '__fish_seen_subcommand_from show' -xa '(set -l t (commandline -ct); complete -C"git show $t")' -complete -c tig -n '__fish_seen_subcommand_from blame' -xa '(set -l t (commandline -ct); complete -C"git blame $t")' -complete -c tig -n '__fish_seen_subcommand_from log' -xa '(set -l t (commandline -ct); complete -C"git log $t")' -complete -c tig -n '__fish_seen_subcommand_from grep' -xa '(set -l t (commandline -ct); complete -C"git grep $t")' +complete -c tig -n 'not contains -- -- (commandline -opc) && __fish_seen_subcommand_from show' -xa '(set -l t (commandline -ct); complete -C"git show $t")' +complete -c tig -n 'not contains -- -- (commandline -opc) && __fish_seen_subcommand_from blame' -xa '(set -l t (commandline -ct); complete -C"git blame $t")' +complete -c tig -n 'not contains -- -- (commandline -opc) && __fish_seen_subcommand_from log' -xa '(set -l t (commandline -ct); complete -C"git log $t")' +complete -c tig -n 'not contains -- -- (commandline -opc) && __fish_seen_subcommand_from grep' -xa '(set -l t (commandline -ct); complete -C"git grep $t")' complete -c tig -f -n 'not contains -- -- (commandline -opc)' -a '(__fish_git_ranges)' complete -c tig -n 'contains -- -- (commandline -opc)' -F