From: SZEDER Gábor Date: Thu, 23 Mar 2017 15:38:39 +0000 (+0100) Subject: completion: offer ctags symbol names for 'git log -S', '-G' and '-L:' X-Git-Tag: v2.13.0-rc0~45^2 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/41d2716cdc9179c5faa39d3fc05edf1e8bfd42cf?ds=inline;hp=--cc completion: offer ctags symbol names for 'git log -S', '-G' and '-L:' Just like in the case of search patterns for 'git grep', see 29eec71f2 (completion: match ctags symbol names in grep patterns, 2011-10-21)), a common thing to look for using 'git log -S', '-G' and '-L:' is the name of a symbol. Teach the completion for 'git log' to offer ctags symbol names after these options, both in stuck and in unstuck forms. Signed-off-by: SZEDER Gábor Signed-off-by: Junio C Hamano --- 41d2716cdc9179c5faa39d3fc05edf1e8bfd42cf diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index a2b8603416..d6f25a7e0b 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -1687,6 +1687,19 @@ _git_log () if [ -f "$__git_repo_path/MERGE_HEAD" ]; then merge="--merge" fi + case "$prev,$cur" in + -L,:*:*) + return # fall back to Bash filename completion + ;; + -L,:*) + __git_complete_symbol --cur="${cur#:}" --sfx=":" + return + ;; + -G,*|-S,*) + __git_complete_symbol + return + ;; + esac case "$cur" in --pretty=*|--format=*) __gitcomp "$__git_log_pretty_formats $(__git_pretty_aliases) @@ -1732,6 +1745,21 @@ _git_log () " return ;; + -L:*:*) + return # fall back to Bash filename completion + ;; + -L:*) + __git_complete_symbol --cur="${cur#-L:}" --sfx=":" + return + ;; + -G*) + __git_complete_symbol --pfx="-G" --cur="${cur#-G}" + return + ;; + -S*) + __git_complete_symbol --pfx="-S" --cur="${cur#-S}" + return + ;; esac __git_complete_revlist }