Skip to content

Commit 16e1719

Browse files
committed
lib/preexec: trim whitespace
Alsö, use `_bash-it-array-contains-element()`
1 parent e3ecfef commit 16e1719

File tree

1 file changed

+14
-20
lines changed

1 file changed

+14
-20
lines changed

lib/preexec.bash

+14-20
Original file line numberDiff line numberDiff line change
@@ -27,32 +27,25 @@ __bp_install_after_session_init
2727

2828
## Helper functions
2929
function __check_precmd_conflict() {
30-
local f # TODO: trim whitespace like preexec does
31-
for f in "${precmd_functions[@]}"; do
32-
if [[ "${f}" == "${1}" ]]; then
33-
return 0
34-
fi
35-
done
36-
return 1
30+
local f
31+
__bp_trim_whitespace f "${1?}"
32+
! _bash-it-array-contains-element "${f}" "${precmd_functions[@]}"
3733
}
3834

3935
function __check_preexec_conflict() {
40-
local f # TODO: trim whitespace like preexec does
41-
for f in "${preexec_functions[@]}"; do
42-
if [[ "${f}" == "${1}" ]]; then
43-
return 0
44-
fi
45-
done
46-
return 1
36+
local f
37+
__bp_trim_whitespace f "${1?}"
38+
! _bash-it-array-contains-element "${f}" "${preexec_functions[@]}"
4739
}
4840

4941
function safe_append_prompt_command {
50-
local prompt_re
42+
local prompt_re f
43+
__bp_trim_whitespace f "${1?}"
5144

5245
if [ "${__bp_imported:-missing}" == "defined" ]; then
5346
# We are using bash-preexec
54-
if ! __check_precmd_conflict "${1}"; then
55-
precmd_functions+=("${1}")
47+
if ! __check_precmd_conflict "${f}"; then
48+
precmd_functions+=("${f}")
5649
fi
5750
else
5851
# Set OS dependent exact match regular expression
@@ -75,12 +68,13 @@ function safe_append_prompt_command {
7568
}
7669

7770
function safe_append_preexec {
78-
local prompt_re
71+
local prompt_re f
72+
__bp_trim_whitespace f "${1?}"
7973

8074
if [ "${__bp_imported:-missing}" == "defined" ]; then
8175
# We are using bash-preexec
82-
if ! __check_preexec_conflict "${1}"; then
83-
preexec_functions+=("${1}")
76+
if ! __check_preexec_conflict "${f}"; then
77+
preexec_functions+=("${f}")
8478
fi
8579
else
8680
_log_error "${FUNCNAME[0]}: can't append to preexec hook because _bash-preexec.sh_ hasn't been loaded"

0 commit comments

Comments
 (0)