浏览代码

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

Co-authored-by: Ziga Sebenik <ziga.sebenik@oryxgaming.com>
Žiga Šebenik 2 年之前
父节点
当前提交
d9ad99531f
共有 3 个文件被更改,包括 23 次插入0 次删除
  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
+