#!/bin/csh

# ------------------------------------------------------------------------------
# Aliases
#
# --- a bit of fiddling about
set uname = `uname`
if ( `uname` == SunOS && `uname -r` =~ 5.* ) set uname = Solaris

switch ($uname)
case SunOS:
        alias pr '/usr/5bin/pr'
        alias ar '/usr/5bin/ar'
        # alias ls '/usr/5bin/ls'
        breaksw
default:
        breaksw
endsw
# --- standard stuff
alias h history
alias a alias
alias path 'echo "$PATH"|tr : '"'\n'"
alias ADDPATH 'setenv \!^ "$\!^":\!\!:2'
alias PATHADD 'setenv \!^ "\!\!:2":$\!^'
alias addpath 'set path = ( $path \!* ); rehash'
alias pathadd 'set path = ( \!* $path ); rehash'
alias rempath 'set path = ( `echo $path|tr " " "\012"|grep -v \!^` ); rehash'
alias addcdpath 'set cdpath = ( $cdpath \!* )'
alias ll ls -l
alias lf ls -aF
alias la ls -a
alias dir ls -AF
alias del rm -i
alias cls tput clear
alias cwd 'echo $cwd'
alias type more
alias mknod /etc/mknod
alias psf 'ps -ef | grep -i \!^ | grep -v grep'
alias psu 'ps -fu $USER'
alias psuf 'ps -fu $USER | grep -i \!^ | grep -v grep'
alias longline 'awk '\
               "'"'BEGIN {i=0;j=0}'\
                  '{if(i<length($0))'\
                  '{i=length($0);j=NR}}'\
                  'END{print "longest line: "i" chars (line no "j")"}'\
                  "' \!^"

# ------------------------------------------------------------------------------

# --- finding things - file names
alias ff 'find * -name '"'"'\!^'"'"' -print'
alias ff. 'find . -name '"'"'\!^'"'"' -print'
alias ffl 'find . -name '"'"'\!^'"'"' -exec ls -ld {} \;'
alias fff 'find $cwd -name '"'"'\!^'"'"' -print'
alias fff. 'find `pwd` -name '"'"'\!^'"'"' -print'
alias ffd 'find $cwd -type d -name '"'"'\!^'"'"' -print'
alias ffr 'find \!^ -name '"'"'\!:2-$'"'"' -print'
alias ff/ 'find / -name '"'"'\!^'"'"' -print'
# removing files
alias ffrm 'find . -depth -name '"'"'\!^'"'"' -exec rm {} \;'
alias ffrmi 'find . -depth -name '"'"'\!^'"'"' -exec rm -i {} \;'
# executing for all files
alias ffx 'find . -name '"'"'\!^'"'"' -exec \!\!:2-$ {} \;'

# general find things in files: \!^ is file pattern, \!:2-$ are grep things
set find_prefix="find . -type f -name"
alias f  "$find_prefix '"'\!^'"'"' -exec grep -n \!\!:2-$ {} /dev/null \;'
alias fi "$find_prefix '"'\!^'"'"' -exec grep -ni \!\!:2-$ {} /dev/null \;'
alias fq "$find_prefix '"'\!^'"'"' -exec grep -l \!\!:2-$ {} \;'
unset find_prefix
# specialised instances for finding things in C source files
alias fh      'f *.h \!*'
alias fc      'f *.c \!*'
alias fch     'f *.[ch] \!*'
alias fchi    'f *.[chi] \!*'
alias fh++    'f *.h* \!*'
alias fc++    'f *.c* \!*'
alias fch++   'f *.[chCH]* \!*'
alias fchi++  'f *.[chiCHI]* \!*'
# specialised instances for finding things in C source files - case insensitive
alias fih     'fi *.h \!*'
alias fic     'fi *.c \!*'
alias fich    'fi *.[ch] \!*'
alias fichi   'fi *.[chi] \!*'
alias fih++   'fi *.[hH]* \!*'
alias fic++   'fi *.[cC]* \!*'
alias fich++  'fi *.[chCH]* \!*'
alias fichi++ 'fi *.[chiCHI]* \!*'
alias fichi++ 'fi *.[chiCHI]* \!*'

# finding and editing things
# in C files or in all files (in this directory)
alias vif 'vi +/'"'"'\!^'"'"' `grep -l '"'"'\!^'"'"' \!\!:2-$`'
alias vig 'vi +/'"'"'\!*'"'"' `grep -l '"'"'\!*'"'"' *.[ch]`'
alias vigc 'vi +/'"'"'\!*'"'"' `grep -l '"'"'\!*'"'"' *.c`'
alias vigh 'vi +/'"'"'\!*'"'"' `grep -l '"'"'\!*'"'"' *.h`'
alias viga 'vi +/'"'"'\!*'"'"' `grep -l '"'"'\!*'"'"' *`'
alias vig++ 'vi +/'"'"'\!*'"'"' `grep -l '"'"'\!*'"'"' *.[chiCHI]*`'
# recursive find and edit aliases
alias vifr 'vi +/'"'"'\!^'"'"' `fq \!\!:2-$ '"'"'\!^'"'"'`'
alias vigr 'vi +/'"'"'\!*'"'"' `fq *.[ch] '"'"'\!*'"'"'`'
alias vigrc 'vi +/'"'"'\!*'"'"' `fq *.c '"'"'\!*'"'"'`'
alias vigrh 'vi +/'"'"'\!*'"'"' `fq *.h '"'"'\!*'"'"'`'
alias vigra 'vi +/'"'"'\!*'"'"' `fq * '"'"'\!*'"'"'`'
alias vigr++ 'vi +/'"'"'\!*'"'"' `fq *.[chiCHI]* '"'"'\!*'"'"'`'

# --- diffing
alias wdiff sdiff -w172

# --- other stuff
alias display setenv DISPLAY
alias sd 'echo setenv DISPLAY $DISPLAY'
alias = "echo 'scale = 8; ' '\!*' | bc -l"
alias mman '(setenv PAGER "more -c" ; man \!*)'
alias  'stty erase '
alias  'stty erase '

# --- DISPLAY?
if ( $?DISPLAY ) then
        alias ned0env 'unsetenv NEDIT_*'
        if ( "`alias ned`" == "" ) alias ned 'nc -noask \!*'
        alias ned0 '( ned0env; exec nc -noask -svrname ${USER}_nedit0 \!* )'
        # alias dodt '(cd; unsetenv cdDepth; ttsession; sleep 1; dtsession &)'
endif

# --- use of par - see http://www.nicemice.net/par/
setenv PARINIT 'rTbgqR B=.,?_A_a Q=_s>|'

# ------------------------------------------------------------------------------
# Extra aliases
#
# --- Makes it all a bit slower...

foreach aliaspath ( ~ ~/.util )
        # check out any .aliasrc files
        if ( -r $aliaspath/.aliasrc ) then
                source $aliaspath/.aliasrc
        endif
end
unset aliaspath

