_frontend-search.sh 4 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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'
Will Mendes's avatar
Will Mendes committed
22
    'compassdoc: Search in COMPASS website'
23
24
25
26
27
28
29
30
31
32
33
34
35
    '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'
36
37
    'angular: Search in Angular website for Angular 2.x'
    'angularjs: Search in Angular website for Angular 1.x'
38
39
40
    'reactjs: Search in React website'
    'emberjs: Search in Ember website'
    'stackoverflow: Search in StackOverflow website'
41
    'npmjs: Search in NPMJS website'
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  )

  _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
          ;;
Will Mendes's avatar
Will Mendes committed
61
        compassdoc)
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
          _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
          ;;
103
104
105
        angular)
          _describe -t points "Warp points" frontend_points && ret=0
        ;;
106
107
108
109
110
111
112
113
114
115
116
117
        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
          ;;
118
119
120
        npmjs)
          _describe -t points "Warp points" frontend_points && ret=0
          ;;
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
      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