]> git.netwichtig.de Git - user/henk/vcsh/zsh.git/blob - .zsh_functions
Add 'pass' functions
[user/henk/vcsh/zsh.git] / .zsh_functions
1 function info_print () {
2     local esc_begin esc_end
3     esc_begin="$1"
4     esc_end="$2"
5     shift 2
6     printf '%s' ${esc_begin}
7     printf '%s' "$*"
8     printf '%s' "${esc_end}"
9 }
10
11 function set_title () {
12     info_print  $'\e]0;' $'\a' "$@"
13 }
14
15 function ESC_print () {
16     info_print $'\ek' $'\e\\' "$@"
17 }
18
19 preexec () {
20     case $TERM in
21         (xterm*|rxvt*)
22             set_title "${(%):-"%n@%m:"}" "$1"
23         ;;
24         (screen*)
25             local CMD=${1[(wr)^(*=*|sudo|ssh|evince|-*)]}
26             ESC_print ${CMD}
27         ;;
28     esac
29 }
30
31 precmd () {
32     case $TERM in
33         (xterm*|rxvt*)
34             set_title ${(%):-"%n@%m: %~"}
35         ;;
36         (screen*)
37             ESC_print "zsh"
38         ;;
39     esac
40
41     vcs_info
42
43 #    local INBOXINFO="$(task rc.gc=off rc.verbose=nothing +in +PENDING count) "
44
45     PS1="${HENKSPROMPTHEADER}%(0?..%F{red}E%?%f )%(1j.%F{yellow}J%j%f .)%(3L.%F{yellow}L%L%f .)%3~ %F{green}$VCSH_REPO_NAME%f%F{yellow}${vcs_info_msg_0_}%f%# "
46 }
47
48 function vifind () {
49     vi $( find $@)
50 }
51
52 function new_haskell_project () {
53     stack new $1 simple
54     cd $1
55     git init
56 }
57
58 function henkspngpostproc () {
59     local resize_by
60     local img
61     resize_by="$1"
62     shift
63     for img in $*
64     do
65         mkdir -p resized/pngnqed
66         convert -resize $resize_by% $img resized/$img
67         pngnq -f -d resized/pngnqed -e .png resized/$img
68     done
69 }