######################################### # CSHENV Environment, core loading file # ######################################### # CSHENV Debugging tests if( ( $?CSHENV_DEBUG ) || ( $?CSHENV_VERBOSE_STARTUP ) ) then echo "Currently running tcshrc script" endif set path=( ${CSHENV_DIR}/bin ${HOME}/.local/opt/bin ${path} ) setenv CSHENV_MACHINE_SUFFIX # Figure out what kind of tcsh we are running. if( $?tcsh ) then set tcsh_major=$tcsh:r:r set tcsh_minor=$tcsh:r:e set tcsh_patch=$tcsh:e set tcsh_features=$version:as/ /.:as/,/./ if( $tcsh_minor < 12 ) then echo "We are on a very ancient TCSH! There may be many problems..." else if( $tcsh_minor == 14 && $tcsh_patch < 2 ) then _debug "We may not have ADAM's patches..." endif endif else # As we develop support for C++sh, we'll need this if( !$?cxxsh ) then echo "What! We're not even in TCSH or something compatible, like C++sh!!!" endif endif set cur_feature=$tcsh_features:e # TCSH Extended features configuration set color set noding set padhour _debug "TCSH Featureset probed..." #The history size for your shell can be set globally now if( $?CSHENV_HISTORY_SIZE ) then set history=${CSHENV_HISTORY_SIZE} endif _debug "Setting up optional sourcing mechanism." # This safe_source alias is incredibly delicate. It drives the whole # optional sourcing mechanism -- DO NOT MESS WITH IT! alias old_safe_source 'eval "if ( -f \!:1 ) then \\ source \!:1 \\ endif"' alias new_safe_source "test -f \!:1 && source \!:1" alias safe_source new_safe_source _debug "Setting up optional session sourcing mechanism." # These reload_session and `__load_session` aliases ar incredibly delicate. They drives # the whole optional session mechanism -- DO NOT MESS WITH IT LIGHTLY! alias __load_session safe_source tcshrc.session.\$CSHENV_SESSION_PROFILE _debug "Setting up optional session sourcing mechanism wrapper." alias reload_session 'eval "if ( \$?CSHENV_SESSION_PROFILE ) then \\ __load_session \\ endif"' _debug "Setting change session alias..." alias change_session setenv CSHENV_SESSION_PROFILE \!:1\;__load_session _debug "TCSH safe-source alias constructed..." safe_source ${CSHENV_DIR}/tcshrc.conf # Dispatch to find out what our OS is and any fixups # This will figure out what system we're on and setup all # system specific notions. From the sourced file, # tcshrc.system.???? will be called _debug "Trying to source tcshrc.system" source ${CSHENV_DIR}/tcshrc.system #For GNU ls(1) {From coreutils} and tcsh's color ls-F #Also, coming soon, my port of ls-F highlighting to FreeBSD's #ls(1) -G facility source ${CSHENV_DIR}/tcshrc.lscolors setenv CLICOLOR_FORCE _debug "Trying to source tcshrc.${CSHENV_SYSTEM}" safe_source ${CSHENV_DIR}/tcshrc.${CSHENV_SYSTEM} # Having figured out the system, then we can load specific aliases _debug "Trying to source tcshrc.aliases" source ${CSHENV_DIR}/tcshrc.aliases _debug "Trying to source tcshrc.${CSHENV_HOSTNAME}" safe_source ${CSHENV_DIR}/tcshrc.${CSHENV_HOSTNAME} if( $?CSHENV_ORGANIZATION ) then safe_source ${CSHENV_DIR}/tcshrc.${CSHENV_ORGANIZATION} endif _debug "Trying to source tcshrc.bindkeys" source ${CSHENV_DIR}/tcshrc.bindkeys set path=( ${path} /usr/sbin /sbin ) # TCSHRC Prompt is the LAST thing we do, since it's the entry to # user interface _debug "Trying to source tcshrc.prompt" source ${CSHENV_DIR}/tcshrc.prompt safe_source ${CSHENV_DIR}/tcshrc.user _debug "Loading session, if one is set" reload_session _debug "Session loading done" ########################### # vim: ft=tcsh ###########################