153 lines
4.5 KiB
Tcsh
153 lines
4.5 KiB
Tcsh
##########################
|
||
### PROMPT DEFINITIONS ###
|
||
##########################
|
||
|
||
if( $?CSHENV_DEBUG ) then
|
||
echo "Sourcing prompt setup and definitions..."
|
||
endif
|
||
|
||
which shuf >& /dev/null
|
||
if( $? == 0 ) then
|
||
setenv CSHENV_DETECTED_SHUF
|
||
endif
|
||
|
||
if( ! $?unknown_tty ) then
|
||
set unknown_tty="?"
|
||
if( $?CSHENV_DEBUG ) then
|
||
echo "Unknown tty set..."
|
||
endif
|
||
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"
|
||
|
||
#echo ${referencechars[1]}
|
||
set prompt_hcolor=0
|
||
set prompt_hsym=0
|
||
|
||
set referencechars=()
|
||
foreach ch ($referencechars_raw)
|
||
set unicode=`gprintf "\\u${ch}"`
|
||
set referencechars=( $referencechars `gprintf "${unicode}"` )
|
||
end
|
||
|
||
if( $CSHENV_SYSTEM == "Darwin" ) then
|
||
# Macos seems to dislike using printf to construct unicode chars.
|
||
# So you get a dumb set of ABCDXYZ
|
||
set referencechars="A B C D X Y Z"
|
||
endif
|
||
|
||
# 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
|
||
|
||
if( $?CSHENV_DEBUG ) then
|
||
echo "Building Cool prompt"
|
||
endif
|
||
|
||
|
||
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="%#"
|
||
|
||
alias oldp 'set prompt="$prompt_simple"; set cshenv_user_prompt_override'
|
||
alias newp 'set prompt="$prompt_cool"; set cshenv_user_prompt_override'
|
||
|
||
source ${CSHENV_DIR}/tcshrc.prompt.final
|
||
###########################
|
||
# vim:filetype=tcsh
|
||
###########################
|