浏览代码

Merge pull request #3814 from willmendesneto/frontend-search-add-autocomplete

Add autocomplete for frontend-search
Robby Russell 10 年之前
父节点
当前提交
cabb8f712a
共有 2 个文件被更改,包括 134 次插入9 次删除
  1. 6 9
      plugins/frontend-search/README.md
  2. 128 0
      plugins/frontend-search/_frontend-search.sh

+ 6 - 9
plugins/frontend-search/README.md

@@ -1,18 +1,12 @@
 ## Rationale ##
 ## Rationale ##
 
 
-The idea for this script is to help searches in important doc contents from frontend.
+> Searches for your Frontend contents more easier
+
 
 
 ## Instalation ##
 ## Instalation ##
 
 
-I will send a Pull Request with this plugin for .oh-my-zsh official repository. If accept them, it's only add in plugins list that exists in ```.zshrc``` file.
 
 
-For now, you can clone this repository and add in ```custom/plugins``` folder
-
-```bash
-$ git clone git://github.com/willmendesneto/frontend-search.git ~/.oh-my-zsh/custom/plugins/frontend-search
-```
-
-After this, restart your terminal and frontend-search plugin is configurated in you CLI.
+Open your `.zshrc` file and load `frontend-search` plugin
 
 
 ```bash
 ```bash
 ...
 ...
@@ -20,6 +14,7 @@ plugins=( <your-plugins-list>... frontend-search)
 ...
 ...
 ```
 ```
 
 
+
 ## Commands ##
 ## Commands ##
 
 
 All command searches are accept only in format
 All command searches are accept only in format
@@ -75,9 +70,11 @@ There are a few aliases presented as well:
 * `emberjs` A shorthand for `frontend emberjs`
 * `emberjs` A shorthand for `frontend emberjs`
 * `stackoverflow` A shorthand for `frontend stackoverflow`
 * `stackoverflow` A shorthand for `frontend stackoverflow`
 
 
+
 ## Author
 ## Author
 
 
 **Wilson Mendes (willmendesneto)**
 **Wilson Mendes (willmendesneto)**
++ <https://plus.google.com/+WilsonMendes>
 + <https://twitter.com/willmendesneto>
 + <https://twitter.com/willmendesneto>
 + <http://github.com/willmendesneto>
 + <http://github.com/willmendesneto>
 
 

+ 128 - 0
plugins/frontend-search/_frontend-search.sh

@@ -0,0 +1,128 @@
+#compdef frontend
+
+zstyle ':completion:*:descriptions' format '%B%d%b'
+zstyle ':completion::complete:frontend:*:commands' group-name commands
+zstyle ':completion::complete:frontend:*:frontend_points' group-name frontend_points
+zstyle ':completion::complete:frontend::' list-grouped
+
+zmodload zsh/mapfile
+
+function _frontend() {
+  local CONFIG=$HOME/.frontend-search
+  local ret=1
+
+  local -a commands
+  local -a frontend_points
+
+  frontend_points=( "${(f)mapfile[$CONFIG]//$HOME/~}" )
+
+  commands=(
+    'jquery: Search in jQuery website'
+    'mdn: Search in MDN website'
+    'compass: Search in COMPASS website'
+    'html5please: Search in HTML5 Please website'
+    'caniuse: Search in Can I Use website'
+    'aurajs: Search in AuraJs website'
+    'dartlang: Search in Dart website'
+    'lodash: Search in Lo-Dash website'
+    'qunit: Search in Qunit website'
+    'fontello: Search in fontello website'
+    'bootsnipp: Search in bootsnipp website'
+    'cssflow: Search in cssflow website'
+    'codepen: Search in codepen website'
+    'unheap: Search in unheap website'
+    'bem: Search in BEM website'
+    'smacss: Search in SMACSS website'
+    'angularjs: Search in Angular website'
+    'reactjs: Search in React website'
+    'emberjs: Search in Ember website'
+    'stackoverflow: Search in StackOverflow website'
+  )
+
+  _arguments -C \
+    '1: :->first_arg' \
+    '2: :->second_arg' && ret=0
+
+  case $state in
+    first_arg)
+      _describe -t frontend_points "Warp points" frontend_points && ret=0
+      _describe -t commands "Commands" commands && ret=0
+      ;;
+    second_arg)
+      case $words[2] in
+        jquery)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        mdn)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        compass)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        html5please)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        caniuse)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        aurajs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        dartlang)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        lodash)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        qunit)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        fontello)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        bootsnipp)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        cssflow)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        codepen)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        unheap)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        bem)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        smacss)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        angularjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        reactjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        emberjs)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+        stackoverflow)
+          _describe -t points "Warp points" frontend_points && ret=0
+          ;;
+      esac
+      ;;
+  esac
+
+  return $ret
+}
+
+_frontend "$@"
+
+# 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