diff options
Diffstat (limited to 'plugins/frontend-search')
| -rw-r--r-- | plugins/frontend-search/README.md | 81 | ||||
| -rw-r--r-- | plugins/frontend-search/_frontend-search.sh | 128 | ||||
| -rw-r--r-- | plugins/frontend-search/frontend-search.plugin.zsh | 150 | 
3 files changed, 359 insertions, 0 deletions
| diff --git a/plugins/frontend-search/README.md b/plugins/frontend-search/README.md new file mode 100644 index 000000000..801d450f3 --- /dev/null +++ b/plugins/frontend-search/README.md @@ -0,0 +1,81 @@ +## Rationale ## + +> Searches for your Frontend contents more easier + + +## Instalation ## + + +Open your `.zshrc` file and load `frontend-search` plugin + +```bash +... +plugins=( <your-plugins-list>... frontend-search) +... +``` + + +## Commands ## + +All command searches are accept only in format + +* `frontend <search-content> <search-term>` + +The search content are + +* `jquery <api.jquery.com>` +* `mdn <developer.mozilla.org>` +* `compass <compass-style.org>` +* `html5please <html5please.com>` +* `caniuse <caniuse.com>` +* `aurajs <aurajs.com>` +* `dartlang <api.dartlang.org/apidocs/channels/stable/dartdoc-viewer>` +* `lodash <search>` +* `qunit <api.qunitjs.com>` +* `fontello <fontello.com>` +* `bootsnipp <bootsnipp.com>` +* `cssflow <cssflow.com>` +* `codepen <codepen.io>` +* `unheap <www.unheap.com>` +* `bem <google.com/search?as_q=<search-term>&as_sitesearch=bem.info>` +* `smacss <google.com/search?as_q=<search-term>&as_sitesearch=smacss.com>` +* `angularjs <google.com/search?as_q=<search-term>&as_sitesearch=angularjs.org>` +* `reactjs <google.com/search?as_q=<search-term>&as_sitesearch=facebook.github.io/react>` +* `emberjs <emberjs.com>` +* `stackoverflow <stackoverflow.com>` + + +## Aliases ## + +There are a few aliases presented as well: + +* `jquery` A shorthand for `frontend jquery` +* `mdn` A shorthand for `frontend mdn` +* `compass` A shorthand for `frontend compass` +* `html5please` A shorthand for `frontend html5please` +* `caniuse` A shorthand for `frontend caniuse` +* `aurajs` A shorthand for `frontend aurajs` +* `dartlang` A shorthand for `frontend dartlang` +* `lodash` A shorthand for `frontend lodash` +* `qunit` A shorthand for `frontend qunit` +* `fontello` A shorthand for `frontend fontello` +* `bootsnipp` A shorthand for `frontend bootsnipp` +* `cssflow` A shorthand for `frontend cssflow` +* `codepen` A shorthand for `frontend codepen` +* `unheap` A shorthand for `frontend unheap` +* `bem` A shorthand for `frontend bem` +* `smacss` A shorthand for `frontend smacss` +* `angularjs` A shorthand for `frontend angularjs` +* `reactjs` A shorthand for `frontend reactjs` +* `emberjs` A shorthand for `frontend emberjs` +* `stackoverflow` A shorthand for `frontend stackoverflow` + + +## Author + +**Wilson Mendes (willmendesneto)** ++ <https://plus.google.com/+WilsonMendes> ++ <https://twitter.com/willmendesneto> ++ <http://github.com/willmendesneto> + +New features comming soon. diff --git a/plugins/frontend-search/_frontend-search.sh b/plugins/frontend-search/_frontend-search.sh new file mode 100644 index 000000000..252f21570 --- /dev/null +++ b/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 diff --git a/plugins/frontend-search/frontend-search.plugin.zsh b/plugins/frontend-search/frontend-search.plugin.zsh new file mode 100644 index 000000000..f7485621b --- /dev/null +++ b/plugins/frontend-search/frontend-search.plugin.zsh @@ -0,0 +1,150 @@ +# frontend from terminal + +function frontend() { + +  # no keyword provided, simply show how call methods +  if [[ $# -le 1 ]]; then +    echo "Please provide a search-content and a search-term for app.\nEx:\nfrontend <search-content> <search-term>\n" +    return 1 +  fi + +  # check whether the search engine is supported +  if [[ ! $1 =~ '(jquery|mdn|compass|html5please|caniuse|aurajs|dartlang|qunit|fontello|bootsnipp|cssflow|codepen|unheap|bem|smacss|angularjs|reactjs|emberjs|stackoverflow)' ]]; +  then +    echo "Search valid search content $1 not supported." +    echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')" +    echo "* jquery" +    echo "* mdn" +    echo "* compass" +    echo "* html5please" +    echo "* caniuse" +    echo "* aurajs" +    echo "* dartlang" +    echo "* lodash" +    echo "* qunit" +    echo "* fontello" +    echo "* bootsnipp" +    echo "* cssflow" +    echo "* codepen" +    echo "* unheap" +    echo "* bem" +    echo "* smacss" +    echo "* angularjs" +    echo "* reactjs" +    echo "* emberjs" +    echo "* stackoverflow" +    echo "" + +    return 1 +  fi + +  local url="http://" +  local query="" + +  case "$1" in +    "jquery") +      url="${url}api.jquery.com" +      url="${url}/?s=$2" ;; +    "mdn") +      url="${url}developer.mozilla.org" +      url="${url}/search?q=$2" ;; +    "compass") +      url="${url}compass-style.org" +      url="${url}/search?q=$2" ;; +    "html5please") +      url="${url}html5please.com" +      url="${url}/#$2" ;; +    "caniuse") +      url="${url}caniuse.com" +      url="${url}/#search=$2" ;; +    "aurajs") +      url="${url}aurajs.com" +      url="${url}/api/#stq=$2" ;; +    "dartlang") +      url="${url}api.dartlang.org/apidocs/channels/stable/dartdoc-viewer" +      url="${url}/dart-$2" ;; +    "qunit") +      url="${url}api.qunitjs.com" +      url="${url}/?s=$2" ;; +    "fontello") +      url="${url}fontello.com" +      url="${url}/#search=$2" ;; +    "bootsnipp") +      url="${url}bootsnipp.com" +      url="${url}/search?q=$2" ;; +    "cssflow") +      url="${url}cssflow.com" +      url="${url}/search?q=$2" ;; +    "codepen") +      url="${url}codepen.io" +      url="${url}/search?q=$2" ;; +    "unheap") +      url="${url}www.unheap.com" +      url="${url}/?s=$2" ;; +    "bem") +      url="${url}google.com" +      url="${url}/search?as_q=$2&as_sitesearch=bem.info" ;; +    "smacss") +      url="${url}google.com" +      url="${url}/search?as_q=$2&as_sitesearch=smacss.com" ;; +    "angularjs") +      url="${url}google.com" +      url="${url}/search?as_q=$2&as_sitesearch=angularjs.org" ;; +    "reactjs") +      url="${url}google.com" +      url="${url}/search?as_q=$2&as_sitesearch=facebook.github.io/react" ;; +    "emberjs") +      url="${url}emberjs.com" +      url="${url}/api/#stq=$2&stp=1" ;; +    "stackoverflow") +      url="${url}stackoverflow.com" +      url="${url}/search?q=$2" ;; +    *) echo "INVALID PARAM!" +       return ;; +  esac + +  echo "$url" + +  open_command "$url" + +} + +# javascript +alias jquery='frontend jquery' +alias mdn='frontend mdn' + +# pre processors frameworks +alias compassdoc='frontend compass' + +# important links +alias html5please='frontend html5please' +alias caniuse='frontend caniuse' + +# components and libraries +alias aurajs='frontend aurajs' +alias dartlang='frontend dartlang' +alias lodash='frontend lodash' + +#tests +alias qunit='frontend qunit' + +#fonts +alias fontello='frontend fontello' + +# snippets +alias bootsnipp='frontend bootsnipp' +alias cssflow='frontend cssflow' +alias codepen='frontend codepen' +alias unheap='frontend unheap' + +# css architecture +alias bem='frontend bem' +alias smacss='frontend smacss' + +# frameworks +alias angularjs='frontend angularjs' +alias reactjs='frontend reactjs' +alias emberjs='frontend emberjs' + +# search websites +alias stackoverflow='frontend stackoverflow' | 
