topic="${(j:_:)@}"
filename="${TMPDIR:-/tmp}/script.${topic:-$LOGNAME}.$$.$(date +%Y%m%d.%H%M)"
echo "I: writing typescript to $filename ..." >&2
-PS1="%# " script -c "zsh -f" -f -q "$filename"
+PS1="%# " PS2= script -c "zsh -f" -f -q "$filename"
ret=$?
echo "I: typescript is in $filename ."
return $ret
--- /dev/null
+#!/bin/sh
+#
+# func/vcsh
+#
+# set the context for vcs-home operations
+#
+# Copyright © 1994–2008 martin f. krafft <madduck@madduck.net>
+# Released under the terms of the Artistic Licence 2.0
+#
+# Source repository: http://git.madduck.net/v/etc/zsh.git
+#
+
+local FGIT_BASE="$HOME/.fgits"
+
+if [ "${1:---help}" = '--help' ] || [ $# -gt 1 ]; then
+ echo "usage: ${0##*/} reponame" >&2
+ echo "usage: ${0##*/} -l" >&2
+ [ "$1" = '--help' ]
+ return $?
+
+elif [ "$1" = '-l' ]; then
+ for i in $FGIT_BASE/*.git; do
+ i="${i#$FGIT_BASE/}"
+ echo "${i%.git}"
+ done
+ return 0
+fi
+
+if [ ! -d "$FGIT_BASE/${1}.git" ]; then
+ echo E: no repository found for "$1" >&2
+ return 2
+fi
+
+export GIT_DIR="$FGIT_BASE/${1}.git"
+export GIT_WORK_TREE="$GIT_DIR/$(git config --get core.worktree)"
+
+git status
+
+PS1="%S{${0##*/}:$1}%s$PS1" $SHELL -i
typeset -ga precmd_functions
typeset -ga chpwd_functions
+# warn on accidental creation of global variables
+# unset for now until we work out the corner cases, like warning about $reply
+# and $HISTFILE or $REPORTTIME.
+#setopt warn_create_global
+
# vim:ft=zsh
alias apt-cache='noglob apt-cache'
alias locate='noglob locate'
-_ls_opts=(-bC --color=auto)
-ls --group-directories-first >/dev/null 2>&1 \
+typeset -a _ls_opts; _ls_opts=(-bC --color=auto)
+command ls --group-directories-first >/dev/null 2>&1 \
&& _ls_opts+=--group-directories-first
# I prefer POSIX collation for ls
alias ls="LC_COLLATE=POSIX ls $_ls_opts"
-unset _ls_opts
alias ll='ls -l'
alias l=ll
done
unset _LANGUAGES
+alias dpkg-buildpackage="dpkg-buildpackage -k$DEBKEYID"
+
+uc() { unicode --max=0 --colour=off "$@" | sensible-pager }
+
# vim:ft=zsh
if [ -d "$GIT_DIR" ]; then
# poor man's replace until I find out how to do named dirs properly
# here:
- _D="${GIT_DIR/$HOME/~}"
+ local _D="${GIT_DIR/$HOME/~}"
set -- "$_D" "$2" "${${1#$_D}%/}"
- unset _D
fi
;;
hg)
# Source repository: http://git.madduck.net/v/etc/zsh.git
#
-HISTFILE=$ZVARDIR/history
+# typeset -g on this one to make warn_create_global happy
+typeset -g HISTFILE=$ZVARDIR/history
HISTSIZE=10000
SAVEHIST=$HISTSIZE
LISTMAX=1000
# Source repository: http://git.madduck.net/v/etc/zsh.git
#
-local _MIDDLE="%1v%(2v.|%B%2v%b|.)%(3v.%3v.)"
-local _PS1_HL
-if is_root; then
- _MIDDLE="%25<..<%~%<<"
- _PS1_HL=U
-fi
+if [ "${PS1:-}" = '%m%# ' ]; then
+ local _MIDDLE="%1v%(2v.|%B%2v%b|.)%(3v.%3v.)"
+ if is_root; then
+ _MIDDLE="%25<..<%~%<<"
+ local _PS1_HL=U
+ fi
-_MACHINE_NAME="${_PS1_HL:=B}%m%${(L)_PS1_HL}"
-_MACHINE_NAME="$_MACHINE_NAME${debian_chroot:+/$debian_chroot}"
+ local _MACHINE_NAME="${_PS1_HL:=B}%m%${(L)_PS1_HL}"
+ _MACHINE_NAME="$_MACHINE_NAME${debian_chroot:+/%S$debian_chroot%s}"
-PS1="%(2L.+.)%${_MACHINE_NAME}:${_MIDDLE}%# "
-RPS1="#%(0?..%?,)%!"
+ PS1="%(2L.+.)%${_MACHINE_NAME}:${_MIDDLE}%# "
+fi
-unset _MACHINE_NAME
+: ${RPS1:="#%(0?..%?,)%!"}
# vim:ft=zsh
WORDCHARS="${WORDCHARS//\/}"
# report time stats when command takes longer than 5 seconds
-REPORTTIME=5
+# typeset -g to make warn_create_global happy
+typeset -g REPORTTIME=5
MAILCHECK=0