utils 0.0.67 → 0.0.68

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. data/VERSION +1 -1
  2. data/bin/edit +3 -1
  3. data/lib/utils/editor.rb +14 -0
  4. data/lib/utils/version.rb +1 -1
  5. data/utils.gemspec +3 -3
  6. metadata +3 -74
  7. data/lib/utils/config/vim/after/syntax/haml.vim +0 -9
  8. data/lib/utils/config/vim/after/syntax/html.vim +0 -11
  9. data/lib/utils/config/vim/autoload/Align.vim +0 -1029
  10. data/lib/utils/config/vim/autoload/AlignMaps.vim +0 -330
  11. data/lib/utils/config/vim/autoload/ctrlp/bookmarkdir.vim +0 -139
  12. data/lib/utils/config/vim/autoload/ctrlp/buffertag.vim +0 -238
  13. data/lib/utils/config/vim/autoload/ctrlp/changes.vim +0 -96
  14. data/lib/utils/config/vim/autoload/ctrlp/dir.vim +0 -90
  15. data/lib/utils/config/vim/autoload/ctrlp/line.vim +0 -63
  16. data/lib/utils/config/vim/autoload/ctrlp/mixed.vim +0 -83
  17. data/lib/utils/config/vim/autoload/ctrlp/mrufiles.vim +0 -119
  18. data/lib/utils/config/vim/autoload/ctrlp/quickfix.vim +0 -62
  19. data/lib/utils/config/vim/autoload/ctrlp/rtscript.vim +0 -49
  20. data/lib/utils/config/vim/autoload/ctrlp/tag.vim +0 -112
  21. data/lib/utils/config/vim/autoload/ctrlp/undo.vim +0 -154
  22. data/lib/utils/config/vim/autoload/ctrlp/utils.vim +0 -72
  23. data/lib/utils/config/vim/autoload/ctrlp.vim +0 -1772
  24. data/lib/utils/config/vim/autoload/rails.vim +0 -4570
  25. data/lib/utils/config/vim/autoload/rubycomplete.vim +0 -801
  26. data/lib/utils/config/vim/autoload/sqlcomplete.vim +0 -741
  27. data/lib/utils/config/vim/autoload/vimball.vim +0 -750
  28. data/lib/utils/config/vim/colors/flori.vim +0 -116
  29. data/lib/utils/config/vim/compiler/coffee.vim +0 -68
  30. data/lib/utils/config/vim/compiler/eruby.vim +0 -40
  31. data/lib/utils/config/vim/compiler/ruby.vim +0 -67
  32. data/lib/utils/config/vim/compiler/rubyunit.vim +0 -34
  33. data/lib/utils/config/vim/doc/Decho.txt +0 -372
  34. data/lib/utils/config/vim/doc/coffee-script.txt +0 -116
  35. data/lib/utils/config/vim/doc/ctrlp.txt +0 -1113
  36. data/lib/utils/config/vim/doc/fugitive.txt +0 -257
  37. data/lib/utils/config/vim/doc/rails.txt +0 -1022
  38. data/lib/utils/config/vim/doc/xml-plugin.txt +0 -226
  39. data/lib/utils/config/vim/ftdetect/coffee.vim +0 -8
  40. data/lib/utils/config/vim/ftdetect/eco.vim +0 -1
  41. data/lib/utils/config/vim/ftdetect/ragel.vim +0 -2
  42. data/lib/utils/config/vim/ftdetect/ruby.vim +0 -17
  43. data/lib/utils/config/vim/ftdetect/slim.vim +0 -2
  44. data/lib/utils/config/vim/ftplugin/coffee.vim +0 -221
  45. data/lib/utils/config/vim/ftplugin/eruby.vim +0 -100
  46. data/lib/utils/config/vim/ftplugin/ruby.vim +0 -260
  47. data/lib/utils/config/vim/ftplugin/xml.vim +0 -941
  48. data/lib/utils/config/vim/indent/IndentAnything_html.vim +0 -35
  49. data/lib/utils/config/vim/indent/coffee.vim +0 -338
  50. data/lib/utils/config/vim/indent/eruby.vim +0 -77
  51. data/lib/utils/config/vim/indent/javascript.vim +0 -116
  52. data/lib/utils/config/vim/indent/ruby.vim +0 -377
  53. data/lib/utils/config/vim/indent/slim.vim +0 -75
  54. data/lib/utils/config/vim/plugin/AlignMapsPlugin.vim +0 -242
  55. data/lib/utils/config/vim/plugin/AlignPlugin.vim +0 -41
  56. data/lib/utils/config/vim/plugin/Decho.vim +0 -592
  57. data/lib/utils/config/vim/plugin/IndentAnything.vim +0 -675
  58. data/lib/utils/config/vim/plugin/bufexplorer.vim +0 -1144
  59. data/lib/utils/config/vim/plugin/cecutil.vim +0 -508
  60. data/lib/utils/config/vim/plugin/ctrlp.vim +0 -61
  61. data/lib/utils/config/vim/plugin/fugitive.vim +0 -2041
  62. data/lib/utils/config/vim/plugin/lusty-explorer.vim +0 -1509
  63. data/lib/utils/config/vim/plugin/rails.vim +0 -339
  64. data/lib/utils/config/vim/plugin/rubyextra.vim +0 -193
  65. data/lib/utils/config/vim/plugin/surround.vim +0 -628
  66. data/lib/utils/config/vim/plugin/taglist.vim +0 -4546
  67. data/lib/utils/config/vim/plugin/test/IndentAnything/test.js +0 -131
  68. data/lib/utils/config/vim/plugin/vimballPlugin.vim +0 -40
  69. data/lib/utils/config/vim/syntax/Decho.vim +0 -101
  70. data/lib/utils/config/vim/syntax/coffee.vim +0 -217
  71. data/lib/utils/config/vim/syntax/eco.vim +0 -62
  72. data/lib/utils/config/vim/syntax/eruby.vim +0 -73
  73. data/lib/utils/config/vim/syntax/javascript.vim +0 -246
  74. data/lib/utils/config/vim/syntax/ragel.vim +0 -165
  75. data/lib/utils/config/vim/syntax/ruby.vim +0 -367
  76. data/lib/utils/config/vim/syntax/slim.vim +0 -117
  77. data/lib/utils/config/vimrc +0 -540
@@ -1,35 +0,0 @@
1
-
2
- " Source the standard indentation file, since we only want to adjust the
3
- " default indentation.
4
- sou $VIMRUNTIME/indent/html.vim
5
-
6
- " Set the default indentation to be that of the standard indent file.
7
- let b:defaultIndentExpr = &indentexpr
8
-
9
- " Use IndentAnything
10
- setlocal indentexpr=IndentAnything()
11
-
12
- " Echo info about indentations
13
- let b:indent_anything_echo = 1
14
-
15
- "
16
- " Adjust the default indentation for comments. Set the comments for html to
17
- " look like this:
18
- "
19
- " <!--
20
- " - comment here
21
- " -->
22
- "
23
- setl comments=sr:<!--,m:-,e:-->
24
- let b:blockCommentStartRE = '<!--'
25
- let b:blockCommentMiddleRE = '-'
26
- let b:blockCommentEndRE = '-->'
27
- let b:blockCommentMiddleExtra = 3
28
-
29
- " Specify the syntax names for html comments and strings
30
- let b:blockCommentRE = 'htmlComment'
31
- let b:commentRE = b:blockCommentRE
32
-
33
- let b:stringRE = 'htmlString'
34
- let b:singleQuoteStringRE = b:stringRE
35
- let b:doubleQuoteStringRE = b:stringRE
@@ -1,338 +0,0 @@
1
- " Language: CoffeeScript
2
- " Maintainer: Mick Koch <kchmck@gmail.com>
3
- " URL: http://github.com/kchmck/vim-coffee-script
4
- " License: WTFPL
5
-
6
- if exists("b:did_indent")
7
- finish
8
- endif
9
-
10
- let b:did_indent = 1
11
-
12
- setlocal autoindent
13
- setlocal indentexpr=GetCoffeeIndent(v:lnum)
14
- " Make sure GetCoffeeIndent is run when these are typed so they can be
15
- " indented or outdented.
16
- setlocal indentkeys+=0],0),0.,=else,=when,=catch,=finally
17
-
18
- " Only define the function once.
19
- if exists("*GetCoffeeIndent")
20
- finish
21
- endif
22
-
23
- " Keywords to indent after
24
- let s:INDENT_AFTER_KEYWORD = '^\%(if\|unless\|else\|for\|while\|until\|'
25
- \ . 'loop\|switch\|when\|try\|catch\|finally\|'
26
- \ . 'class\)\>'
27
-
28
- " Operators to indent after
29
- let s:INDENT_AFTER_OPERATOR = '\%([([{:=]\|[-=]>\)$'
30
-
31
- " Keywords and operators that continue a line
32
- let s:CONTINUATION = '\<\%(is\|isnt\|and\|or\)\>$'
33
- \ . '\|'
34
- \ . '\%(-\@<!-\|+\@<!+\|<\|[-=]\@<!>\|\*\|/\@<!/\|%\||\|'
35
- \ . '&\|,\|\.\@<!\.\)$'
36
-
37
- " Operators that block continuation indenting
38
- let s:CONTINUATION_BLOCK = '[([{:=]$'
39
-
40
- " A continuation dot access
41
- let s:DOT_ACCESS = '^\.'
42
-
43
- " Keywords to outdent after
44
- let s:OUTDENT_AFTER = '^\%(return\|break\|continue\|throw\)\>'
45
-
46
- " A compound assignment like `... = if ...`
47
- let s:COMPOUND_ASSIGNMENT = '[:=]\s*\%(if\|unless\|for\|while\|until\|'
48
- \ . 'switch\|try\|class\)\>'
49
-
50
- " A postfix condition like `return ... if ...`.
51
- let s:POSTFIX_CONDITION = '\S\s\+\zs\<\%(if\|unless\)\>'
52
-
53
- " A single-line else statement like `else ...` but not `else if ...
54
- let s:SINGLE_LINE_ELSE = '^else\s\+\%(\<\%(if\|unless\)\>\)\@!'
55
-
56
- " Max lines to look back for a match
57
- let s:MAX_LOOKBACK = 50
58
-
59
- " Syntax names for strings
60
- let s:SYNTAX_STRING = 'coffee\%(String\|AssignString\|Embed\|Regex\|Heregex\|'
61
- \ . 'Heredoc\)'
62
-
63
- " Syntax names for comments
64
- let s:SYNTAX_COMMENT = 'coffee\%(Comment\|BlockComment\|HeregexComment\)'
65
-
66
- " Syntax names for strings and comments
67
- let s:SYNTAX_STRING_COMMENT = s:SYNTAX_STRING . '\|' . s:SYNTAX_COMMENT
68
-
69
- " Get the linked syntax name of a character.
70
- function! s:SyntaxName(linenum, col)
71
- return synIDattr(synID(a:linenum, a:col, 1), 'name')
72
- endfunction
73
-
74
- " Check if a character is in a comment.
75
- function! s:IsComment(linenum, col)
76
- return s:SyntaxName(a:linenum, a:col) =~ s:SYNTAX_COMMENT
77
- endfunction
78
-
79
- " Check if a character is in a string.
80
- function! s:IsString(linenum, col)
81
- return s:SyntaxName(a:linenum, a:col) =~ s:SYNTAX_STRING
82
- endfunction
83
-
84
- " Check if a character is in a comment or string.
85
- function! s:IsCommentOrString(linenum, col)
86
- return s:SyntaxName(a:linenum, a:col) =~ s:SYNTAX_STRING_COMMENT
87
- endfunction
88
-
89
- " Check if a whole line is a comment.
90
- function! s:IsCommentLine(linenum)
91
- " Check the first non-whitespace character.
92
- return s:IsComment(a:linenum, indent(a:linenum) + 1)
93
- endfunction
94
-
95
- " Repeatedly search a line for a regex until one is found outside a string or
96
- " comment.
97
- function! s:SmartSearch(linenum, regex)
98
- " Start at the first column.
99
- let col = 0
100
-
101
- " Search until there are no more matches, unless a good match is found.
102
- while 1
103
- call cursor(a:linenum, col + 1)
104
- let [_, col] = searchpos(a:regex, 'cn', a:linenum)
105
-
106
- " No more matches.
107
- if !col
108
- break
109
- endif
110
-
111
- if !s:IsCommentOrString(a:linenum, col)
112
- return 1
113
- endif
114
- endwhile
115
-
116
- " No good match found.
117
- return 0
118
- endfunction
119
-
120
- " Skip a match if it's in a comment or string, is a single-line statement that
121
- " isn't adjacent, or is a postfix condition.
122
- function! s:ShouldSkip(startlinenum, linenum, col)
123
- if s:IsCommentOrString(a:linenum, a:col)
124
- return 1
125
- endif
126
-
127
- " Check for a single-line statement that isn't adjacent.
128
- if s:SmartSearch(a:linenum, '\<then\>') && a:startlinenum - a:linenum > 1
129
- return 1
130
- endif
131
-
132
- if s:SmartSearch(a:linenum, s:POSTFIX_CONDITION) &&
133
- \ !s:SmartSearch(a:linenum, s:COMPOUND_ASSIGNMENT)
134
- return 1
135
- endif
136
-
137
- return 0
138
- endfunction
139
-
140
- " Find the farthest line to look back to, capped to line 1 (zero and negative
141
- " numbers cause bad things).
142
- function! s:MaxLookback(startlinenum)
143
- return max([1, a:startlinenum - s:MAX_LOOKBACK])
144
- endfunction
145
-
146
- " Get the skip expression for searchpair().
147
- function! s:SkipExpr(startlinenum)
148
- return "s:ShouldSkip(" . a:startlinenum . ", line('.'), col('.'))"
149
- endfunction
150
-
151
- " Search for pairs of text.
152
- function! s:SearchPair(start, end)
153
- " The cursor must be in the first column for regexes to match.
154
- call cursor(0, 1)
155
-
156
- let startlinenum = line('.')
157
-
158
- " Don't need the W flag since MaxLookback caps the search to line 1.
159
- return searchpair(a:start, '', a:end, 'bcn',
160
- \ s:SkipExpr(startlinenum),
161
- \ s:MaxLookback(startlinenum))
162
- endfunction
163
-
164
- " Try to find a previous matching line.
165
- function! s:GetMatch(curline)
166
- let firstchar = a:curline[0]
167
-
168
- if firstchar == '}'
169
- return s:SearchPair('{', '}')
170
- elseif firstchar == ')'
171
- return s:SearchPair('(', ')')
172
- elseif firstchar == ']'
173
- return s:SearchPair('\[', '\]')
174
- elseif a:curline =~ '^else\>'
175
- return s:SearchPair('\<\%(if\|unless\|when\)\>', '\<else\>')
176
- elseif a:curline =~ '^catch\>'
177
- return s:SearchPair('\<try\>', '\<catch\>')
178
- elseif a:curline =~ '^finally\>'
179
- return s:SearchPair('\<try\>', '\<finally\>')
180
- endif
181
-
182
- return 0
183
- endfunction
184
-
185
- " Get the nearest previous line that isn't a comment.
186
- function! s:GetPrevNormalLine(startlinenum)
187
- let curlinenum = a:startlinenum
188
-
189
- while curlinenum > 0
190
- let curlinenum = prevnonblank(curlinenum - 1)
191
-
192
- if !s:IsCommentLine(curlinenum)
193
- return curlinenum
194
- endif
195
- endwhile
196
-
197
- return 0
198
- endfunction
199
-
200
- " Try to find a comment in a line.
201
- function! s:FindComment(linenum)
202
- let col = 0
203
-
204
- while 1
205
- call cursor(a:linenum, col + 1)
206
- let [_, col] = searchpos('#', 'cn', a:linenum)
207
-
208
- if !col
209
- break
210
- endif
211
-
212
- if s:IsComment(a:linenum, col)
213
- return col
214
- endif
215
- endwhile
216
-
217
- return 0
218
- endfunction
219
-
220
- " Get a line without comments or surrounding whitespace.
221
- function! s:GetTrimmedLine(linenum)
222
- let comment = s:FindComment(a:linenum)
223
- let line = getline(a:linenum)
224
-
225
- if comment
226
- " Subtract 1 to get to the column before the comment and another 1 for
227
- " zero-based indexing.
228
- let line = line[:comment - 2]
229
- endif
230
-
231
- return substitute(substitute(line, '^\s\+', '', ''),
232
- \ '\s\+$', '', '')
233
- endfunction
234
-
235
- function! s:GetCoffeeIndent(curlinenum)
236
- let prevlinenum = s:GetPrevNormalLine(a:curlinenum)
237
-
238
- " Don't do anything if there's no previous line.
239
- if !prevlinenum
240
- return -1
241
- endif
242
-
243
- let curline = s:GetTrimmedLine(a:curlinenum)
244
-
245
- " Try to find a previous matching statement. This handles outdenting.
246
- let matchlinenum = s:GetMatch(curline)
247
-
248
- if matchlinenum
249
- return indent(matchlinenum)
250
- endif
251
-
252
- " Try to find a matching `when`.
253
- if curline =~ '^when\>' && !s:SmartSearch(prevlinenum, '\<switch\>')
254
- let linenum = a:curlinenum
255
-
256
- while linenum > 0
257
- let linenum = s:GetPrevNormalLine(linenum)
258
-
259
- if getline(linenum) =~ '^\s*when\>'
260
- return indent(linenum)
261
- endif
262
- endwhile
263
-
264
- return -1
265
- endif
266
-
267
- let prevline = s:GetTrimmedLine(prevlinenum)
268
- let previndent = indent(prevlinenum)
269
-
270
- " Always indent after these operators.
271
- if prevline =~ s:INDENT_AFTER_OPERATOR
272
- return previndent + &shiftwidth
273
- endif
274
-
275
- " Indent after a continuation if it's the first.
276
- if prevline =~ s:CONTINUATION
277
- " If the line ends in a slash, make sure it isn't a regex.
278
- if prevline =~ '/$'
279
- " Move to the line so we can get the last column.
280
- call cursor(prevlinenum)
281
-
282
- if s:IsString(prevlinenum, col('$') - 1)
283
- return -1
284
- endif
285
- endif
286
-
287
- let prevprevlinenum = s:GetPrevNormalLine(prevlinenum)
288
-
289
- " If the continuation is the first in the file, don't run the other checks.
290
- if !prevprevlinenum
291
- return previndent + &shiftwidth
292
- endif
293
-
294
- let prevprevline = s:GetTrimmedLine(prevprevlinenum)
295
-
296
- if prevprevline !~ s:CONTINUATION && prevprevline !~ s:CONTINUATION_BLOCK
297
- return previndent + &shiftwidth
298
- endif
299
-
300
- return -1
301
- endif
302
-
303
- " Indent after these keywords and compound assignments if they aren't a
304
- " single-line statement.
305
- if prevline =~ s:INDENT_AFTER_KEYWORD || prevline =~ s:COMPOUND_ASSIGNMENT
306
- if !s:SmartSearch(prevlinenum, '\<then\>') && prevline !~ s:SINGLE_LINE_ELSE
307
- return previndent + &shiftwidth
308
- endif
309
-
310
- return -1
311
- endif
312
-
313
- " Indent a dot access if it's the first.
314
- if curline =~ s:DOT_ACCESS && prevline !~ s:DOT_ACCESS
315
- return previndent + &shiftwidth
316
- endif
317
-
318
- " Outdent after these keywords if they don't have a postfix condition or are
319
- " a single-line statement.
320
- if prevline =~ s:OUTDENT_AFTER
321
- if !s:SmartSearch(prevlinenum, s:POSTFIX_CONDITION) ||
322
- \ s:SmartSearch(prevlinenum, '\<then\>')
323
- return previndent - &shiftwidth
324
- endif
325
- endif
326
-
327
- " No indenting or outdenting is needed.
328
- return -1
329
- endfunction
330
-
331
- " Wrap s:GetCoffeeIndent to keep the cursor position.
332
- function! GetCoffeeIndent(curlinenum)
333
- let oldcursor = getpos('.')
334
- let indent = s:GetCoffeeIndent(a:curlinenum)
335
- call setpos('.', oldcursor)
336
-
337
- return indent
338
- endfunction
@@ -1,77 +0,0 @@
1
- " Vim indent file
2
- " Language: eRuby
3
- " Maintainer: Tim Pope <vimNOSPAM@tpope.info>
4
- " URL: http://vim-ruby.rubyforge.org
5
- " Anon CVS: See above site
6
- " Release Coordinator: Doug Kearns <dougkearns@gmail.com>
7
-
8
- if exists("b:did_indent")
9
- finish
10
- endif
11
-
12
- runtime! indent/ruby.vim
13
- unlet! b:did_indent
14
- setlocal indentexpr=
15
-
16
- if exists("b:eruby_subtype")
17
- exe "runtime! indent/".b:eruby_subtype.".vim"
18
- else
19
- runtime! indent/html.vim
20
- endif
21
- unlet! b:did_indent
22
-
23
- if &l:indentexpr == ''
24
- if &l:cindent
25
- let &l:indentexpr = 'cindent(v:lnum)'
26
- else
27
- let &l:indentexpr = 'indent(prevnonblank(v:lnum-1))'
28
- endif
29
- endif
30
- let b:eruby_subtype_indentexpr = &l:indentexpr
31
-
32
- let b:did_indent = 1
33
-
34
- setlocal indentexpr=GetErubyIndent()
35
- setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=else,=elsif,=rescue,=ensure,=when
36
-
37
- " Only define the function once.
38
- if exists("*GetErubyIndent")
39
- finish
40
- endif
41
-
42
- function! GetErubyIndent(...)
43
- if a:0 && a:1 == '.'
44
- let v:lnum = line('.')
45
- elseif a:0 && a:1 =~ '^\d'
46
- let v:lnum = a:1
47
- endif
48
- let vcol = col('.')
49
- call cursor(v:lnum,1)
50
- let inruby = searchpair('<%','','%>','W')
51
- call cursor(v:lnum,vcol)
52
- if inruby && getline(v:lnum) !~ '^<%\|^\s*-\=%>'
53
- let ind = GetRubyIndent()
54
- else
55
- exe "let ind = ".b:eruby_subtype_indentexpr
56
- endif
57
- let lnum = prevnonblank(v:lnum-1)
58
- let line = getline(lnum)
59
- let cline = getline(v:lnum)
60
- if cline =~# '<%-\=\s*\%(}\|end\|else\|\%(ensure\|rescue\|elsif\|when\).\{-\}\)\s*\%(-\=%>\|$\)'
61
- let ind = ind - &sw
62
- endif
63
- if line =~# '\%({\|\<do\)\%(\s*|[^|]*|\)\=\s*-\=%>'
64
- let ind = ind + &sw
65
- elseif line =~# '<%-\=\s*\%(module\|class\|def\|if\|for\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue\)\>.*%>'
66
- let ind = ind + &sw
67
- endif
68
- if line =~# '^\s*<%[=#-]\=\s*$' && cline !~# '^\s*end\>'
69
- let ind = ind + &sw
70
- endif
71
- if cline =~# '^\s*-\=%>\s*$'
72
- let ind = ind - &sw
73
- endif
74
- return ind
75
- endfunction
76
-
77
- " vim:set sw=2 sts=2 ts=8 noet:
@@ -1,116 +0,0 @@
1
- "
2
- " Copyright 2006 Tye Zdrojewski
3
- "
4
- " Licensed under the Apache License, Version 2.0 (the "License"); you may not
5
- " use this file except in compliance with the License. You may obtain a copy of
6
- " the License at
7
- "
8
- " http://www.apache.org/licenses/LICENSE-2.0
9
- "
10
- " Unless required by applicable law or agreed to in writing, software distributed
11
- " under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
12
- " CONDITIONS OF ANY KIND, either express or implied. See the License for the
13
- " specific language governing permissions and limitations under the License.
14
- "
15
- "
16
- "
17
- " Script:
18
- "
19
- " Javascript Indentation
20
- "
21
- " Version: 1.1.2
22
- "
23
- " Description:
24
- "
25
- " Indentation for Javascript. This script uses the IndentAnything plugin.
26
- "
27
- "
28
- " Installation:
29
- "
30
- " Place this file in your home directory under ~/.vim/indent/, or replace
31
- " the system indent/javascript.vim file to affect all users.
32
- "
33
- " Maintainer: Tye Z. <zdro@yahoo.com>
34
- "
35
- "
36
- " History:
37
- "
38
- " 1.1.1 - Added license
39
- " 1.1.2 - Added indentation for [...] pairs
40
- " 1.1.3 - Fixed silly syntax error
41
- "
42
- "
43
-
44
- let IndentAnything_Dbg = 0
45
- let IndentAnything_Dbg = 1
46
-
47
- " Only load this indent file when no other was loaded.
48
- if exists("b:did_indent") && ! IndentAnything_Dbg
49
- finish
50
- endif
51
-
52
- let b:did_indent = 1
53
-
54
- setlocal indentexpr=IndentAnything()
55
- setlocal indentkeys+=0),0},),;
56
-
57
- " Only define the function once.
58
- if exists("*IndentAnything") && ! IndentAnything_Dbg
59
- finish
60
- endif
61
-
62
- setlocal indentexpr=IndentAnything()
63
-
64
- """ BEGIN IndentAnything specification
65
-
66
- "
67
- " Syntax name REs for comments and strings.
68
- "
69
- let b:commentRE = 'javaScript\(Line\)\?Comment'
70
- let b:lineCommentRE = 'javaScriptLineComment'
71
- let b:blockCommentRE = 'javaScriptComment'
72
- let b:stringRE = 'javaScriptString\(S\|D\)'
73
- let b:singleQuoteStringRE = 'javaScriptStringS'
74
- let b:doubleQuoteStringRE = 'javaScriptStringD'
75
-
76
-
77
- "
78
- " Setup for C-style comment indentation.
79
- "
80
- let b:blockCommentStartRE = '/\*'
81
- let b:blockCommentMiddleRE = '\*'
82
- let b:blockCommentEndRE = '\*/'
83
- let b:blockCommentMiddleExtra = 1
84
-
85
- "
86
- " Indent another level for each non-closed paren/'(' , bracket/'[', and
87
- " brace/'{' on the previous line.
88
-
89
- let b:indentTrios = [
90
- \ [ '(', '', ')' ],
91
- \ [ '{', '\(default:\|case.*:\)', '}' ],
92
- \ [ '\[', '', '\]' ]
93
- \]
94
-
95
-
96
- "
97
- " Line continuations. Lines that are continued on the next line are
98
- " if/for/while statements that are NOT followed by a '{' block and operators
99
- " at the end of a line.
100
- "
101
- let b:lineContList = [
102
- \ { 'pattern' : '^\s*\(if\|for\|while\)\s*(.*)\s*\(\(//.*\)\|/\*.*\*/\s*\)\?\_$\(\_s*{\)\@!' },
103
- \ { 'pattern' : '^\s*else' . '\s*\(\(//.*\)\|/\*.*\*/\s*\)\?\_$\(\_s*{\)\@!' },
104
- \ { 'pattern' : '\(+\|=\|+=\|-=\)\s*\(\(//.*\)\|/\*.*\*/\s*\)\?$' }
105
- \]
106
-
107
- "
108
- " If a continued line and its continuation can have line-comments between
109
- " them, then this should be true. For example,
110
- "
111
- " if (x)
112
- " // comment here
113
- " statement
114
- "
115
- let b:contTraversesLineComments = 1
116
-