oh-my-posh/src/init/omp.zsh

50 lines
1.1 KiB
Bash
Raw Normal View History

2020-12-23 04:00:50 -08:00
export POSH_THEME=::CONFIG::
function omp_preexec() {
omp_start_time=$(::OMP:: --millis)
}
function omp_precmd() {
stack_count=${#dirstack[@]}
omp_last_error=$?
2020-12-23 04:00:50 -08:00
omp_elapsed=-1
if [ $omp_start_time ]; then
omp_now=$(::OMP:: --millis)
omp_elapsed=$(($omp_now-$omp_start_time))
fi
eval "$(::OMP:: --config $POSH_THEME --error $omp_last_error --execution-time $omp_elapsed --stack-count $stack_count --eval --shell zsh)"
2020-12-23 04:00:50 -08:00
unset omp_start_time
unset omp_now
unset omp_elapsed
unset omp_last_error
2020-12-23 04:00:50 -08:00
}
function install_omp_hooks() {
for s in "${preexec_functions[@]}"; do
if [ "$s" = "omp_preexec" ]; then
return
fi
done
preexec_functions+=(omp_preexec)
for s in "${precmd_functions[@]}"; do
if [ "$s" = "omp_precmd" ]; then
return
fi
done
precmd_functions+=(omp_precmd)
}
if [ "$TERM" != "linux" ]; then
install_omp_hooks
fi
2021-03-20 11:32:15 -07:00
function export_poshconfig() {
[ $# -eq 0 ] && { echo "Usage: $0 \"filename\""; return; }
format=$2
if [ -z "$format" ]; then
format="json"
fi
::OMP:: --config $POSH_THEME --print-config --config-format $format > $1
}