From dca638e3011eb53e7cad054d1886eb65b9e882de Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Mon, 30 Sep 2019 16:51:11 +0000 Subject: 44797: _git-config: Complete unknown options from 'git help -c'. --- Completion/Unix/Command/_git | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Completion/Unix/Command') diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index 29fa379a7..873b13e5b 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -2886,9 +2886,16 @@ __git_config_option-or-value () { declare -a git_present_options # 'present' is an adjective git_present_options=( ${${${(0)"$(_call_program gettable-options git config -z --list)"}%%$'\n'*}//:/\\:} + + # Remove the "'git help config' for more information" line. + # + # Change literal 'foo..baz' to 'foo.*.baz'. With that, completing + # at foo.lorem. will offer foo.lorem.baz. + ${${${(f)"$(_call_program all-known-options "git help -c")"}:#* *}/<*>/*} ) - # Add to $git_options options from the config file that aren't already in $git_options. + # Add to $git_options options from the config file, and from 'git help -c', + # that aren't already in $git_options. () { local -a -U sections_that_permit_arbitrary_subsection_names=( alias -- cgit 1.4.1