root/dotfiles/zsh/n0ts-zfunctions-preexec

Revision 10517, 1.5 kB (checked in by n0ts, 9 months ago)

Added my zsh files

Line 
1case "${TERM}" in
2xterm*)
3    host=`/bin/hostname -s`
4
5    chpwd () {
6      echo -n "_`dirs`\\"
7    }
8
9    preexec() {
10        # see [zsh-workers:13180]
11        # http://www.zsh.org/mla/workers/2000/msg03993.html
12        emulate -L zsh
13        local -a cmd; cmd=(${(z)2})
14        case $cmd[1] in
15            fg)
16                if (( $#cmd == 1 )); then
17                    cmd=(builtin jobs -l %+)
18                else
19                    cmd=(builtin jobs -l $cmd[2])
20                fi
21                ;;
22            %*)
23                cmd=(builtin jobs -l $cmd[1])
24                ;;
25            cd|ssh)
26                if (( $#cmd >= 2 )); then
27                    cmd[1]=$cmd[2]
28                fi
29                ;&
30            sudo)
31                if (( $#cmd >= 2 )); then
32                    cmd[1]='#'
33                    for i in $cmd[2,-1]; do
34                        cmd[1]=$cmd[1]' '$i
35                    done
36                fi
37                ;&
38            *)
39                echo -n "k$host:$cmd[1]:t\\"
40                return
41                ;;
42        esac
43
44        local -A jt; jt=(${(kv)jobtexts})
45        $cmd >>read num rest cmd=(${(z)${(e):-\$jt$num}}) echo -n "k$cmd[1]:t\\" 2>/dev/null
46    }
47
48    precmd() {
49        local prev; prev=`history -1 | sed "s/^[ 0-9]*//" | sed "s/ .*$//"`
50        case $prev in
51            sudo)
52                prev=`history -1 | sed "s/^[ 0-9]*//"`
53                ;;
54        esac
55
56        echo -n "k$:$host:$prev\\"
57    }
58
59    chpwd() {
60        _reg_pwd_screennum
61        echo ''`pwd`'' && ls
62    }
63esac
Note: See TracBrowser for help on using the browser.