Browse Source

feat(plugins): add fnm plugin (#9864)

Co-authored-by: Ziga Sebenik <ziga.sebenik@oryxgaming.com>
Žiga Šebenik 2 years ago
parent
commit
d9ad99531f
3 changed files with 23 additions and 0 deletions
  1. 2 0
      plugins/fnm/.gitignore
  2. 9 0
      plugins/fnm/README.md
  3. 12 0
      plugins/fnm/fnm.plugin.zsh

+ 2 - 0
plugins/fnm/.gitignore

@@ -0,0 +1,2 @@
+_fnm
+

+ 9 - 0
plugins/fnm/README.md

@@ -0,0 +1,9 @@
+# fnm plugin
+
+This plugin adds autocompletion for [fnm](https://github.com/Schniz/fnm) - a Node.js version manager.
+
+To use it, add `fnm` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... fnm)
+```

+ 12 - 0
plugins/fnm/fnm.plugin.zsh

@@ -0,0 +1,12 @@
+# COMPLETION FUNCTION
+if (( $+commands[fnm] )); then
+  if [[ ! -f $ZSH_CACHE_DIR/fnm_version ]] \
+    || [[ "$(fnm --version)" != "$(< "$ZSH_CACHE_DIR/fnm_version")" ]] \
+    || [[ ! -f $ZSH/plugins/fnm/_fnm ]]; then
+      fnm completions --shell=zsh > $ZSH/plugins/fnm/_fnm
+      fnm --version > $ZSH_CACHE_DIR/fnm_version
+  fi
+  autoload -Uz _fnm
+  _comps[fnm]=_fnm
+fi
+