aboutsummaryrefslogtreecommitdiff
path: root/q.sh
diff options
context:
space:
mode:
Diffstat (limited to 'q.sh')
-rw-r--r--q.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/q.sh b/q.sh
new file mode 100644
index 0000000..e763657
--- /dev/null
+++ b/q.sh
@@ -0,0 +1,33 @@
+# snippets to wire up qroject into bash nicely.
+
+enable -f ~/qroject/target/release/libqroject_bash.so q qi qg qd
+
+function qcmdcomp() {
+ # for qg, qg, qi, the first and only argument is
+ # the project name.
+ if [ "$1" = "$3" ]; then
+ COMPREPLY=($(q list "$2"))
+ fi
+}
+
+function qcomp() {
+ case "$3" in
+ add)
+ COMPREPLY=($(compgen -A file "$2"))
+ ;;
+ info | upstream | go | dir | edit | list)
+ COMPREPLY=($(q list "$2"))
+ ;;
+ q)
+ COMPREPLY=(add info upstream go dir edit list)
+ ;;
+ *)
+ COMPREPLY=($(compgen -A file "$2"))
+ ;;
+ esac
+}
+
+complete -F qcomp q
+complete -F qcmdcomp qg
+complete -F qcmdcomp qd
+complete -F qcmdcomp qi