Blame view

plugins/frontend-search/frontend-search.plugin.zsh 3.39 KB
ed37aae5b   mj   Squashed 'repos/r...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  alias angularjs='frontend angularjs'
  alias aurajs='frontend aurajs'
  alias bem='frontend bem'
  alias bootsnipp='frontend bootsnipp'
  alias caniuse='frontend caniuse'
  alias codepen='frontend codepen'
  alias compass='frontend compass'
  alias cssflow='frontend cssflow'
  alias dartlang='frontend dartlang'
  alias emberjs='frontend emberjs'
  alias fontello='frontend fontello'
  alias html5please='frontend html5please'
  alias jquery='frontend jquery'
  alias lodash='frontend lodash'
  alias mdn='frontend mdn'
  alias npmjs='frontend npmjs'
  alias qunit='frontend qunit'
  alias reactjs='frontend reactjs'
  alias smacss='frontend smacss'
  alias stackoverflow='frontend stackoverflow'
  alias unheap='frontend unheap'
093a6c34b   mj   Squashed 'repos/r...
22
23
  
  function frontend() {
ed37aae5b   mj   Squashed 'repos/r...
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
    emulate -L zsh
  
    # define search context URLS
    typeset -A urls
    urls=(
      angularjs      'https://google.com/search?as_sitesearch=angularjs.org&as_q='
      aurajs         'http://aurajs.com/api/#stq='
      bem            'https://google.com/search?as_sitesearch=bem.info&as_q='
      bootsnipp      'http://bootsnipp.com/search?q='
      caniuse        'http://caniuse.com/#search='
      codepen        'http://codepen.io/search?q='
      compass        'http://compass-style.org/search?q='
      cssflow        'http://www.cssflow.com/search?q='
      dartlang       'https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart:'
      emberjs        'http://emberjs.com/api/#stp=1&stq='
      fontello       'http://fontello.com/#search='
      html5please    'http://html5please.com/#'
      jquery         'https://api.jquery.com/?s='
      lodash         'https://devdocs.io/lodash/index#'
      mdn            'https://developer.mozilla.org/search?q='
      npmjs          'https://www.npmjs.com/search?q='
      qunit          'https://api.qunitjs.com/?s='
      reactjs        'https://google.com/search?as_sitesearch=facebook.github.io/react&as_q='
      smacss         'https://google.com/search?as_sitesearch=smacss.com&as_q='
      stackoverflow  'http://stackoverflow.com/search?q='
      unheap         'http://www.unheap.com/?s='
    )
  
    # show help for command list
    if [[ $# -lt 2 ]]
    then
        print -P "Usage: frontend %Ucontext%u %Uterm%u [...%Umore%u] (or just: %Ucontext%u %Uterm%u [...%Umore%u])"
        print -P ""
        print -P "%Uterm%u and what follows is what will be searched for in the %Ucontext%u website,"
        print -P "and %Ucontext%u is one of the following:"
        print -P ""
        print -P "  angularjs, aurajs, bem, bootsnipp, caniuse, codepen, compass, cssflow,"
        print -P "  dartlang, emberjs, fontello, html5please, jquery, lodash, mdn, npmjs,"
        print -P "  qunit, reactjs, smacss, stackoverflow, unheap"
        print -P ""
        print -P "For example: frontend npmjs mocha (or just: npmjs mocha)."
        print -P ""
        return 1
093a6c34b   mj   Squashed 'repos/r...
67
    fi
ed37aae5b   mj   Squashed 'repos/r...
68
69
    # check whether the search context is supported
    if [[ -z "$urls[$1]" ]]
093a6c34b   mj   Squashed 'repos/r...
70
    then
ed37aae5b   mj   Squashed 'repos/r...
71
72
73
74
75
76
77
      echo "Search context \"$1\" currently not supported."
      echo ""
      echo "Valid contexts are:"
      echo ""
      echo "  angularjs, aurajs, bem, bootsnipp, caniuse, codepen, compass, cssflow, "
      echo "  dartlang, emberjs, fontello, html5please, jquery, lodash, mdn, npmjs,  "
      echo "  qunit, reactjs, smacss, stackoverflow, unheap"
093a6c34b   mj   Squashed 'repos/r...
78
      echo ""
093a6c34b   mj   Squashed 'repos/r...
79
80
      return 1
    fi
ed37aae5b   mj   Squashed 'repos/r...
81
82
83
84
    # build search url:
    # join arguments passed with '+', then append to search context URL
    # TODO substitute for proper urlencode method
    url="${urls[$1]}${(j:+:)@[2,-1]}"
093a6c34b   mj   Squashed 'repos/r...
85

ed37aae5b   mj   Squashed 'repos/r...
86
    echo "Opening $url ..."
093a6c34b   mj   Squashed 'repos/r...
87

dcebc9e8f   mj   Squashed 'repos/r...
88
    open_command "$url"
093a6c34b   mj   Squashed 'repos/r...
89
  }