utils 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/Rakefile +68 -0
  2. data/VERSION +1 -0
  3. data/bin/chroot-exec +12 -0
  4. data/bin/chroot-libs +18 -0
  5. data/bin/classify +37 -0
  6. data/bin/discover +137 -0
  7. data/bin/edit +74 -0
  8. data/bin/errf +32 -0
  9. data/bin/git-empty +8 -0
  10. data/bin/myex +90 -0
  11. data/bin/number_files +26 -0
  12. data/bin/same_files +37 -0
  13. data/bin/search +205 -0
  14. data/bin/sedit +3 -0
  15. data/bin/sshscreen +68 -0
  16. data/bin/term +21 -0
  17. data/bin/unquarantine_apps +8 -0
  18. data/bin/untest +17 -0
  19. data/bin/utils-install-config +10 -0
  20. data/bin/vacuum_firefox_sqlite +22 -0
  21. data/bin/xmp +74 -0
  22. data/lib/utils.rb +8 -0
  23. data/lib/utils/config.rb +23 -0
  24. data/lib/utils/config/gdb/asm +179 -0
  25. data/lib/utils/config/gdb/ruby +528 -0
  26. data/lib/utils/config/gdbinit +8 -0
  27. data/lib/utils/config/irbrc +455 -0
  28. data/lib/utils/config/rdebugrc +2 -0
  29. data/lib/utils/config/screenrc +143 -0
  30. data/lib/utils/config/vim/autoload/Align.vim +1029 -0
  31. data/lib/utils/config/vim/autoload/AlignMaps.vim +330 -0
  32. data/lib/utils/config/vim/autoload/rails.vim +4744 -0
  33. data/lib/utils/config/vim/autoload/rubycomplete.vim +801 -0
  34. data/lib/utils/config/vim/autoload/sqlcomplete.vim +741 -0
  35. data/lib/utils/config/vim/autoload/vimball.vim +750 -0
  36. data/lib/utils/config/vim/colors/flori.vim +113 -0
  37. data/lib/utils/config/vim/compiler/eruby.vim +40 -0
  38. data/lib/utils/config/vim/compiler/ruby.vim +67 -0
  39. data/lib/utils/config/vim/compiler/rubyunit.vim +34 -0
  40. data/lib/utils/config/vim/ftdetect/ragel.vim +2 -0
  41. data/lib/utils/config/vim/ftdetect/ruby.vim +17 -0
  42. data/lib/utils/config/vim/ftplugin/eruby.vim +100 -0
  43. data/lib/utils/config/vim/ftplugin/ruby.vim +260 -0
  44. data/lib/utils/config/vim/ftplugin/xml.vim +941 -0
  45. data/lib/utils/config/vim/indent/IndentAnything_html.vim +35 -0
  46. data/lib/utils/config/vim/indent/eruby.vim +77 -0
  47. data/lib/utils/config/vim/indent/javascript.vim +116 -0
  48. data/lib/utils/config/vim/indent/ruby.vim +377 -0
  49. data/lib/utils/config/vim/plugin/AlignMapsPlugin.vim +242 -0
  50. data/lib/utils/config/vim/plugin/AlignPlugin.vim +41 -0
  51. data/lib/utils/config/vim/plugin/Decho.vim +592 -0
  52. data/lib/utils/config/vim/plugin/IndentAnything.vim +675 -0
  53. data/lib/utils/config/vim/plugin/bufexplorer.vim +1144 -0
  54. data/lib/utils/config/vim/plugin/cecutil.vim +482 -0
  55. data/lib/utils/config/vim/plugin/fugitive.vim +1703 -0
  56. data/lib/utils/config/vim/plugin/lusty-explorer.vim +1509 -0
  57. data/lib/utils/config/vim/plugin/rails.vim +340 -0
  58. data/lib/utils/config/vim/plugin/rubyextra.vim +193 -0
  59. data/lib/utils/config/vim/plugin/surround.vim +628 -0
  60. data/lib/utils/config/vim/plugin/taglist.vim +4546 -0
  61. data/lib/utils/config/vim/plugin/test/IndentAnything/test.js +131 -0
  62. data/lib/utils/config/vim/plugin/vimballPlugin.vim +40 -0
  63. data/lib/utils/config/vim/syntax/Decho.vim +101 -0
  64. data/lib/utils/config/vim/syntax/eruby.vim +73 -0
  65. data/lib/utils/config/vim/syntax/javascript.vim +246 -0
  66. data/lib/utils/config/vim/syntax/ragel.vim +165 -0
  67. data/lib/utils/config/vim/syntax/ruby.vim +367 -0
  68. data/lib/utils/config/vimrc +461 -0
  69. data/lib/utils/file.rb +49 -0
  70. data/lib/utils/find.rb +54 -0
  71. data/lib/utils/md5.rb +23 -0
  72. data/lib/utils/patterns.rb +34 -0
  73. data/lib/utils/version.rb +8 -0
  74. data/utils.gemspec +33 -0
  75. metadata +183 -0
@@ -0,0 +1,131 @@
1
+ //
2
+ // Sample Javascript test code
3
+ //
4
+ if ( x )
5
+ x;
6
+ x = { f + // foo
7
+ q
8
+ go
9
+ }
10
+ r +
11
+ bar + call( foo +
12
+ bar
13
+ // foo
14
+ then
15
+ bar
16
+ )
17
+ ntnth // TODO: this line should be at col 0
18
+
19
+ foo = {
20
+ at : the,
21
+ bar : tender
22
+ }
23
+
24
+
25
+ r
26
+ if (foo)
27
+ // then
28
+ // do something
29
+ bar;
30
+ yo;
31
+ if (foo)
32
+ {
33
+ //
34
+ // then do something
35
+ bar;
36
+ }
37
+ if (bar)
38
+ /*
39
+ * Comment on something. Comment on something. Comment on something.
40
+ * Comment on something. Comment on something.
41
+ *
42
+ */
43
+ yo;
44
+ foo
45
+
46
+ {
47
+ line = getline() /* comment after code but spanning multiple lines seems to
48
+ * work pretty well.
49
+ */
50
+ foo
51
+ }
52
+
53
+ window.prototype.foo = {
54
+ a : hole,
55
+ dink : wad
56
+ }
57
+
58
+ document.getElementById(
59
+ string);
60
+
61
+ /*
62
+ * :
63
+ */
64
+ if (go()) // do it
65
+ foo;
66
+ while (false) /* never do it */
67
+ ;
68
+
69
+
70
+ /***
71
+ *
72
+ * blah
73
+ */
74
+
75
+
76
+ switch (x) {
77
+ case 'x':
78
+ window.alert(x);
79
+ break;
80
+ default:
81
+ break;
82
+ }
83
+
84
+ foo +
85
+ //and + bar(
86
+ //another
87
+ )
88
+ r +
89
+ bar + call( foo +
90
+ bar
91
+ // foo
92
+ then
93
+ bar
94
+ )
95
+ foo
96
+
97
+
98
+
99
+ {
100
+ fuction foo() {
101
+ /* comment */
102
+ foo();
103
+ }
104
+ }
105
+
106
+
107
+ /*****************************************************************************
108
+ *
109
+ * Known broken-ness:
110
+ *
111
+ */
112
+
113
+ if (yo) /*
114
+ * dude
115
+ *
116
+ */
117
+ blah // this should be one level in
118
+
119
+ //
120
+
121
+ //
122
+
123
+ if (
124
+ something) /*
125
+ */
126
+ //
127
+ // broken here. This should be one level back. But I'll argue (for now) that
128
+ // the previous comment (which causes this) is bad style.
129
+ //
130
+
131
+
@@ -0,0 +1,40 @@
1
+ " vimballPlugin : construct a file containing both paths and files
2
+ " Author: Charles E. Campbell, Jr.
3
+ " Copyright: (c) 2004-2010 by Charles E. Campbell, Jr.
4
+ " The VIM LICENSE applies to Vimball.vim, and Vimball.txt
5
+ " (see |copyright|) except use "Vimball" instead of "Vim".
6
+ " No warranty, express or implied.
7
+ " *** *** Use At-Your-Own-Risk! *** ***
8
+ "
9
+ " (Rom 2:1 WEB) Therefore you are without excuse, O man, whoever you are who
10
+ " judge. For in that which you judge another, you condemn yourself. For
11
+ " you who judge practice the same things.
12
+ " GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
13
+
14
+ " ---------------------------------------------------------------------
15
+ " Load Once: {{{1
16
+ if &cp || exists("g:loaded_vimballPlugin")
17
+ finish
18
+ endif
19
+ let g:loaded_vimballPlugin = "v33"
20
+ let s:keepcpo = &cpo
21
+ set cpo&vim
22
+
23
+ " ------------------------------------------------------------------------------
24
+ " Public Interface: {{{1
25
+ com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
26
+ com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>)
27
+ com! -na=0 VimballList call vimball#Vimball(0)
28
+ com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
29
+ au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
30
+ au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if expand("%")!=expand("<afile>")|close|endif
31
+ au SourceCmd *.vba if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
32
+ au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
33
+ au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if expand("%")!=expand("<afile>")|close|endif
34
+ au SourceCmd *.vmb if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
35
+
36
+ " =====================================================================
37
+ " Restoration And Modelines: {{{1
38
+ " vim: fdm=marker
39
+ let &cpo= s:keepcpo
40
+ unlet s:keepcpo
@@ -0,0 +1,101 @@
1
+ " DrChip's debugger syntax file
2
+ " Language : DrChip's Dfunc/Decho/Dret output
3
+ " Maintainer : Charles E. Campbell, Jr.
4
+ " Last change: Aug 12, 2008
5
+ " Version : 5
6
+
7
+ " Remove any old syntax stuff hanging around
8
+ syn clear
9
+
10
+ " DechoTab support
11
+ syn match dechoTabTitleSep "^---------$"
12
+ syn match dechoTabTitle "^Decho Tab$"
13
+
14
+ " Delimiters, strings, numbers
15
+ syn match dechoDelimiter "[{}]$"
16
+ syn match dechoDelimiter ","
17
+ syn region dechoAngleBrkt oneline matchgroup=Green start="\w<"lc=1 matchgroup=Green end=">" contains=dechoNotify,dechoAngleBrktInc,dechoString
18
+ syn region dechoAngleBrktInc contained oneline start="<" end=">" contains=dechoNotify,dechoAngleBrktInc,dechoString
19
+ syn region dechoString oneline matchgroup=Blue start='"' matchgroup=Blue end='"' contains=dechoNotify
20
+ syn match dechoNumber "\<-\=[0-9]\+\>"
21
+ syn match dechoNumber "\<-\=[0-9]\+\ze:"
22
+ syn match dechoNumber "\<=-\=[0-9a-fA-F]\+\>"
23
+ syn match dechoNumber "\<[0-9a-fA-F]\+x$"
24
+ syn match dechoNumber "\<[0-9a-fA-F]\+x[^a-zA-Z=]"me=e-1
25
+
26
+ " Let me see errors/warnings/severe messages easily
27
+ syn keyword dechoNotify fatal error severe
28
+ syn match dechoNotify "!!!\|???"
29
+ syn keyword dechoWarning warning
30
+
31
+ " Bars, Function names, Return
32
+ syn match dechoFunction contained "\%([sS]:\)\=\h[a-zA-Z0-9_#]*"
33
+ syn match dechoBar "^|\+"
34
+ syn match dechoStartFunc "^|*\%([sS]:\)\=\h[a-zA-Z0-9_#]*(" contains=dechoBar,dechoFunction,dechoDelimStart
35
+ syn match dechoStopFunc "^|\+return \%([sS]:\)\=\h[a-zA-Z0-9_#]*" contains=dechoBar,dechoFunction
36
+ syn match dechoComment "^[ \t]*#.*$"
37
+ syn match dechoMatrix "^|[-+ 0-9.e]\+|$" contains=dechoMatrixBar
38
+ syn match dechoMatrixBar contained "|"
39
+
40
+ " Problems
41
+ syn keyword dechoProblem PROBLEM[:] COMBAK[:] WARNING[:] SEVERE[:] NOTE[:] DIFFER[S:]
42
+
43
+ if !exists("did_drchip_decho_syntax")
44
+ let did_drchip_decho_syntax= 1
45
+
46
+ " Links
47
+ hi link dechoAngleBrktInc dechoAngleBrkt
48
+
49
+ " If the "Warning" highlighting group hasn't been defined,
50
+ " then this script will define it.
51
+ let s:id_hlname= hlID("Warning")
52
+ let s:fg_hlname= synIDattr(synIDtrans(s:id_hlname),"fg")
53
+ if s:id_hlname == 0 || s:fg_hlname == 0 || s:fg_hlname == -1
54
+ hi Warning term=NONE cterm=NONE gui=NONE ctermfg=black ctermbg=yellow guifg=black guibg=yellow
55
+ endif
56
+ unlet s:id_hlname s:fg_hlname
57
+
58
+ hi link dechoAngleBrkt String
59
+ hi link dechoComment Comment
60
+ hi link dechoDelimiter Delimiter
61
+ hi link dechoFunction Statement
62
+ hi link dechoMatrixBar Delimiter
63
+ hi link dechoNotify Error
64
+ hi link dechoNumber Number
65
+ hi link dechoProblem Error
66
+ hi link dechoString String
67
+ hi link dechoWarning Warning
68
+ hi link dechoTabTitle PreProc
69
+ hi link dechoTabTitleSep Delimiter
70
+
71
+ " HLTest: tests if a highlighting group has been set up {{{2
72
+ fun! s:HLTest(hlname)
73
+ let id_hlname= hlID(a:hlname)
74
+ if id_hlname == 0
75
+ return 0
76
+ endif
77
+ let id_trans = synIDtrans(id_hlname)
78
+ if id_trans == 0
79
+ return 0
80
+ endif
81
+ let fg_hlname= synIDattr(id_trans,"fg")
82
+ let bg_hlname= synIDattr(id_trans,"bg")
83
+ if fg_hlname == -1 && bg_hlname == -1
84
+ return 0
85
+ endif
86
+ if fg_hlname == "" && bg_hlname == ""
87
+ return 0
88
+ endif
89
+ return 1
90
+ endfun
91
+
92
+ " define DechoBarHL as needed
93
+ if s:HLTest("Magenta")
94
+ hi link DechoBarHL Magenta
95
+ else
96
+ hi DechoBarHL start= stop= ctermfg=magenta guifg=magenta term=none cterm=none gui=none
97
+ endif
98
+ delf s:HLTest
99
+ hi link dechoBar DechoBarHL
100
+ endif
101
+ " vim: ts=6
@@ -0,0 +1,73 @@
1
+ " Vim syntax 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:current_syntax")
9
+ finish
10
+ endif
11
+
12
+ if !exists("main_syntax")
13
+ let main_syntax = 'eruby'
14
+ endif
15
+
16
+ if !exists("g:eruby_default_subtype")
17
+ let g:eruby_default_subtype = "html"
18
+ endif
19
+
20
+ if !exists("b:eruby_subtype") && main_syntax == 'eruby'
21
+ let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
22
+ let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
23
+ if b:eruby_subtype == ''
24
+ let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\)\+$','',''),'\.\zs\w\+$')
25
+ endif
26
+ if b:eruby_subtype == 'rhtml'
27
+ let b:eruby_subtype = 'html'
28
+ elseif b:eruby_subtype == 'rb'
29
+ let b:eruby_subtype = 'ruby'
30
+ elseif b:eruby_subtype == 'yml'
31
+ let b:eruby_subtype = 'yaml'
32
+ elseif b:eruby_subtype == 'js'
33
+ let b:eruby_subtype = 'javascript'
34
+ elseif b:eruby_subtype == 'txt'
35
+ " Conventional; not a real file type
36
+ let b:eruby_subtype = 'text'
37
+ elseif b:eruby_subtype == ''
38
+ let b:eruby_subtype = g:eruby_default_subtype
39
+ endif
40
+ endif
41
+
42
+ if !exists("b:eruby_nest_level")
43
+ let b:eruby_nest_level = strlen(substitute(substitute(substitute(expand("%:t"),'@','','g'),'\c\.\%(erb\|rhtml\)\>','@','g'),'[^@]','','g'))
44
+ endif
45
+ if !b:eruby_nest_level
46
+ let b:eruby_nest_level = 1
47
+ endif
48
+
49
+ if exists("b:eruby_subtype") && b:eruby_subtype != ''
50
+ exe "runtime! syntax/".b:eruby_subtype.".vim"
51
+ unlet! b:current_syntax
52
+ endif
53
+ syn include @rubyTop syntax/ruby.vim
54
+
55
+ syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment
56
+
57
+ exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline'
58
+ exe 'syn region erubyBlock matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}%\@!-\=" end="[=-]\=%\@<!%\{1,'.b:eruby_nest_level.'\}>" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend'
59
+ exe 'syn region erubyExpression matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}=\{1,4}" end="[=-]\=%\@<!%\{1,'.b:eruby_nest_level.'\}>" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend'
60
+ exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}#" end="%\@<!%\{1,'.b:eruby_nest_level.'\}>" contains=rubyTodo,@Spell containedin=ALLBUT,@erubyRegions keepend'
61
+
62
+ " Define the default highlighting.
63
+
64
+ hi def link erubyDelimiter Delimiter
65
+ hi def link erubyComment Comment
66
+
67
+ let b:current_syntax = 'eruby'
68
+
69
+ if main_syntax == 'eruby'
70
+ unlet main_syntax
71
+ endif
72
+
73
+ " vim: nowrap sw=2 sts=2 ts=8:
@@ -0,0 +1,246 @@
1
+ " Vim syntax file
2
+ " Language: JavaScript
3
+ " Maintainer: Yi Zhao (ZHAOYI) <zzlinux AT hotmail DOT com>
4
+ " Last Change: June 4, 2009
5
+ " Version: 0.7.7
6
+ " Changes: Add "undefined" as a type keyword
7
+ "
8
+ " TODO:
9
+ " - Add the HTML syntax inside the JSDoc
10
+
11
+ if !exists("main_syntax")
12
+ if version < 600
13
+ syntax clear
14
+ elseif exists("b:current_syntax")
15
+ finish
16
+ endif
17
+ let main_syntax = 'javascript'
18
+ endif
19
+
20
+ "" Drop fold if it set but VIM doesn't support it.
21
+ let b:javascript_fold='true'
22
+ if version < 600 " Don't support the old version
23
+ unlet! b:javascript_fold
24
+ endif
25
+
26
+ "" dollar sigh is permittd anywhere in an identifier
27
+ setlocal iskeyword+=$
28
+
29
+ syntax sync fromstart
30
+
31
+ "" JavaScript comments
32
+ syntax keyword javaScriptCommentTodo TODO FIXME XXX TBD contained
33
+ syntax region javaScriptLineComment start=+\/\/+ end=+$+ keepend contains=javaScriptCommentTodo,@Spell
34
+ syntax region javaScriptLineComment start=+^\s*\/\/+ skip=+\n\s*\/\/+ end=+$+ keepend contains=javaScriptCommentTodo,@Spell fold
35
+ syntax region javaScriptCvsTag start="\$\cid:" end="\$" oneline contained
36
+ syntax region javaScriptComment start="/\*" end="\*/" contains=javaScriptCommentTodo,javaScriptCvsTag,@Spell fold
37
+
38
+ "" JSDoc support start
39
+ if !exists("javascript_ignore_javaScriptdoc")
40
+ syntax case ignore
41
+
42
+ "" syntax coloring for javadoc comments (HTML)
43
+ "syntax include @javaHtml <sfile>:p:h/html.vim
44
+ "unlet b:current_syntax
45
+
46
+ syntax region javaScriptDocComment matchgroup=javaScriptComment start="/\*\*\s*$" end="\*/" contains=javaScriptDocTags,javaScriptCommentTodo,javaScriptCvsTag,@javaScriptHtml,@Spell fold
47
+ syntax match javaScriptDocTags contained "@\(param\|argument\|requires\|exception\|throws\|type\|class\|extends\|see\|link\|member\|module\|method\|title\|namespace\|optional\|default\|base\|file\)\>" nextgroup=javaScriptDocParam,javaScriptDocSeeTag skipwhite
48
+ syntax match javaScriptDocTags contained "@\(beta\|deprecated\|description\|fileoverview\|author\|license\|version\|returns\=\|constructor\|private\|protected\|final\|ignore\|addon\|exec\)\>"
49
+ syntax match javaScriptDocParam contained "\%(#\|\w\|\.\|:\|\/\)\+"
50
+ syntax region javaScriptDocSeeTag contained matchgroup=javaScriptDocSeeTag start="{" end="}" contains=javaScriptDocTags
51
+
52
+ syntax case match
53
+ endif "" JSDoc end
54
+
55
+ syntax case match
56
+
57
+ "" Syntax in the JavaScript code
58
+ syntax match javaScriptSpecial "\\\d\d\d\|\\x\x\{2\}\|\\u\x\{4\}\|\\."
59
+ syntax region javaScriptStringD start=+"+ skip=+\\\\\|\\$"+ end=+"+ contains=javaScriptSpecial,@htmlPreproc
60
+ syntax region javaScriptStringS start=+'+ skip=+\\\\\|\\$'+ end=+'+ contains=javaScriptSpecial,@htmlPreproc
61
+ syntax region javaScriptRegexpString start=+/\(\*\|/\)\@!+ skip=+\\\\\|\\/+ end=+/[gim]\{,3}+ contains=javaScriptSpecial,@htmlPreproc oneline
62
+ syntax match javaScriptNumber /\<-\=\d\+L\=\>\|\<0[xX]\x\+\>/
63
+ syntax match javaScriptFloat /\<-\=\%(\d\+\.\d\+\|\d\+\.\|\.\d\+\)\%([eE][+-]\=\d\+\)\=\>/
64
+ syntax match javaScriptLabel /\(?\s*\)\@<!\<\w\+\(\s*:\)\@=/
65
+
66
+ "" JavaScript Prototype
67
+ syntax keyword javaScriptPrototype prototype
68
+
69
+ "" Programm Keywords
70
+ syntax keyword javaScriptSource import export
71
+ syntax keyword javaScriptType const this undefined var void yield
72
+ syntax keyword javaScriptOperator delete new in instanceof let typeof
73
+ syntax keyword javaScriptBoolean true false
74
+ syntax keyword javaScriptNull null
75
+
76
+ "" Statement Keywords
77
+ syntax keyword javaScriptConditional if else
78
+ syntax keyword javaScriptRepeat do while for
79
+ syntax keyword javaScriptBranch break continue switch case default return
80
+ syntax keyword javaScriptStatement try catch throw with finally
81
+
82
+ syntax keyword javaScriptGlobalObjects Array Boolean Date Function Infinity JavaArray JavaClass JavaObject JavaPackage Math Number NaN Object Packages RegExp String Undefined java netscape sun
83
+
84
+ syntax keyword javaScriptExceptions Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
85
+
86
+ syntax keyword javaScriptFutureKeys abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public
87
+
88
+ "" DOM/HTML/CSS specified things
89
+
90
+ " DOM2 Objects
91
+ syntax keyword javaScriptGlobalObjects DOMImplementation DocumentFragment Document Node NodeList NamedNodeMap CharacterData Attr Element Text Comment CDATASection DocumentType Notation Entity EntityReference ProcessingInstruction
92
+ syntax keyword javaScriptExceptions DOMException
93
+
94
+ " DOM2 CONSTANT
95
+ syntax keyword javaScriptDomErrNo INDEX_SIZE_ERR DOMSTRING_SIZE_ERR HIERARCHY_REQUEST_ERR WRONG_DOCUMENT_ERR INVALID_CHARACTER_ERR NO_DATA_ALLOWED_ERR NO_MODIFICATION_ALLOWED_ERR NOT_FOUND_ERR NOT_SUPPORTED_ERR INUSE_ATTRIBUTE_ERR INVALID_STATE_ERR SYNTAX_ERR INVALID_MODIFICATION_ERR NAMESPACE_ERR INVALID_ACCESS_ERR
96
+ syntax keyword javaScriptDomNodeConsts ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE CDATA_SECTION_NODE ENTITY_REFERENCE_NODE ENTITY_NODE PROCESSING_INSTRUCTION_NODE COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE DOCUMENT_FRAGMENT_NODE NOTATION_NODE
97
+
98
+ " HTML events and internal variables
99
+ syntax case ignore
100
+ syntax keyword javaScriptHtmlEvents onblur onclick oncontextmenu ondblclick onfocus onkeydown onkeypress onkeyup onmousedown onmousemove onmouseout onmouseover onmouseup onresize
101
+ syntax case match
102
+
103
+ " Follow stuff should be highligh within a special context
104
+ " While it can't be handled with context depended with Regex based highlight
105
+ " So, turn it off by default
106
+ if exists("javascript_enable_domhtmlcss")
107
+
108
+ " DOM2 things
109
+ syntax match javaScriptDomElemAttrs contained /\%(nodeName\|nodeValue\|nodeType\|parentNode\|childNodes\|firstChild\|lastChild\|previousSibling\|nextSibling\|attributes\|ownerDocument\|namespaceURI\|prefix\|localName\|tagName\)\>/
110
+ syntax match javaScriptDomElemFuncs contained /\%(insertBefore\|replaceChild\|removeChild\|appendChild\|hasChildNodes\|cloneNode\|normalize\|isSupported\|hasAttributes\|getAttribute\|setAttribute\|removeAttribute\|getAttributeNode\|setAttributeNode\|removeAttributeNode\|getElementsByTagName\|getAttributeNS\|setAttributeNS\|removeAttributeNS\|getAttributeNodeNS\|setAttributeNodeNS\|getElementsByTagNameNS\|hasAttribute\|hasAttributeNS\)\>/ nextgroup=javaScriptParen skipwhite
111
+ " HTML things
112
+ syntax match javaScriptHtmlElemAttrs contained /\%(className\|clientHeight\|clientLeft\|clientTop\|clientWidth\|dir\|id\|innerHTML\|lang\|length\|offsetHeight\|offsetLeft\|offsetParent\|offsetTop\|offsetWidth\|scrollHeight\|scrollLeft\|scrollTop\|scrollWidth\|style\|tabIndex\|title\)\>/
113
+ syntax match javaScriptHtmlElemFuncs contained /\%(blur\|click\|focus\|scrollIntoView\|addEventListener\|dispatchEvent\|removeEventListener\|item\)\>/ nextgroup=javaScriptParen skipwhite
114
+
115
+ " CSS Styles in JavaScript
116
+ syntax keyword javaScriptCssStyles contained color font fontFamily fontSize fontSizeAdjust fontStretch fontStyle fontVariant fontWeight letterSpacing lineBreak lineHeight quotes rubyAlign rubyOverhang rubyPosition
117
+ syntax keyword javaScriptCssStyles contained textAlign textAlignLast textAutospace textDecoration textIndent textJustify textJustifyTrim textKashidaSpace textOverflowW6 textShadow textTransform textUnderlinePosition
118
+ syntax keyword javaScriptCssStyles contained unicodeBidi whiteSpace wordBreak wordSpacing wordWrap writingMode
119
+ syntax keyword javaScriptCssStyles contained bottom height left position right top width zIndex
120
+ syntax keyword javaScriptCssStyles contained border borderBottom borderLeft borderRight borderTop borderBottomColor borderLeftColor borderTopColor borderBottomStyle borderLeftStyle borderRightStyle borderTopStyle borderBottomWidth borderLeftWidth borderRightWidth borderTopWidth borderColor borderStyle borderWidth borderCollapse borderSpacing captionSide emptyCells tableLayout
121
+ syntax keyword javaScriptCssStyles contained margin marginBottom marginLeft marginRight marginTop outline outlineColor outlineStyle outlineWidth padding paddingBottom paddingLeft paddingRight paddingTop
122
+ syntax keyword javaScriptCssStyles contained listStyle listStyleImage listStylePosition listStyleType
123
+ syntax keyword javaScriptCssStyles contained background backgroundAttachment backgroundColor backgroundImage gackgroundPosition backgroundPositionX backgroundPositionY backgroundRepeat
124
+ syntax keyword javaScriptCssStyles contained clear clip clipBottom clipLeft clipRight clipTop content counterIncrement counterReset cssFloat cursor direction display filter layoutGrid layoutGridChar layoutGridLine layoutGridMode layoutGridType
125
+ syntax keyword javaScriptCssStyles contained marks maxHeight maxWidth minHeight minWidth opacity MozOpacity overflow overflowX overflowY verticalAlign visibility zoom cssText
126
+ syntax keyword javaScriptCssStyles contained scrollbar3dLightColor scrollbarArrowColor scrollbarBaseColor scrollbarDarkShadowColor scrollbarFaceColor scrollbarHighlightColor scrollbarShadowColor scrollbarTrackColor
127
+
128
+ " Highlight ways
129
+ syntax match javaScriptDotNotation "\." nextgroup=javaScriptPrototype,javaScriptDomElemAttrs,javaScriptDomElemFuncs,javaScriptHtmlElemAttrs,javaScriptHtmlElemFuncs
130
+ syntax match javaScriptDotNotation "\.style\." nextgroup=javaScriptCssStyles
131
+
132
+ endif "DOM/HTML/CSS
133
+
134
+ "" end DOM/HTML/CSS specified things
135
+
136
+
137
+ "" Code blocks
138
+ syntax cluster javaScriptAll contains=javaScriptComment,javaScriptLineComment,javaScriptDocComment,javaScriptStringD,javaScriptStringS,javaScriptRegexpString,javaScriptNumber,javaScriptFloat,javaScriptLabel,javaScriptSource,javaScriptType,javaScriptOperator,javaScriptBoolean,javaScriptNull,javaScriptFunction,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptStatement,javaScriptGlobalObjects,javaScriptExceptions,javaScriptFutureKeys,javaScriptDomErrNo,javaScriptDomNodeConsts,javaScriptHtmlEvents,javaScriptDotNotation
139
+ syntax region javaScriptBracket matchgroup=javaScriptBracket transparent start="\[" end="\]" contains=@javaScriptAll,javaScriptParensErrB,javaScriptParensErrC,javaScriptBracket,javaScriptParen,javaScriptBlock,@htmlPreproc
140
+ syntax region javaScriptParen matchgroup=javaScriptParen transparent start="(" end=")" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrC,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
141
+ syntax region javaScriptBlock matchgroup=javaScriptBlock transparent start="{" end="}" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock,@htmlPreproc
142
+
143
+ "" catch errors caused by wrong parenthesis
144
+ syntax match javaScriptParensError ")\|}\|\]"
145
+ syntax match javaScriptParensErrA contained "\]"
146
+ syntax match javaScriptParensErrB contained ")"
147
+ syntax match javaScriptParensErrC contained "}"
148
+
149
+ if main_syntax == "javascript"
150
+ syntax sync clear
151
+ syntax sync ccomment javaScriptComment minlines=200
152
+ syntax sync match javaScriptHighlight grouphere javaScriptBlock /{/
153
+ endif
154
+
155
+ "" Fold control
156
+ if exists("b:javascript_fold")
157
+ syntax match javaScriptFunction /\<function\>/ nextgroup=javaScriptFuncName skipwhite
158
+ syntax match javaScriptOpAssign /=\@<!=/ nextgroup=javaScriptFuncBlock skipwhite skipempty
159
+ syntax region javaScriptFuncName contained matchgroup=javaScriptFuncName start=/\%(\$\|\w\)*\s*(/ end=/)/ contains=javaScriptLineComment,javaScriptComment nextgroup=javaScriptFuncBlock skipwhite skipempty
160
+ syntax region javaScriptFuncBlock contained matchgroup=javaScriptFuncBlock start="{" end="}" contains=@javaScriptAll,javaScriptParensErrA,javaScriptParensErrB,javaScriptParen,javaScriptBracket,javaScriptBlock fold
161
+
162
+ if &l:filetype=='javascript' && !&diff
163
+ " Fold setting
164
+ " Redefine the foldtext (to show a JS function outline) and foldlevel
165
+ " only if the entire buffer is JavaScript, but not if JavaScript syntax
166
+ " is embedded in another syntax (e.g. HTML).
167
+ setlocal foldmethod=syntax
168
+ setlocal foldlevel=4
169
+ endif
170
+ else
171
+ syntax keyword javaScriptFunction function
172
+ setlocal foldmethod<
173
+ setlocal foldlevel<
174
+ endif
175
+
176
+ " Define the default highlighting.
177
+ " For version 5.7 and earlier: only when not done already
178
+ " For version 5.8 and later: only when an item doesn't have highlighting yet
179
+ if version >= 508 || !exists("did_javascript_syn_inits")
180
+ if version < 508
181
+ let did_javascript_syn_inits = 1
182
+ command -nargs=+ HiLink hi link <args>
183
+ else
184
+ command -nargs=+ HiLink hi def link <args>
185
+ endif
186
+ HiLink javaScriptComment Comment
187
+ HiLink javaScriptLineComment Comment
188
+ HiLink javaScriptDocComment Comment
189
+ HiLink javaScriptCommentTodo Todo
190
+ HiLink javaScriptCvsTag Function
191
+ HiLink javaScriptDocTags Special
192
+ HiLink javaScriptDocSeeTag Function
193
+ HiLink javaScriptDocParam Function
194
+ HiLink javaScriptStringS String
195
+ HiLink javaScriptStringD String
196
+ HiLink javaScriptRegexpString String
197
+ HiLink javaScriptCharacter Character
198
+ HiLink javaScriptPrototype Type
199
+ HiLink javaScriptConditional Conditional
200
+ HiLink javaScriptBranch Conditional
201
+ HiLink javaScriptRepeat Repeat
202
+ HiLink javaScriptStatement Statement
203
+ HiLink javaScriptFunction Function
204
+ HiLink javaScriptError Error
205
+ HiLink javaScriptParensError Error
206
+ HiLink javaScriptParensErrA Error
207
+ HiLink javaScriptParensErrB Error
208
+ HiLink javaScriptParensErrC Error
209
+ HiLink javaScriptOperator Operator
210
+ HiLink javaScriptType Type
211
+ HiLink javaScriptNull Type
212
+ HiLink javaScriptNumber Number
213
+ HiLink javaScriptFloat Number
214
+ HiLink javaScriptBoolean Boolean
215
+ HiLink javaScriptLabel Label
216
+ HiLink javaScriptSpecial Special
217
+ HiLink javaScriptSource Special
218
+ HiLink javaScriptGlobalObjects Special
219
+ HiLink javaScriptExceptions Special
220
+
221
+ HiLink javaScriptDomErrNo Constant
222
+ HiLink javaScriptDomNodeConsts Constant
223
+ HiLink javaScriptDomElemAttrs Label
224
+ HiLink javaScriptDomElemFuncs PreProc
225
+
226
+ HiLink javaScriptHtmlEvents Special
227
+ HiLink javaScriptHtmlElemAttrs Label
228
+ HiLink javaScriptHtmlElemFuncs PreProc
229
+
230
+ HiLink javaScriptCssStyles Label
231
+
232
+ delcommand HiLink
233
+ endif
234
+
235
+ " Define the htmlJavaScript for HTML syntax html.vim
236
+ "syntax clear htmlJavaScript
237
+ "syntax clear javaScriptExpression
238
+ syntax cluster htmlJavaScript contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError
239
+ syntax cluster javaScriptExpression contains=@javaScriptAll,javaScriptBracket,javaScriptParen,javaScriptBlock,javaScriptParenError,@htmlPreproc
240
+
241
+ let b:current_syntax = "javascript"
242
+ if main_syntax == 'javascript'
243
+ unlet main_syntax
244
+ endif
245
+
246
+ " vim: ts=4