aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChangwoo Park <pismute@gmail.com>2012-12-03 09:43:05 +0900
committerChangwoo Park <pismute@gmail.com>2012-12-03 09:43:05 +0900
commit0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e (patch)
tree70cbd8ab713c9717f10d933ef76dddc3cdad1e80 /src
parentMerge pull request #114 from Poapfel/master (diff)
downloadzsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.tar
zsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.tar.gz
zsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.tar.bz2
zsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.tar.lz
zsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.tar.xz
zsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.tar.zst
zsh-completions-0d4c8712b00231656fe0e4d98d9aa50d6a0d1e3e.zip
Add nvm completions
Diffstat (limited to 'src')
-rw-r--r--src/_nvm85
1 files changed, 85 insertions, 0 deletions
diff --git a/src/_nvm b/src/_nvm
new file mode 100644
index 0000000..2f6acc5
--- /dev/null
+++ b/src/_nvm
@@ -0,0 +1,85 @@
+#compdef nvm
+# ------------------------------------------------------------------------------
+# Description
+# -----------
+#
+# Completion script for nvm (https://github.com/creationix/nvm).
+#
+# ------------------------------------------------------------------------------
+# Authors
+# -------
+#
+# * Changwoo Park (https://github.com/pismute)
+#
+# ------------------------------------------------------------------------------
+
+local curcontext="$curcontext" state line ret=1
+
+local -a _1st_arguments
+_1st_arguments=(
+ 'help:Show this message'
+ 'install:Download and install a <version>'
+ 'uninstall:Uninstall a <version>'
+ 'use:Modify PATH to use <version>'
+ 'run:Run <version> with <args> as arguments'
+ 'ls:List installed [versions]'
+ 'ls-remote:List remote versions available for install'
+ 'deactivate:Undo effects of NVM on current shell'
+ 'alias:Set an alias named <name> pointing to <version>. Show all aliases beginning with [<pattern>].'
+ 'unalias:Deletes the alias named <name>'
+ 'copy-packages:Install global NPM packages contained in <version> to current version'
+ 'clear-cache:Clear cache'
+ 'version:Show current node version'
+)
+
+_arguments -C \
+ '1: :->cmds' \
+ '*: :->args' && ret=0
+
+__nvm_aliases(){
+ local aliases
+ aliases=""
+ if [ -d $NVM_DIR/alias ]; then
+ aliases="`cd $NVM_DIR/alias && ls`"
+ fi
+ echo "${aliases}"
+}
+
+__nvm_versions(){
+ echo "$(nvm_ls) $(__nvm_aliases)"
+}
+
+case $state in
+ cmds)
+ _describe -t commands 'nvm command' _1st_arguments && ret=0
+ ;;
+
+ args)
+ case $words[2] in
+ (use|run|ls|list|install|uninstall|copy-packages)
+
+ _values 'version' $(__nvm_versions) && ret=0
+ ;;
+
+ (alias|unalias)
+
+ _values 'aliases' $(__nvm_aliases) && ret=0
+ ;;
+
+ *)
+ (( ret )) && _message 'no more arguments'
+ ;;
+
+ esac
+ ;;
+esac
+
+return ret
+
+# Local Variables:
+# mode: Shell-Script
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# sh-basic-offset: 2
+# End:
+# vim: ft=zsh sw=2 ts=2 et