completion: use awk for filtering the config entries
Commits1e0ee4087e
(completion: add and use __git_compute_first_level_config_vars_for_section, 2024-02-10) and6e32f718ff
(completion: add and use __git_compute_second_level_config_vars_for_section, 2024-02-10) introduced new helpers for config completion. Both helpers use a pipeline of grep and awk to filter the list of config entries. awk is perfectly capable of filtering, so let's eliminate the grep process and move the filtering into the awk script. The "-E" grep option (extended syntax) was not necessary, as $section is a single word. While at it, wrap the over-long lines to make them more readable. Signed-off-by: Beat Bolli <dev+git@drbeat.li> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
3e0d3cd5c7
commit
3c2e3d42d1
@ -2673,7 +2673,8 @@ __git_compute_first_level_config_vars_for_section ()
|
||||
__git_compute_config_vars
|
||||
local this_section="__git_first_level_config_vars_for_section_${section}"
|
||||
test -n "${!this_section}" ||
|
||||
printf -v "__git_first_level_config_vars_for_section_${section}" %s "$(echo "$__git_config_vars" | grep -E "^${section}\.[a-z]" | awk -F. '{print $2}')"
|
||||
printf -v "__git_first_level_config_vars_for_section_${section}" %s \
|
||||
"$(echo "$__git_config_vars" | awk -F. "/^${section}\.[a-z]/ { print \$2 }")"
|
||||
}
|
||||
|
||||
__git_compute_second_level_config_vars_for_section ()
|
||||
@ -2682,7 +2683,8 @@ __git_compute_second_level_config_vars_for_section ()
|
||||
__git_compute_config_vars_all
|
||||
local this_section="__git_second_level_config_vars_for_section_${section}"
|
||||
test -n "${!this_section}" ||
|
||||
printf -v "__git_second_level_config_vars_for_section_${section}" %s "$(echo "$__git_config_vars_all" | grep -E "^${section}\.<" | awk -F. '{print $3}')"
|
||||
printf -v "__git_second_level_config_vars_for_section_${section}" %s \
|
||||
"$(echo "$__git_config_vars_all" | awk -F. "/^${section}\.</ { print \$3 }")"
|
||||
}
|
||||
|
||||
__git_config_sections=
|
||||
|
Reference in New Issue
Block a user