16ba1a5897
This reduces per-prompt overhead a bit, as these never change, so it was just useless string bashing and parsing.
165 lines
4.8 KiB
Tcsh
165 lines
4.8 KiB
Tcsh
##########################
|
|
### PROMPT DEFINITIONS ###
|
|
##########################
|
|
|
|
_debug "Sourcing prompt setup and definitions..."
|
|
|
|
which shuf >& /dev/null
|
|
if( $? == 0 ) then
|
|
setenv CSHENV_DETECTED_SHUF
|
|
endif
|
|
|
|
if( ! $?unknown_tty ) then
|
|
set unknown_tty="?"
|
|
_debug "Unknown tty set..."
|
|
endif
|
|
|
|
|
|
|
|
# R G Y B C M
|
|
set reference_colors=( ${csi}91m ${csi}92m ${csi}93m ${csi}38\;5\;33m ${csi}95m ${csi}96m )
|
|
|
|
# R G Y B M
|
|
set reference_colors=( ${csi}91m ${csi}92m ${csi}93m ${csi}38\;5\;33m ${csi}96m )
|
|
|
|
# Select a set of Unicode codepoints for prompt referencing...
|
|
set referencechars_raw=""
|
|
|
|
# Nuke Symbol
|
|
set referencechars_raw="${referencechars_raw} 2622"
|
|
|
|
# Keyboard Symbol (Didn't look good -- spilled (not pushed) over 1.5 cells)
|
|
set keyboard_sym="2328"
|
|
set referencechars_raw="${referencechars_raw} ${keyboard_sym}"
|
|
|
|
# Telephone (Spills over 1 cell.)
|
|
set referencechars_raw="${referencechars_raw} 260e"
|
|
|
|
# Clover
|
|
set referencechars_raw="${referencechars_raw} 2618"
|
|
|
|
# Music notes
|
|
#set referencechars_raw="${referencechars_raw} 2669 266a 266b 266c"
|
|
|
|
# One Single music note,
|
|
#set referencechars_raw="${referencechars_raw} 2669"
|
|
#set referencechars_raw="${referencechars_raw} 266a"
|
|
# One double music note
|
|
#set referencechars_raw="${referencechars_raw} 266b"
|
|
#set referencechars_raw="${referencechars_raw} 266c"
|
|
|
|
# Dice
|
|
#set referencechars_raw="${referencechars_raw} 2680 2681 2682 2683 2684 2685"
|
|
|
|
# Card suits
|
|
set referencechars_raw="${referencechars_raw} 2660 2663 2665 2666"
|
|
|
|
# Inner planet symbols (Mercury, Venus, Earth, Mars)
|
|
set referencechars_raw="${referencechars_raw} 263f 2640 2641 2642"
|
|
|
|
# Outer Planet symbols (Jupiter, Saturn, Uranus, Neptune, Pluto)
|
|
set referencechars_raw="${referencechars_raw} 2643 2644 2645 2646 2647"
|
|
|
|
# Hollow Chess pieces
|
|
#set referencechars_raw="${referencechars_raw} 2654 2655 2656 2657 2658 2659"
|
|
|
|
# Filled Chess pieces
|
|
#set referencechars_raw="${referencechars_raw} 265a 265b 265c 265d 265e 265f"
|
|
|
|
# Roman Numerals
|
|
#set referencechars_raw="${referencechars_raw} 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 216a 216b"
|
|
|
|
### More symbols -- Recycling, Biohazard, Peace Sign, Atom, swords, flag, worktools, scales, fleur-de-lis, star, Face
|
|
#set referencechars_raw="${referencechars_raw} 267B 2623 262e 269b 2694 2692 2696 269a 2605 263b"
|
|
# Recycle
|
|
set referencechars_raw="${referencechars_raw} 267B"
|
|
# Biohazard
|
|
set referencechars_raw="${referencechars_raw} 2623"
|
|
# Peace Sign
|
|
set referencechars_raw="${referencechars_raw} 262e"
|
|
# Atom
|
|
#set referencechars_raw="${referencechars_raw} 269b"
|
|
# Face
|
|
#set referencechars_raw="${referencechars_raw} 263b"
|
|
|
|
# Wider symbols -- Cedeuceus, Anchor,
|
|
#set referencechars_raw="${referencechars_raw} 2624 2693"
|
|
|
|
# Zodiac symbols
|
|
#set referencechars_raw="${referencechars_raw} 2658 2649 264a 264b 264c 264d 264e 264f 2650 2651 2652 2653"
|
|
|
|
# Misc stuff -- colour? baseball Takes up too many width slots. Throws off alignment.
|
|
#set referencechars_raw="${referencechars_raw} 26be"
|
|
|
|
# Tape drive
|
|
set referencechars_raw="${referencechars_raw} 2707"
|
|
|
|
# skull
|
|
set referencechars_raw="${referencechars_raw} 2620"
|
|
|
|
# Beverage (Fixed color?)
|
|
#set referencechars_raw="${referencechars_raw} 2615"
|
|
|
|
#echo ${referencechars[1]}
|
|
set prompt_hcolor=0
|
|
set prompt_hsym=0
|
|
|
|
_debug "Building unicode sigils table...."
|
|
if( ! $?CSHENV_NO_UNICODE_PRINTF ) then
|
|
set referencechars=()
|
|
foreach ch ($referencechars_raw)
|
|
set unicode=`printf "\\u${ch}"`
|
|
set referencechars=( $referencechars `printf "${unicode}"` )
|
|
end
|
|
else
|
|
# Safe fallback for when there's no unicode printf
|
|
set referencechars="A B C D X Y Z"
|
|
endif
|
|
_debug "Done building unicode sigils table"
|
|
|
|
# Rotation
|
|
alias precmd 'source ${CSHENV_DIR}/tcshrc.prompt.final'
|
|
#alias postcmd echo doit
|
|
|
|
set promptchars='%#'
|
|
|
|
set prompt_simple="%{${sgr_reset}%}[%n@%m: %c]%# "
|
|
|
|
# Screens are almost certainly not a million chars wide.
|
|
# If they are... oh well, that's a really weird one.
|
|
set align_prefix="%{${csi}A${csi}1000000G${csi}18D%}"
|
|
set align_suffix="%{${csi}G${csi}1B%}"
|
|
#set screen_return="%{8%}"
|
|
set date_prompt="%{%Y-%W-%D%}"
|
|
set time_prompt="%{%P%}"
|
|
#unset edit
|
|
|
|
_debug "Building Cool prompt"
|
|
|
|
|
|
set depth_prompt="(${shlvl})"
|
|
|
|
#we "convert" pts/$number entries to ttypK entries?
|
|
set line_prompt="`tty | sed -e 's;/dev/tty;;' -e 's;/dev/pts/;p/;' -e 's;/dev/;;' -e 's/not a tty/${unknown_tty}/'`"
|
|
#set line_prompt="line"
|
|
set user_prompt="%n"
|
|
set host_prompt="${CSHENV_HOSTNAME}"
|
|
set path_prompt="%c02"
|
|
set end_prompt="%#"
|
|
|
|
# The battery level thresholds are fixed, no need to recompute each prompt.
|
|
set critical_battery_level = 10
|
|
set low_battery_level = 20
|
|
set weak_battery_level = 33
|
|
set medium_battery_level = 50
|
|
set strong_battery_level = 75
|
|
|
|
|
|
alias oldp 'set prompt="$prompt_simple"; set cshenv_user_prompt_override'
|
|
alias newp 'set prompt="$prompt_cool"; unset cshenv_user_prompt_override'
|
|
|
|
source ${CSHENV_DIR}/tcshrc.prompt.final
|
|
###########################
|
|
# vim:filetype=tcsh
|
|
###########################
|