f1472f1f6462d391a14ec80157365500f7a11b3f

Author
Marc Cornellà <marc.cornella@live.com>
Committer
Marc Cornellà <marc.cornella@live.com>
Date

Message

Simplify frontend-search function with assoc array

Also adds the lodash URL (which was missing) and uses https on those websites
that support it.

Diff

This diff is truncated to protect this page.

  1diff --git a/plugins/frontend-search/frontend-search.plugin.zsh b/plugins/frontend-search/frontend-search.plugin.zsh
  2index e47735a60fe7fc2ea455f4e95ee236df8f4f24de..3afc3336d4f96cde64b7c119a9cb0853096b2839 100644
  3--- a/plugins/frontend-search/frontend-search.plugin.zsh
  4+++ b/plugins/frontend-search/frontend-search.plugin.zsh
  5@@ -1,6 +1,33 @@
  6 # frontend from terminal
  7 
  8 function frontend() {
  9+  emulate -L zsh
 10+
 11+  # define search content URLS
 12+  typeset -A urls
 13+  urls=(
 14+    angularjs      'https://google.com/search?as_sitesearch=angularjs.org&as_q='
 15+    aurajs         'http://aurajs.com/api/#stq='
 16+    bem            'https://google.com/search?as_sitesearch=bem.info&as_q='
 17+    bootsnipp      'http://bootsnipp.com/search?q='
 18+    caniuse        'http://caniuse.com/#search='
 19+    codepen        'http://codepen.io/search?q='
 20+    compass        'http://compass-style.org/search?q='
 21+    cssflow        'http://www.cssflow.com/search?q='
 22+    dartlang       'https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:'
 23+    emberjs        'http://emberjs.com/api/#stp=1&stq='
 24+    fontello       'http://fontello.com/#search='
 25+    html5please    'http://html5please.com/#'
 26+    jquery         'https://api.jquery.com/?s='
 27+    lodash         'https://devdocs.io/lodash/index#'
 28+    mdn            'https://developer.mozilla.org/search?q='
 29+    npmjs          'https://www.npmjs.com/search?q='
 30+    qunit          'https://api.qunitjs.com/?s='
 31+    reactjs        'https://google.com/search?as_sitesearch=facebook.github.io/react&as_q='
 32+    smacss         'https://google.com/search?as_sitesearch=smacss.com&as_q='
 33+    stackoverflow  'http://stackoverflow.com/search?q='
 34+    unheap         'http://www.unheap.com/?s='
 35+  )
 36 
 37   # no keyword provided, simply show how call methods
 38   if [[ $# -le 1 ]]; then
 39@@ -9,7 +36,7 @@ function frontend() {
 40   fi
 41 
 42   # check whether the search engine is supported
 43-  if [[ ! $1 =~ '(jquery|mdn|compass|html5please|caniuse|aurajs|dartlang|qunit|fontello|bootsnipp|cssflow|codepen|unheap|bem|smacss|angularjs|reactjs|emberjs|stackoverflow|npmjs)' ]];
 44+  if [[ -z "$urls[$1]" ]]; then
 45   then
 46     echo "Search valid search content $1 not supported."
 47     echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')"
 48@@ -39,73 +66,10 @@ function frontend() {
 49     return 1
 50   fi
 51 
 52-  local url="http://"
 53-  local query=""
 54-
 55-  case "$1" in
 56-    "jquery")
 57-      url="${url}api.jquery.com"
 58-      url="${url}/?s=$2" ;;
 59-    "mdn")
 60-      url="${url}developer.mozilla.org"
 61-      url="${url}/search?q=$2" ;;
 62-    "compass")
 63-      url="${url}compass-style.org"
 64-      url="${url}/search?q=$2" ;;
 65-    "html5please")
 66-      url="${url}html5please.com"
 67-      url="${url}/#$2" ;;
 68-    "caniuse")
 69-      url="${url}caniuse.com"
 70-      url="${url}/#search=$2" ;;
 71-    "aurajs")
 72-      url="${url}aurajs.com"
 73-      url="${url}/api/#stq=$2" ;;
 74-    "dartlang")
 75-      url="${url}api.dartlang.org/apidocs/channels/stable/dartdoc-viewer"
 76-      url="${url}/dart-$2" ;;
 77-    "qunit")
 78-      url="${url}api.qunitjs.com"
 79-      url="${url}/?s=$2" ;;
 80-    "fontello")
 81-      url="${url}fontello.com"
 82-      url="${url}/#search=$2" ;;
 83-    "bootsnipp")
 84-      url="${url}bootsnipp.com"
 85-      url="${url}/search?q=$2" ;;
 86-    "cssflow")
 87-      url="${url}cssflow.com"
 88-      url="${url}/search?q=$2" ;;
 89-    "codepen")
 90-      url="${url}codepen.io"
 91-      url="${url}/search?q=$2" ;;
 92-    "unheap")
 93-      url="${url}www.unheap.com"
 94-      url="${url}/?s=$2" ;;
 95-    "bem")
 96-      url="${url}google.com"
 97-      url="${url}/search?as_q=$2&as_sitesearch=bem.info" ;;
 98-    "smacss")
 99-      url="${url}google.com"
100-      url="${url}/search?as_q=$2&as_sitesearch=smacss.com" ;;
101-    "angularjs")
102-      url="${url}google.com"
103-      url="${url}/search?as_q=$2&as_sitesearch=angularjs.org" ;;
104-    "reactjs")