aboutsummaryrefslogtreecommitdiff
path: root/zsh/functions/c
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/functions/c')
-rw-r--r--zsh/functions/c24
1 files changed, 24 insertions, 0 deletions
diff --git a/zsh/functions/c b/zsh/functions/c
new file mode 100644
index 0000000..486a3c6
--- /dev/null
+++ b/zsh/functions/c
@@ -0,0 +1,24 @@
+#!/bin/zsh
+#
+# This lets you quickly jump into a project directory.
+#
+# Type:
+#
+# c <tab>
+#
+# ...to autocomplete on all of your projects in the directories specified in
+# `functions/_c`. Typically I'm using it like:
+#
+# c holm<tab>/bo<tab>
+#
+# ...to quickly jump into holman/boom, for example.
+#
+# This also accounts for how Go structures its projects. For example, it will
+# autocomplete both on $PROJECTS, and also assume you want to autocomplete on
+# your Go projects in $GOPATH/src.
+
+if [ ! -z "$1" ] && [ -s "$GOPATH/src/github.com/$1" ]; then
+ cd "$GOPATH/src/github.com/$1"
+else
+ cd "$PROJECTS/$1"
+fi