utils 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,165 @@
1
+ " Vim syntax file
2
+ "
3
+ " Language: Ragel
4
+ " Author: Adrian Thurston
5
+
6
+ syntax clear
7
+
8
+ "
9
+ " Outside code
10
+ "
11
+
12
+ " Comments
13
+ syntax region ocComment start="\/\*" end="\*\/"
14
+ syntax match ocComment "\/\/.*$"
15
+
16
+ " Anything preprocessor
17
+ syntax match ocPreproc "#.*$"
18
+
19
+ " Strings
20
+ syntax match ocLiteral "'\(\\.\|[^'\\]\)*'"
21
+ syntax match ocLiteral "\"\(\\.\|[^\"\\]\)*\""
22
+
23
+ " C/C++ Keywords
24
+ syntax keyword ocType unsigned signed void char short int long float double bool
25
+ syntax keyword ocType inline static extern register const volatile auto
26
+ syntax keyword ocType union enum struct class typedef
27
+ syntax keyword ocType namespace template typename mutable
28
+ syntax keyword ocKeyword break continue default do else for
29
+ syntax keyword ocKeyword goto if return switch while
30
+ syntax keyword ocKeyword new delete this using friend public private protected sizeof
31
+ syntax keyword ocKeyword throw try catch operator typeid
32
+ syntax keyword ocKeyword and bitor xor compl bitand and_eq or_eq xor_eq not not_eq
33
+ syntax keyword ocKeyword static_cast dynamic_cast
34
+
35
+ " D Keywords
36
+ syntax keyword ocType wchar dchar bit byte ubyte ushort uint ulong cent ucent
37
+ syntax keyword ocType cfloat ifloat cdouble idouble real creal ireal
38
+ syntax keyword ocKeyword abstract alias align asm assert body cast debug delegate
39
+ syntax keyword ocKeyword deprecated export final finally foreach function import in inout
40
+ syntax keyword ocKeyword interface invariant is mixin module out override package pragma
41
+ syntax keyword ocKeyword super synchronized typeof unittest version with
42
+
43
+ " Java Keywords
44
+ syntax keyword ocType byte short char int
45
+
46
+ " Objective-C Directives
47
+ syntax match ocKeyword "@public\|@private\|@protected"
48
+ syntax match ocKeyword "@interface\|@implementation"
49
+ syntax match ocKeyword "@class\|@end\|@defs"
50
+ syntax match ocKeyword "@encode\|@protocol\|@selector"
51
+
52
+ " Numbers
53
+ syntax match ocNumber "[0-9][0-9]*"
54
+ syntax match ocNumber "0x[0-9a-fA-F][0-9a-fA-F]*"
55
+
56
+ " Booleans
57
+ syntax keyword ocBoolean true false
58
+
59
+ " Identifiers
60
+ syntax match anyId "[a-zA-Z_][a-zA-Z_0-9]*"
61
+
62
+ " Inline code only
63
+ syntax keyword fsmType fpc fc fcurs fbuf fblen ftargs fstack
64
+ syntax keyword fsmKeyword fhold fgoto fcall fret fentry fnext fexec fbreak
65
+
66
+ syntax cluster rlItems contains=rlComment,rlLiteral,rlAugmentOps,rlOtherOps,rlKeywords,rlWrite,rlCodeCurly,rlCodeSemi,rlNumber,anyId,rlLabelColon,rlExprKeywords
67
+
68
+ syntax region machineSpec1 matchgroup=beginRL start="%%{" end="}%%" contains=@rlItems
69
+ syntax region machineSpec2 matchgroup=beginRL start="%%[^{]"rs=e-1 end="$" keepend contains=@rlItems
70
+ syntax region machineSpec2 matchgroup=beginRL start="%%$" end="$" keepend contains=@rlItems
71
+
72
+ " Comments
73
+ syntax match rlComment "#.*$" contained
74
+
75
+ " Literals
76
+ syntax match rlLiteral "'\(\\.\|[^'\\]\)*'[i]*" contained
77
+ syntax match rlLiteral "\"\(\\.\|[^\"\\]\)*\"[i]*" contained
78
+ syntax match rlLiteral /\/\(\\.\|[^\/\\]\)*\/[i]*/ contained
79
+ syntax match rlLiteral "\[\(\\.\|[^\]\\]\)*\]" contained
80
+
81
+ " Numbers
82
+ syntax match rlNumber "[0-9][0-9]*" contained
83
+ syntax match rlNumber "0x[0-9a-fA-F][0-9a-fA-F]*" contained
84
+
85
+ " Operators
86
+ syntax match rlAugmentOps "[>$%@]" contained
87
+ syntax match rlAugmentOps "<>\|<" contained
88
+ syntax match rlAugmentOps "[>\<$%@][!\^/*~]" contained
89
+ syntax match rlAugmentOps "[>$%]?" contained
90
+ syntax match rlAugmentOps "<>[!\^/*~]" contained
91
+ syntax match rlAugmentOps "=>" contained
92
+ syntax match rlOtherOps "->" contained
93
+
94
+ syntax match rlOtherOps ":>" contained
95
+ syntax match rlOtherOps ":>>" contained
96
+ syntax match rlOtherOps "<:" contained
97
+
98
+ " Keywords
99
+ " FIXME: Enable the range keyword post 5.17.
100
+ " syntax keyword rlKeywords machine action context include range contained
101
+ syntax keyword rlKeywords machine action context include contained
102
+ syntax keyword rlExprKeywords when err lerr eof from to contained
103
+
104
+ " Case Labels
105
+ syntax keyword caseLabelKeyword case contained
106
+ syntax cluster caseLabelItems contains=ocComment,ocPreproc,ocLiteral,ocType,ocKeyword,caseLabelKeyword,ocNumber,ocBoolean,anyId,fsmType,fsmKeyword
107
+ syntax match caseLabelColon "case" contains=@caseLabelItems
108
+ syntax match caseLabelColon "case[\t ]\+.*:$" contains=@caseLabelItems
109
+ syntax match caseLabelColon "case[\t ]\+.*:[^=:]"me=e-1 contains=@caseLabelItems
110
+
111
+ " Labels
112
+ syntax match ocLabelColon "^[\t ]*[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:$" contains=anyLabel
113
+ syntax match ocLabelColon "^[\t ]*[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:[^=:]"me=e-1 contains=anyLabel
114
+
115
+ syntax match rlLabelColon "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:$" contained contains=anyLabel
116
+ syntax match rlLabelColon "[a-zA-Z_][a-zA-Z_0-9]*[ \t]*:[^=:>]"me=e-1 contained contains=anyLabel
117
+ syntax match anyLabel "[a-zA-Z_][a-zA-Z_0-9]*" contained
118
+
119
+ " All items that can go in a code block.
120
+
121
+ syntax cluster inlineItems contains=rlCodeCurly,ocComment,ocPreproc,ocLiteral,ocType,ocKeyword,ocNumber,ocBoolean,ocLabelColon,anyId,fsmType,fsmKeyword,caseLabelColon
122
+
123
+ " Blocks of code. rlCodeCurly is recursive.
124
+ syntax region rlCodeCurly matchgroup=NONE start="{" end="}" contained contains=@inlineItems
125
+ syntax region rlCodeSemi matchgroup=Type start="\<alphtype\>" start="\<getkey\>" start="\<access\>" start="\<variable\>" matchgroup=NONE end=";" contained contains=@inlineItems
126
+
127
+ syntax region rlWrite matchgroup=Type start="\<write\>" matchgroup=NONE end=";" contained contains=rlWriteKeywords,rlWriteOptions
128
+
129
+ syntax keyword rlWriteKeywords init data exec eof contained
130
+ syntax keyword rlWriteOptions noerror nofinal noprefix noend contained
131
+
132
+ "
133
+ " Sync at the start of machine specs.
134
+ "
135
+ " Match The ragel delimiters only if there quotes no ahead on the same line.
136
+ " On the open marker, use & to consume the leader.
137
+ syntax sync match ragelSyncPat grouphere NONE "^[^\'\"%]*%%{&^[^\'\"%]*"
138
+ syntax sync match ragelSyncPat grouphere NONE "^[^\'\"%]*%%[^{]&^[^\'\"%]*"
139
+ syntax sync match ragelSyncPat grouphere NONE "^[^\'\"]*}%%"
140
+
141
+ "
142
+ " Specifying Groups
143
+ "
144
+ hi link ocComment Comment
145
+ hi link ocPreproc Macro
146
+ hi link ocLiteral String
147
+ hi link ocType Type
148
+ hi link ocKeyword Keyword
149
+ hi link ocNumber Number
150
+ hi link ocBoolean Boolean
151
+ hi link rlComment Comment
152
+ hi link rlNumber Number
153
+ hi link rlLiteral String
154
+ hi link rlAugmentOps Keyword
155
+ hi link rlExprKeywords Keyword
156
+ hi link rlWriteKeywords Keyword
157
+ hi link rlWriteOptions Keyword
158
+ hi link rlKeywords Type
159
+ hi link fsmType Type
160
+ hi link fsmKeyword Keyword
161
+ hi link anyLabel Label
162
+ hi link caseLabelKeyword Keyword
163
+ hi link beginRL Type
164
+
165
+ let b:current_syntax = "ragel"
@@ -0,0 +1,367 @@
1
+ " Vim syntax file
2
+ " Language: Ruby
3
+ " Maintainer: Doug Kearns <dougkearns@gmail.com>
4
+ " URL: http://vim-ruby.rubyforge.org
5
+ " Anon CVS: See above site
6
+ " Release Coordinator: Doug Kearns <dougkearns@gmail.com>
7
+ " ----------------------------------------------------------------------------
8
+ "
9
+ " Previous Maintainer: Mirko Nasato
10
+ " Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN)
11
+ " ----------------------------------------------------------------------------
12
+
13
+ if exists("b:current_syntax")
14
+ finish
15
+ endif
16
+
17
+ if has("folding") && exists("ruby_fold")
18
+ setlocal foldmethod=syntax
19
+ endif
20
+
21
+ syn cluster rubyNotTop contains=@rubyExtendedStringSpecial,@rubyRegexpSpecial,@rubyDeclaration,rubyConditional,rubyExceptional,rubyMethodExceptional,rubyTodo
22
+
23
+ if exists("ruby_space_errors")
24
+ if !exists("ruby_no_trail_space_error")
25
+ syn match rubySpaceError display excludenl "\s\+$"
26
+ endif
27
+ if !exists("ruby_no_tab_space_error")
28
+ syn match rubySpaceError display " \+\t"me=e-1
29
+ endif
30
+ endif
31
+
32
+ " Operators
33
+ if exists("ruby_operators")
34
+ syn match rubyOperator "\%([~!^&|*/%+-]\|\%(class\s*\)\@<!<<\|<=>\|<=\|\%(<\|\<class\s\+\u\w*\s*\)\@<!<[^<]\@=\|===\|==\|=\~\|>>\|>=\|=\@<!>\|\*\*\|\.\.\.\|\.\.\|::\)"
35
+ syn match rubyPseudoOperator "\%(-=\|/=\|\*\*=\|\*=\|&&=\|&=\|&&\|||=\||=\|||\|%=\|+=\|!\~\|!=\)"
36
+ syn region rubyBracketOperator matchgroup=rubyOperator start="\%(\w[?!]\=\|[]})]\)\@<=\[\s*" end="\s*]" contains=ALLBUT,@rubyNotTop
37
+ endif
38
+
39
+ " Expression Substitution and Backslash Notation
40
+ syn match rubyStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
41
+ syn match rubyStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
42
+ syn match rubyQuoteEscape "\\[\\']" contained display
43
+
44
+ syn region rubyInterpolation matchgroup=rubyInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,@rubyNotTop
45
+ syn match rubyInterpolation "#\%(\$\|@@\=\)\w\+" display contained contains=rubyInterpolationDelimiter,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable,rubyPredefinedVariable
46
+ syn match rubyInterpolationDelimiter "#\ze\%(\$\|@@\=\)\w\+" display contained
47
+ syn match rubyInterpolation "#\$\%(-\w\|\W\)" display contained contains=rubyInterpolationDelimiter,rubyPredefinedVariable,rubyInvalidVariable
48
+ syn match rubyInterpolationDelimiter "#\ze\$\%(-\w\|\W\)" display contained
49
+ syn region rubyNoInterpolation start="\\#{" end="}" contained
50
+ syn match rubyNoInterpolation "\\#{" display contained
51
+ syn match rubyNoInterpolation "\\#\%(\$\|@@\=\)\w\+" display contained
52
+ syn match rubyNoInterpolation "\\#\$\W" display contained
53
+
54
+ syn match rubyDelimEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE
55
+
56
+ syn region rubyNestedParentheses start="(" skip="\\\\\|\\)" matchgroup=rubyString end=")" transparent contained
57
+ syn region rubyNestedCurlyBraces start="{" skip="\\\\\|\\}" matchgroup=rubyString end="}" transparent contained
58
+ syn region rubyNestedAngleBrackets start="<" skip="\\\\\|\\>" matchgroup=rubyString end=">" transparent contained
59
+ syn region rubyNestedSquareBrackets start="\[" skip="\\\\\|\\\]" matchgroup=rubyString end="\]" transparent contained
60
+
61
+ " These are mostly Oniguruma ready
62
+ syn region rubyRegexpComment matchgroup=rubyRegexpSpecial start="(?#" skip="\\)" end=")" contained
63
+ syn region rubyRegexpParens matchgroup=rubyRegexpSpecial start="(\(?:\|?<\=[=!]\|?>\|?<[a-z_]\w*>\|?[imx]*-[imx]*:\=\|\%(?#\)\@!\)" skip="\\)" end=")" contained transparent contains=@rubyRegexpSpecial
64
+ syn region rubyRegexpBrackets matchgroup=rubyRegexpCharClass start="\[\^\=" skip="\\\]" end="\]" contained transparent contains=rubyStringEscape,rubyRegexpEscape,rubyRegexpCharClass oneline
65
+ syn match rubyRegexpCharClass "\\[DdHhSsWw]" contained display
66
+ syn match rubyRegexpCharClass "\[:\^\=\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\):\]" contained
67
+ syn match rubyRegexpEscape "\\[].*?+^$|\\/(){}[]" contained display
68
+ syn match rubyRegexpQuantifier "[*?+][?+]\=" contained display
69
+ syn match rubyRegexpQuantifier "{\d\+\%(,\d*\)\=}?\=" contained display
70
+ syn match rubyRegexpAnchor "[$^]\|\\[ABbGZz]" contained display
71
+ syn match rubyRegexpDot "\." contained display
72
+ syn match rubyRegexpSpecial "|" contained display
73
+ syn match rubyRegexpSpecial "\\[1-9]\d\=\d\@!" contained display
74
+ syn match rubyRegexpSpecial "\\k<\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\=>" contained display
75
+ syn match rubyRegexpSpecial "\\k'\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\='" contained display
76
+ syn match rubyRegexpSpecial "\\g<\%([a-z_]\w*\|-\=\d\+\)>" contained display
77
+ syn match rubyRegexpSpecial "\\g'\%([a-z_]\w*\|-\=\d\+\)'" contained display
78
+
79
+ syn cluster rubyStringSpecial contains=rubyInterpolation,rubyNoInterpolation,rubyStringEscape
80
+ syn cluster rubyExtendedStringSpecial contains=@rubyStringSpecial,rubyNestedParentheses,rubyNestedCurlyBraces,rubyNestedAngleBrackets,rubyNestedSquareBrackets
81
+ syn cluster rubyRegexpSpecial contains=rubyInterpolation,rubyNoInterpolation,rubyStringEscape,rubyRegexpSpecial,rubyRegexpEscape,rubyRegexpBrackets,rubyRegexpCharClass,rubyRegexpDot,rubyRegexpQuantifier,rubyRegexpAnchor,rubyRegexpParens,rubyRegexpComment
82
+
83
+ " Numbers and ASCII Codes
84
+ syn match rubyASCIICode "\%(\w\|[]})\"'/]\)\@<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)\)"
85
+ syn match rubyInteger "\<0[xX]\x\+\%(_\x\+\)*\>" display
86
+ syn match rubyInteger "\<\%(0[dD]\)\=\%(0\|[1-9]\d*\%(_\d\+\)*\)\>" display
87
+ syn match rubyInteger "\<0[oO]\=\o\+\%(_\o\+\)*\>" display
88
+ syn match rubyInteger "\<0[bB][01]\+\%(_[01]\+\)*\>" display
89
+ syn match rubyFloat "\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\.\d\+\%(_\d\+\)*\>" display
90
+ syn match rubyFloat "\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\%(\.\d\+\%(_\d\+\)*\)\=\%([eE][-+]\=\d\+\%(_\d\+\)*\)\>" display
91
+
92
+ " Identifiers
93
+ syn match rubyLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent
94
+ syn match rubyBlockArgument "&[_[:lower:]][_[:alnum:]]" contains=NONE display transparent
95
+
96
+ syn match rubyConstant "\%(\%([.@$]\@<!\.\)\@<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=\%(\s*(\)\@!"
97
+ syn match rubyClassVariable "@@\h\w*" display
98
+ syn match rubyInstanceVariable "@\h\w*" display
99
+ syn match rubyGlobalVariable "$\%(\h\w*\|-.\)"
100
+ syn match rubySymbol "[]})\"':]\@<!:\%(\^\|\~\|<<\|<=>\|<=\|<\|===\|==\|=\~\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)"
101
+ syn match rubySymbol "[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
102
+ syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\h\w*"
103
+ syn match rubySymbol "[]})\"':]\@<!:\h\w*\%([?!=]>\@!\)\="
104
+ syn match rubySymbol "[]})\"':]\@<!\h\w*\%([?!=]>\@!\)\=:"
105
+ syn region rubySymbol start="[]})\"':]\@<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
106
+ syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
107
+
108
+ syn match rubyBlockParameter "\h\w*" contained
109
+ syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\s*\)\@<=|" end="|" oneline display contains=rubyBlockParameter
110
+
111
+ syn match rubyInvalidVariable "$[^ A-Za-z_-]"
112
+ syn match rubyPredefinedVariable #$[!$&"'*+,./0:;<=>?@\`~1-9]#
113
+ syn match rubyPredefinedVariable "$_\>" display
114
+ syn match rubyPredefinedVariable "$-[0FIKadilpvw]\>" display
115
+ syn match rubyPredefinedVariable "$\%(deferr\|defout\|stderr\|stdin\|stdout\)\>" display
116
+ syn match rubyPredefinedVariable "$\%(DEBUG\|FILENAME\|KCODE\|LOADED_FEATURES\|LOAD_PATH\|PROGRAM_NAME\|SAFE\|VERBOSE\)\>" display
117
+ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(MatchingData\|ARGF\|ARGV\|ENV\)\>\%(\s*(\)\@!"
118
+ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(DATA\|FALSE\|NIL\|RUBY_PLATFORM\|RUBY_RELEASE_DATE\)\>\%(\s*(\)\@!"
119
+ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(RUBY_VERSION\|STDERR\|STDIN\|STDOUT\|TOPLEVEL_BINDING\|TRUE\)\>\%(\s*(\)\@!"
120
+ "Obsolete Global Constants
121
+ "syn match rubyPredefinedConstant "\%(::\)\=\zs\%(PLATFORM\|RELEASE_DATE\|VERSION\)\>"
122
+ "syn match rubyPredefinedConstant "\%(::\)\=\zs\%(NotImplementError\)\>"
123
+
124
+ " Normal Regular Expression
125
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,[>]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial keepend fold
126
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
127
+
128
+ " Generalized Regular Expression
129
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial fold
130
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r{" end="}[iomxneus]*" skip="\\\\\|\\}" contains=@rubyRegexpSpecial fold
131
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r<" end=">[iomxneus]*" skip="\\\\\|\\>" contains=@rubyRegexpSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
132
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\[" end="\][iomxneus]*" skip="\\\\\|\\\]" contains=@rubyRegexpSpecial fold
133
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r(" end=")[iomxneus]*" skip="\\\\\|\\)" contains=@rubyRegexpSpecial fold
134
+
135
+ " Normal String and Shell Command Output
136
+ syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
137
+ syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
138
+ syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
139
+
140
+ " Generalized Single Quoted String, Symbol and Array of Strings
141
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
142
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
143
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
144
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
145
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
146
+ syn region rubySymbol matchgroup=rubySymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
147
+ syn region rubySymbol matchgroup=rubySymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
148
+ syn region rubySymbol matchgroup=rubySymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
149
+ syn region rubySymbol matchgroup=rubySymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
150
+ syn region rubySymbol matchgroup=rubySymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
151
+
152
+ " Generalized Double Quoted String and Array of Strings and Shell Command Output
153
+ " Note: %= is not matched here as the beginning of a double quoted string
154
+ syn region rubyString matchgroup=rubyStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
155
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
156
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimEscape fold
157
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
158
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape fold
159
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape fold
160
+
161
+ " Here Document
162
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs\%(\h\w*\)+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
163
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs"\%([^"]*\)"+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
164
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs'\%([^']*\)'+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
165
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs`\%([^`]*\)`+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
166
+
167
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
168
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
169
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart fold keepend
170
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
171
+
172
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-\z(\h\w*\)\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
173
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
174
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart fold keepend
175
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
176
+
177
+ if exists('main_syntax') && main_syntax == 'eruby'
178
+ let b:ruby_no_expensive = 1
179
+ end
180
+
181
+ syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite
182
+ syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable
183
+ syn match rubyMethodDeclaration "[^[:space:];#(]\+" contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable
184
+ syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant,rubyOperator
185
+ syn match rubyModuleDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant,rubyOperator
186
+ syn match rubyFunction "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:].:?!=]\@!" contained containedin=rubyMethodDeclaration
187
+ syn match rubyFunction "\%(\s\|^\)\@<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
188
+ syn match rubyFunction "\%([[:space:].]\|^\)\@<=\%(\[\]=\=\|\*\*\|[+-]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|==\|=\~\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration
189
+
190
+ syn cluster rubyDeclaration contains=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration,rubyModuleDeclaration,rubyClassDeclaration,rubyFunction,rubyBlockParameter
191
+
192
+ " Keywords
193
+ " Note: the following keywords have already been defined:
194
+ " begin case class def do end for if module unless until while
195
+ syn match rubyControl "\<\%(and\|break\|in\|next\|not\|or\|redo\|rescue\|retry\|return\)\>[?!]\@!"
196
+ syn match rubyOperator "\<defined?" display
197
+ syn match rubyKeyword "\<\%(super\|yield\)\>[?!]\@!"
198
+ syn match rubyBoolean "\<\%(true\|false\)\>[?!]\@!"
199
+ syn match rubyPseudoVariable "\<\%(nil\|self\|__FILE__\|__LINE__\)\>[?!]\@!"
200
+ syn match rubyBeginEnd "\<\%(BEGIN\|END\)\>[?!]\@!"
201
+
202
+ " Expensive Mode - match 'end' with the appropriate opening keyword for syntax
203
+ " based folding and special highlighting of module/class/method definitions
204
+ if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
205
+ syn match rubyDefine "\<alias\>" nextgroup=rubyAliasDeclaration skipwhite skipnl
206
+ syn match rubyDefine "\<def\>" nextgroup=rubyMethodDeclaration skipwhite skipnl
207
+ syn match rubyDefine "\<undef\>" nextgroup=rubyFunction skipwhite skipnl
208
+ syn match rubyClass "\<class\>" nextgroup=rubyClassDeclaration skipwhite skipnl
209
+ syn match rubyModule "\<module\>" nextgroup=rubyModuleDeclaration skipwhite skipnl
210
+ syn region rubyMethod start="\<def\>" matchgroup=rubyDefine end="\%(\<def\_s\+\)\@<!\<end\>" contains=ALLBUT,@rubyNotTop fold
211
+ syn region rubyBlock start="\<class\>" matchgroup=rubyClass end="\<end\>" contains=ALLBUT,@rubyNotTop fold
212
+ syn region rubyBlock start="\<module\>" matchgroup=rubyModule end="\<end\>" contains=ALLBUT,@rubyNotTop fold
213
+
214
+ " modifiers
215
+ syn match rubyConditionalModifier "\<\%(if\|unless\)\>" display
216
+ syn match rubyRepeatModifier "\<\%(while\|until\)\>" display
217
+
218
+ syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
219
+ " curly bracket block or hash literal
220
+ syn region rubyCurlyBlock start="{" end="}" contains=ALLBUT,@rubyNotTop fold
221
+ syn region rubyArrayLiteral matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=ALLBUT,@rubyNotTop fold
222
+
223
+ " statements without 'do'
224
+ syn region rubyBlockExpression matchgroup=rubyControl start="\<begin\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
225
+ syn region rubyCaseExpression matchgroup=rubyConditional start="\<case\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
226
+ syn region rubyConditionalExpression matchgroup=rubyConditional start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![?!]\)\s*\)\@<=\%(if\|unless\)\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
227
+
228
+ syn match rubyConditional "\<\%(then\|else\|when\)\>[?!]\@!" contained containedin=rubyCaseExpression
229
+ syn match rubyConditional "\<\%(then\|else\|elsif\)\>[?!]\@!" contained containedin=rubyConditionalExpression
230
+
231
+ syn match rubyExceptional "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>[?!]\@!" contained containedin=rubyBlockExpression
232
+ syn match rubyMethodExceptional "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>[?!]\@!" contained containedin=rubyMethod
233
+
234
+ " statements with optional 'do'
235
+ syn region rubyOptionalDoLine matchgroup=rubyRepeat start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyOptionalDo end="\%(\<do\>\)" end="\ze\%(;\|$\)" oneline contains=ALLBUT,@rubyNotTop
236
+ syn region rubyRepeatExpression start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine fold
237
+
238
+ if !exists("ruby_minlines")
239
+ let ruby_minlines = 50
240
+ endif
241
+ exec "syn sync minlines=" . ruby_minlines
242
+
243
+ else
244
+ syn match rubyControl "\<def\>[?!]\@!" nextgroup=rubyMethodDeclaration skipwhite skipnl
245
+ syn match rubyControl "\<class\>[?!]\@!" nextgroup=rubyClassDeclaration skipwhite skipnl
246
+ syn match rubyControl "\<module\>[?!]\@!" nextgroup=rubyModuleDeclaration skipwhite skipnl
247
+ syn match rubyControl "\<\%(case\|begin\|do\|for\|if\|unless\|while\|until\|else\|elsif\|ensure\|then\|when\|end\)\>[?!]\@!"
248
+ syn match rubyKeyword "\<\%(alias\|undef\)\>[?!]\@!"
249
+ endif
250
+
251
+ " Special Methods
252
+ if !exists("ruby_no_special_methods")
253
+ syn keyword rubyAccess public protected private module_function
254
+ " attr is a common variable name
255
+ syn match rubyAttribute "\%(\%(^\|;\)\s*\)\@<=attr\>\(\s*[.=]\)\@!"
256
+ syn keyword rubyAttribute attr_accessor attr_reader attr_writer
257
+ syn match rubyControl "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>[?!]\@!\)"
258
+ syn keyword rubyEval eval class_eval instance_eval module_eval
259
+ syn keyword rubyException raise fail catch throw
260
+ " false positive with 'include?'
261
+ syn match rubyInclude "\<include\>[?!]\@!"
262
+ syn keyword rubyInclude autoload extend load require
263
+ syn keyword rubyKeyword callcc caller lambda proc
264
+ endif
265
+
266
+ " Comments and Documentation
267
+ syn match rubySharpBang "\%^#!.*" display
268
+ syn keyword rubyTodo FIXME NOTE TODO OPTIMIZE XXX contained
269
+ syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell
270
+ if !exists("ruby_no_comment_fold")
271
+ syn region rubyMultilineComment start="\%(\%(^\s*#.*\n\)\@<!\%(^\s*#.*\n\)\)\%(\(^\s*#.*\n\)\{1,}\)\@=" end="\%(^\s*#.*\n\)\@<=\%(^\s*#.*\n\)\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
272
+ syn region rubyDocumentation start="^=begin\ze\%(\s.*\)\=$" end="^=end\s*$" contains=rubySpaceError,rubyTodo,@Spell fold
273
+ else
274
+ syn region rubyDocumentation start="^=begin\s*$" end="^=end\s*$" contains=rubySpaceError,rubyTodo,@Spell
275
+ endif
276
+
277
+ " Note: this is a hack to prevent 'keywords' being highlighted as such when called as methods with an explicit receiver
278
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(alias\|and\|begin\|break\|case\|class\|def\|defined\|do\|else\)\>" transparent contains=NONE
279
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(elsif\|end\|ensure\|false\|for\|if\|in\|module\|next\|nil\)\>" transparent contains=NONE
280
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(not\|or\|redo\|rescue\|retry\|return\|self\|super\|then\|true\)\>" transparent contains=NONE
281
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(undef\|unless\|until\|when\|while\|yield\|BEGIN\|END\|__FILE__\|__LINE__\)\>" transparent contains=NONE
282
+
283
+ syn match rubyKeywordAsMethod "\<\%(alias\|begin\|case\|class\|def\|do\|end\)[?!]" transparent contains=NONE
284
+ syn match rubyKeywordAsMethod "\<\%(if\|module\|undef\|unless\|until\|while\)[?!]" transparent contains=NONE
285
+
286
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(abort\|at_exit\|attr\|attr_accessor\|attr_reader\)\>" transparent contains=NONE
287
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(attr_writer\|autoload\|callcc\|catch\|caller\)\>" transparent contains=NONE
288
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(eval\|class_eval\|instance_eval\|module_eval\|exit\)\>" transparent contains=NONE
289
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(extend\|fail\|fork\|include\|lambda\)\>" transparent contains=NONE
290
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(load\|loop\|private\|proc\|protected\)\>" transparent contains=NONE
291
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(public\|require\|raise\|throw\|trap\)\>" transparent contains=NONE
292
+
293
+ " __END__ Directive
294
+ syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" fold
295
+
296
+ hi def link rubyClass rubyDefine
297
+ hi def link rubyModule rubyDefine
298
+ hi def link rubyMethodExceptional rubyDefine
299
+ hi def link rubyDefine Define
300
+ hi def link rubyFunction Function
301
+ hi def link rubyConditional Conditional
302
+ hi def link rubyConditionalModifier rubyConditional
303
+ hi def link rubyExceptional rubyConditional
304
+ hi def link rubyRepeat Repeat
305
+ hi def link rubyRepeatModifier rubyRepeat
306
+ hi def link rubyOptionalDo rubyRepeat
307
+ hi def link rubyControl Statement
308
+ hi def link rubyInclude Include
309
+ hi def link rubyInteger Number
310
+ hi def link rubyASCIICode Character
311
+ hi def link rubyFloat Float
312
+ hi def link rubyBoolean Boolean
313
+ hi def link rubyException Exception
314
+ if !exists("ruby_no_identifiers")
315
+ hi def link rubyIdentifier Identifier
316
+ else
317
+ hi def link rubyIdentifier NONE
318
+ endif
319
+ hi def link rubyClassVariable rubyIdentifier
320
+ hi def link rubyConstant Type
321
+ hi def link rubyGlobalVariable rubyIdentifier
322
+ hi def link rubyBlockParameter rubyIdentifier
323
+ hi def link rubyInstanceVariable rubyIdentifier
324
+ hi def link rubyPredefinedIdentifier rubyIdentifier
325
+ hi def link rubyPredefinedConstant rubyPredefinedIdentifier
326
+ hi def link rubyPredefinedVariable rubyPredefinedIdentifier
327
+ hi def link rubySymbol Constant
328
+ hi def link rubyKeyword Keyword
329
+ hi def link rubyOperator Operator
330
+ hi def link rubyPseudoOperator rubyOperator
331
+ hi def link rubyBeginEnd Statement
332
+ hi def link rubyAccess Statement
333
+ hi def link rubyAttribute Statement
334
+ hi def link rubyEval Statement
335
+ hi def link rubyPseudoVariable Constant
336
+
337
+ hi def link rubyComment Comment
338
+ hi def link rubyData Comment
339
+ hi def link rubyDataDirective Delimiter
340
+ hi def link rubyDocumentation Comment
341
+ hi def link rubyTodo Todo
342
+
343
+ hi def link rubyQuoteEscape rubyStringEscape
344
+ hi def link rubyStringEscape Special
345
+ hi def link rubyInterpolationDelimiter Delimiter
346
+ hi def link rubyNoInterpolation rubyString
347
+ hi def link rubySharpBang PreProc
348
+ hi def link rubyRegexpDelimiter rubyStringDelimiter
349
+ hi def link rubySymbolDelimiter rubyStringDelimiter
350
+ hi def link rubyStringDelimiter Delimiter
351
+ hi def link rubyString String
352
+ hi def link rubyRegexpEscape rubyRegexpSpecial
353
+ hi def link rubyRegexpQuantifier rubyRegexpSpecial
354
+ hi def link rubyRegexpAnchor rubyRegexpSpecial
355
+ hi def link rubyRegexpDot rubyRegexpCharClass
356
+ hi def link rubyRegexpCharClass rubyRegexpSpecial
357
+ hi def link rubyRegexpSpecial Special
358
+ hi def link rubyRegexpComment Comment
359
+ hi def link rubyRegexp rubyString
360
+
361
+ hi def link rubyInvalidVariable Error
362
+ hi def link rubyError Error
363
+ hi def link rubySpaceError rubyError
364
+
365
+ let b:current_syntax = "ruby"
366
+
367
+ " vim: nowrap sw=2 sts=2 ts=8 noet: