summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorManuel Amago <mamago@gmail.com>2014-11-23 12:26:33 +0000
committerManuel Amago <mamago@gmail.com>2014-11-23 12:26:33 +0000
commitabc2509e9205306305a9d098abaaaaf351274de0 (patch)
tree1e38fc548402f066dcb61a9243bb78ec6a2eb8c2 /bin
downloaddotfiles-abc2509e9205306305a9d098abaaaaf351274de0.tar.gz
dotfiles-abc2509e9205306305a9d098abaaaaf351274de0.zip
Initial commit
Diffstat (limited to 'bin')
-rw-r--r--bin/fun.sh5
-rw-r--r--bin/navigation.sh43
2 files changed, 48 insertions, 0 deletions
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