From abc2509e9205306305a9d098abaaaaf351274de0 Mon Sep 17 00:00:00 2001 From: Manuel Amago Date: Sun, 23 Nov 2014 12:26:33 +0000 Subject: Initial commit --- bin/fun.sh | 5 +++++ bin/navigation.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 bin/fun.sh create mode 100644 bin/navigation.sh (limited to 'bin') diff --git a/bin/fun.sh b/bin/fun.sh new file mode 100644 index 0000000..3db38f2 --- /dev/null +++ b/bin/fun.sh @@ -0,0 +1,5 @@ +# +# Fun +# +alias rmatrix='echo -ne "\e[31m" ; while true ; do echo -ne "\e[$(($RANDOM % 2 + 1))m" ; tr -c "[:print:]" " " < /dev/urandom | dd count=1 bs=50 2> /dev/null ; done' +alias gmatrix='echo -ne "\e[32m" ; while true ; do echo -ne "\e[$(($RANDOM % 2 + 1))m" ; tr -c "[:print:]" " " < /dev/urandom | dd count=1 bs=50 2> /dev/null ; done' \ No newline at end of file diff --git a/bin/navigation.sh b/bin/navigation.sh new file mode 100644 index 0000000..f98fb52 --- /dev/null +++ b/bin/navigation.sh @@ -0,0 +1,43 @@ +# +# Navigation +# +export MARKPATH=$HOME/.marks +function go { + #echo "$MARKPATH/$1" + if [[ ! -e "$MARKPATH/$1" ]]; then + echo "No such mark: $1" + elif [[ -h "$MARKPATH/$1" ]]; then + pushd "$(readlink "$MARKPATH/$1")" 2>/dev/null + elif [[ -x "$MARKPATH/$1" ]]; then + local cmd="$MARKPATH/$1" + shift + . $cmd $@ + fi +} +function mark { + mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$1" +} +function unmark { + rm "$MARKPATH/$1" +} +function marks { + for f in "$MARKPATH"/*; do + local name="$(basename "$f")" + if [[ -h "$f" ]]; then + local target="$(readlink "$f")" + echo "${name} -> ${target}" + elif [[ -x "$f" ]]; then + echo "${name}*" + fi + done +} +# Tab completion +_completemarks() { + local curw=${COMP_WORDS[COMP_CWORD]} + local wordlist=$(ls -p $MARKPATH) + local IFS=$'\n' + COMPREPLY=($(compgen -W "${wordlist[@]}" -- "$curw")) + return 0 +} + +complete -o filenames -F _completemarks go unmark -- cgit v1.2.1