mirror of
https://github.com/JanDeDobbeleer/oh-my-posh.git
synced 2025-01-14 04:38:00 -08:00
fix(bash): respect PROMPT_COMMAND
as an array
This commit is contained in:
parent
1510d207a2
commit
5779f6ecb8
|
@ -35,7 +35,7 @@ function _omp_set_cursor_position() {
|
||||||
|
|
||||||
local COL
|
local COL
|
||||||
local ROW
|
local ROW
|
||||||
IFS=';' read -sdR -p $'\E[6n' ROW COL
|
IFS=';' read -rsdR -p $'\E[6n' ROW COL
|
||||||
|
|
||||||
stty "$oldstty"
|
stty "$oldstty"
|
||||||
|
|
||||||
|
@ -60,10 +60,10 @@ function set_poshcontext() {
|
||||||
|
|
||||||
# regular prompt
|
# regular prompt
|
||||||
function _omp_hook() {
|
function _omp_hook() {
|
||||||
_omp_status_cache=$? _omp_pipestatus_cache=(${PIPESTATUS[@]})
|
_omp_status_cache=$? _omp_pipestatus_cache=("${PIPESTATUS[@]}")
|
||||||
|
|
||||||
if [[ ${#BP_PIPESTATUS[@]} -ge ${#_omp_pipestatus_cache[@]} ]]; then
|
if [[ ${#BP_PIPESTATUS[@]} -ge ${#_omp_pipestatus_cache[@]} ]]; then
|
||||||
_omp_pipestatus_cache=(${BP_PIPESTATUS[@]})
|
_omp_pipestatus_cache=("${BP_PIPESTATUS[@]}")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
_omp_stack_count=$((${#DIRSTACK[@]} - 1))
|
_omp_stack_count=$((${#DIRSTACK[@]} - 1))
|
||||||
|
@ -87,6 +87,14 @@ function _omp_hook() {
|
||||||
return $_omp_status_cache
|
return $_omp_status_cache
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $TERM != linux ]] && ! [[ $PROMPT_COMMAND =~ _omp_hook ]]; then
|
function _omp_install_hook() {
|
||||||
PROMPT_COMMAND="_omp_hook; $PROMPT_COMMAND"
|
local cmd
|
||||||
fi
|
for cmd in "${PROMPT_COMMAND[@]}"; do
|
||||||
|
if [[ $cmd = "_omp_hook" ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
PROMPT_COMMAND=(_omp_hook "${PROMPT_COMMAND[@]}")
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $TERM != linux ]] && _omp_install_hook
|
||||||
|
|
Loading…
Reference in a new issue