Skip to content

Commit 31b52ee

Browse files
committed
feat(_comp__init): source system startup files earlier
1 parent 4990f89 commit 31b52ee

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

bash_completion

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3595,10 +3595,14 @@ _comp__init_collect_startup_configs()
35953595
35963596
# collect startup files
35973597
local -A startup_visited=()
3598-
local startup_dir startup_files
35993598
for startup_dir in "${startup_dirs[@]}"; do
36003599
[[ -d $startup_dir && -r $startup_dir && -x $startup_dir ]] || continue
3600+
3601+
local -a startup_files=()
36013602
_comp_expand_glob startup_files "$startup_dir/*.bash" || continue
3603+
3604+
local -a selected_startup_files=()
3605+
local startup_dir
36023606
for startup_file in "${startup_files[@]}"; do
36033607
[[ ! -d $startup_file && -r $startup_file ]] || continue
36043608
@@ -3610,8 +3614,12 @@ _comp__init_collect_startup_configs()
36103614
[[ ${startup_visited[$name]-} ]] && continue
36113615
startup_visited[$name]=set
36123616
3613-
_comp__init_startup_configs+=("$startup_file")
3617+
selected_startup_files+=("$startup_file")
36143618
done
3619+
3620+
# Prepend the selected startup files because we want to source the
3621+
# system startup files earlier.
3622+
_comp__init_startup_configs=("${selected_startup_files[@]}" "${_comp__init_startup_configs[@]}")
36153623
done
36163624
36173625
# collect compat completion directory definitions

test/t/unit/test_unit_init_collect_startup_configs.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ def test_count(self, bash):
1414
@pytest.mark.parametrize(
1515
"module,expected",
1616
[
17-
("foo", "usr:1"),
18-
("bar", "usr:2"),
19-
("baz", "usr:3"),
20-
("qux", "usr:4"),
21-
("quux", "sys:5"),
17+
("quux", "sys:1"),
18+
("foo", "usr:2"),
19+
("bar", "usr:3"),
20+
("baz", "usr:4"),
21+
("qux", "usr:5"),
2222
],
2323
)
2424
def test_order(self, bash, module, expected):

0 commit comments

Comments
 (0)