chiark / gitweb /
el/dot-emacs.el: Better fontification for Ediff.
[profile] / dot / rcrc
1 ### -*-rc-*-
2 ### rc profile
3
4 ###--------------------------------------------------------------------------
5 ### Prompt machinery.
6
7 host = `hostname
8
9 if (~ $TERM linux* screen* xterm* vt100* eterm*) {
10   bold = `{tput bold} unbold = `{tput sgr0}
11 } else {
12   bold = '' unbold = ''
13 }
14
15 if (~ `{id -u} 0) {
16   left = `{iconv -f utf8 -t //translit <<< «}
17   right = `{iconv -f utf8 -t //translit <<< »}
18 } else {
19   u = `{id -un}
20   if (~ $u mdw mwooding) {
21     u = '' left = '[' right = ']'
22   } else {
23     u = $u^@ left = '{' right = '}'
24   }
25   if (~ $__mdw_tty `tty) {
26     left = '<' right = '>'
27   } else {
28     __mdw_tty = `tty
29   }
30 }
31
32 if (~ $#SSH_CLIENT 0 && ! ~ $__mdw_sechost $host) {
33   sec_l = '(' sec_r = ')'
34 }
35
36 fn prompt {
37   cwd = `pwd
38   if (~ $cwd $home $home/*) {
39     cwd = `{sed 's:^' ^ $home ^':~:' <<< $cwd}
40   }
41   prompt = ($bold$left$sec_l$u$host$sec_r^' '^$cwd$right$unbold '')
42 }
43
44 ###--------------------------------------------------------------------------
45 ### Convenient aliases.
46
47 fn rootly { ~ $#* 0 && * = $SHELL; $__MDW_ROOTLY $* }
48 fn r { rootly $* }
49 fn re { rootly $EDITOR $* }
50 fn pstree { builtin pstree -hl }
51 fn e { $EDITOR $* }
52 fn @ { ssh $* }
53
54 fn ls {
55   if (test -t 1) {
56     builtin ls $LS_OPTIONS '--color=auto' $*
57   } else {
58     builtin ls $*
59   }
60 }
61
62 fn greplike {
63   grep = $1; shift
64   if (test -t 1) {
65     builtin $grep '--color=always' $* | mdw-pager
66   } else {
67     builtin grep $*
68   }
69 }
70 fn grep { greplike grep $* }
71 fn egrep { greplike egrep $* }
72 fn fgrep { greplike fgrep $* }
73 fn zgrep { greplike zgrep $* }
74
75 if (~ $INSIDE_EMACS 22.*,comint) PAGER = cat
76
77 ###----- That's all, folks --------------------------------------------------