2020-12-23 04:12:10 -08:00
|
|
|
export POSH_THEME=::CONFIG::
|
|
|
|
|
2021-03-02 11:37:31 -08:00
|
|
|
TIMER_START="/tmp/${USER}.start.$$"
|
|
|
|
|
|
|
|
PS0='$(::OMP:: --millis > $TIMER_START)'
|
|
|
|
|
2021-03-18 10:47:22 -07:00
|
|
|
function _omp_hook() {
|
|
|
|
local ret=$?
|
|
|
|
|
2021-03-02 11:37:31 -08:00
|
|
|
omp_elapsed=-1
|
|
|
|
if [[ -f $TIMER_START ]]; then
|
|
|
|
omp_now=$(::OMP:: --millis)
|
|
|
|
omp_start_time=$(cat "$TIMER_START")
|
2021-03-18 10:47:22 -07:00
|
|
|
omp_elapsed=$((omp_now-omp_start_time))
|
|
|
|
rm "$TIMER_START"
|
2021-03-02 11:37:31 -08:00
|
|
|
fi
|
2021-03-18 10:56:15 -07:00
|
|
|
PS1="$(::OMP:: --config $POSH_THEME --shell bash --error $ret --execution-time $omp_elapsed)"
|
2021-03-18 10:47:22 -07:00
|
|
|
|
|
|
|
return $ret
|
2020-12-23 04:12:10 -08:00
|
|
|
}
|
|
|
|
|
2021-03-18 10:47:22 -07:00
|
|
|
if [ "$TERM" != "linux" ] && [ -x "$(command -v ::OMP::)" ] && ! [[ "$PROMPT_COMMAND" =~ "_omp_hook" ]]; then
|
|
|
|
PROMPT_COMMAND="_omp_hook; $PROMPT_COMMAND"
|
2020-12-23 04:12:10 -08:00
|
|
|
fi
|
2021-03-02 11:37:31 -08:00
|
|
|
|
2021-03-18 10:47:22 -07:00
|
|
|
function _omp_runonexit() {
|
|
|
|
[[ -f $TIMER_START ]] && rm "$TIMER_START"
|
2021-03-02 11:37:31 -08:00
|
|
|
}
|
|
|
|
|
2021-03-18 10:47:22 -07:00
|
|
|
trap _omp_runonexit EXIT
|
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
|
|
|
|
}
|