about summary refs log tree commit diff stats
path: root/config/ksh/completions.ksh
diff options
context:
space:
mode:
Diffstat (limited to 'config/ksh/completions.ksh')
-rw-r--r--config/ksh/completions.ksh44
1 files changed, 44 insertions, 0 deletions
diff --git a/config/ksh/completions.ksh b/config/ksh/completions.ksh
new file mode 100644
index 0000000..d241be8
--- /dev/null
+++ b/config/ksh/completions.ksh
@@ -0,0 +1,44 @@
+#!/bin/ksh
+
+COMPLETIONFILES="$XDG_CACHE_HOME/ksh/precompletions"
+if ! [[ -d $COMPLETIONFILES ]]; then
+	mkdir -p $COMPLETIONFILES;
+fi
+#pkg_* completions {{{1
+if ! [[ -e $COMPLETIONFILES/packages ]]; then
+	update_completion_packages
+fi
+
+#set -A complete_pa -- $(<$COMPLETIONFILES/packages)
+set -A complete_pd -- $(ls -1 /var/db/pkg)
+#set -A complete_pi -- $complete_pa
+
+# }}}
+
+#man completions {{{2
+if ! [[ -e $COMPLETIONFILES/manpages ]]; then
+	update_completion_manpages
+fi
+
+#set -A complete_man -- $(<$COMPLETIONFILES/manpages)
+
+
+# }}}
+
+# pip completions {{{3
+
+set -A complete_pip_1 -- install download uninstall freeze list show check config search wheel hash help
+set -A complete_pip_2 -- --user
+set -A complete_pip_3 -- --upgrade
+
+# pass completions
+update_complete_pass() {
+	pass_list=$(pass ls)
+	set -A complete_pass_1 -- init passphrase add import show export ls
+	set -A complete_pass_2 -- $pass_list
+}
+update_complete_pass
+pass_export() { pass export "$1" && update_complete_pass; }
+pass_show() { pass show "$1" && update_complete_pass; }
+
+# }}}