summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zsh/pnpm.zsh28
-rw-r--r--zsh/work.zsh1
2 files changed, 29 insertions, 0 deletions
diff --git a/zsh/pnpm.zsh b/zsh/pnpm.zsh
new file mode 100644
index 0000000..ad44e82
--- /dev/null
+++ b/zsh/pnpm.zsh
@@ -0,0 +1,28 @@
+#compdef pnpm
+###-begin-pnpm-completion-###
+if type compdef &>/dev/null; then
+ _pnpm_completion () {
+ local reply
+ local si=$IFS
+
+ IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" SHELL=zsh pnpm completion-server -- "${words[@]}"))
+ IFS=$si
+
+ if [ "$reply" = "__tabtab_complete_files__" ]; then
+ _files
+ else
+ _describe 'values' reply
+ fi
+ }
+ # When called by the Zsh completion system, this will end with
+ # "loadautofunc" when initially autoloaded and "shfunc" later on, otherwise,
+ # the script was "eval"-ed so use "compdef" to register it with the
+ # completion system
+ if [[ $zsh_eval_context == *func ]]; then
+ _pnpm_completion "$@"
+ else
+ compdef _pnpm_completion pnpm
+ fi
+fi
+###-end-pnpm-completion-###
+
diff --git a/zsh/work.zsh b/zsh/work.zsh
index dedad74..8b98be6 100644
--- a/zsh/work.zsh
+++ b/zsh/work.zsh
@@ -1,2 +1,3 @@
source ~/.config/zsh/utils.zsh
+source ~/.config/zsh/pnpm.zsh
source /usr/share/nvm/init-nvm.sh