tomkersten-vixploder 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +105 -0
  3. data/PostInstall.txt +21 -0
  4. data/README.rdoc +131 -0
  5. data/Rakefile +21 -0
  6. data/bin/256colors2.pl +63 -0
  7. data/bin/colortest +365 -0
  8. data/bin/vixplode +10 -0
  9. data/lib/dotfiles/aliases +30 -0
  10. data/lib/dotfiles/gvimrc +20 -0
  11. data/lib/dotfiles/vim/.VimballRecord +2 -0
  12. data/lib/dotfiles/vim/after/ftplugin/actionscript_snippets.vim +9 -0
  13. data/lib/dotfiles/vim/after/ftplugin/aspvbs_snippets.vim +17 -0
  14. data/lib/dotfiles/vim/after/ftplugin/c_snippets.vim +58 -0
  15. data/lib/dotfiles/vim/after/ftplugin/css_snippets.vim +30 -0
  16. data/lib/dotfiles/vim/after/ftplugin/django_model_snippets.vim +61 -0
  17. data/lib/dotfiles/vim/after/ftplugin/django_template_snippets.vim +32 -0
  18. data/lib/dotfiles/vim/after/ftplugin/f-script_snippets.vim +14 -0
  19. data/lib/dotfiles/vim/after/ftplugin/haskell_snippets.vim +9 -0
  20. data/lib/dotfiles/vim/after/ftplugin/html_snippets.vim +57 -0
  21. data/lib/dotfiles/vim/after/ftplugin/java_snippets.vim +52 -0
  22. data/lib/dotfiles/vim/after/ftplugin/javascript_snippets.vim +10 -0
  23. data/lib/dotfiles/vim/after/ftplugin/latex_snippets.vim +13 -0
  24. data/lib/dotfiles/vim/after/ftplugin/logo_snippets.vim +9 -0
  25. data/lib/dotfiles/vim/after/ftplugin/markdown_snippets.vim +10 -0
  26. data/lib/dotfiles/vim/after/ftplugin/movable_type_snippets.vim +14 -0
  27. data/lib/dotfiles/vim/after/ftplugin/objc_snippets.vim +53 -0
  28. data/lib/dotfiles/vim/after/ftplugin/ocaml_snippets.vim +26 -0
  29. data/lib/dotfiles/vim/after/ftplugin/perl_snippets.vim +23 -0
  30. data/lib/dotfiles/vim/after/ftplugin/php_snippets.vim +30 -0
  31. data/lib/dotfiles/vim/after/ftplugin/phpdoc_snippets.vim +19 -0
  32. data/lib/dotfiles/vim/after/ftplugin/propel_snippets.vim +14 -0
  33. data/lib/dotfiles/vim/after/ftplugin/python_snippets.vim +202 -0
  34. data/lib/dotfiles/vim/after/ftplugin/rails_snippets.vim +54 -0
  35. data/lib/dotfiles/vim/after/ftplugin/ruby_snippets.vim +32 -0
  36. data/lib/dotfiles/vim/after/ftplugin/sh_snippets.vim +12 -0
  37. data/lib/dotfiles/vim/after/ftplugin/slate_snippets.vim +19 -0
  38. data/lib/dotfiles/vim/after/ftplugin/smarty_snippets.vim +35 -0
  39. data/lib/dotfiles/vim/after/ftplugin/symfony_snippets.vim +21 -0
  40. data/lib/dotfiles/vim/after/ftplugin/tcl_snippets.vim +14 -0
  41. data/lib/dotfiles/vim/after/ftplugin/template_toolkit_snippets.vim +13 -0
  42. data/lib/dotfiles/vim/after/ftplugin/tex_snippets.vim +13 -0
  43. data/lib/dotfiles/vim/after/ftplugin/xhtml_snippets.vim +48 -0
  44. data/lib/dotfiles/vim/autoload/fakeclip.vim +253 -0
  45. data/lib/dotfiles/vim/autoload/rails.vim +4377 -0
  46. data/lib/dotfiles/vim/autoload/rubycomplete.vim +802 -0
  47. data/lib/dotfiles/vim/colors/inkpot.vim +212 -0
  48. data/lib/dotfiles/vim/colors/ir_black.vim +212 -0
  49. data/lib/dotfiles/vim/colors/ir_black_mod.vim +213 -0
  50. data/lib/dotfiles/vim/colors/railscasts.vim +100 -0
  51. data/lib/dotfiles/vim/colors/rubyblue.vim +74 -0
  52. data/lib/dotfiles/vim/colors/twilight.vim +75 -0
  53. data/lib/dotfiles/vim/colors/twilight2.vim +74 -0
  54. data/lib/dotfiles/vim/colors/wombat256.vim +302 -0
  55. data/lib/dotfiles/vim/compiler/eruby.vim +41 -0
  56. data/lib/dotfiles/vim/compiler/ruby.vim +68 -0
  57. data/lib/dotfiles/vim/compiler/rubyunit.vim +35 -0
  58. data/lib/dotfiles/vim/doc/NERD_tree.txt +1235 -0
  59. data/lib/dotfiles/vim/doc/fakeclip.txt +190 -0
  60. data/lib/dotfiles/vim/doc/matchit.txt +406 -0
  61. data/lib/dotfiles/vim/doc/project.txt +710 -0
  62. data/lib/dotfiles/vim/doc/rails.txt +1123 -0
  63. data/lib/dotfiles/vim/doc/snippets_emu.txt +354 -0
  64. data/lib/dotfiles/vim/doc/surround.txt +218 -0
  65. data/lib/dotfiles/vim/doc/tags +433 -0
  66. data/lib/dotfiles/vim/filetype.vim +13 -0
  67. data/lib/dotfiles/vim/ftdetect/gist.vim +3 -0
  68. data/lib/dotfiles/vim/ftdetect/ruby.vim +14 -0
  69. data/lib/dotfiles/vim/ftplugin/eruby.vim +101 -0
  70. data/lib/dotfiles/vim/ftplugin/ruby.vim +230 -0
  71. data/lib/dotfiles/vim/indent/eruby.vim +73 -0
  72. data/lib/dotfiles/vim/indent/ruby.vim +373 -0
  73. data/lib/dotfiles/vim/plugin/NERD_tree.vim +3536 -0
  74. data/lib/dotfiles/vim/plugin/comments.vim +321 -0
  75. data/lib/dotfiles/vim/plugin/fakeclip.vim +174 -0
  76. data/lib/dotfiles/vim/plugin/fuzzyfinder.vim +1676 -0
  77. data/lib/dotfiles/vim/plugin/fuzzyfinder_textmate.vim +150 -0
  78. data/lib/dotfiles/vim/plugin/gist.vim +241 -0
  79. data/lib/dotfiles/vim/plugin/gitdiff.vim +141 -0
  80. data/lib/dotfiles/vim/plugin/matchit.vim +812 -0
  81. data/lib/dotfiles/vim/plugin/mru.vim +787 -0
  82. data/lib/dotfiles/vim/plugin/rails.vim +310 -0
  83. data/lib/dotfiles/vim/plugin/rspec.vim +12 -0
  84. data/lib/dotfiles/vim/plugin/snippets.vim +17 -0
  85. data/lib/dotfiles/vim/plugin/snippetsEmu.vim +973 -0
  86. data/lib/dotfiles/vim/plugin/supertab.vim +531 -0
  87. data/lib/dotfiles/vim/plugin/surround.vim +632 -0
  88. data/lib/dotfiles/vim/ref_vimrc +80 -0
  89. data/lib/dotfiles/vim/ruby/fuzzy_file_finder.rb +353 -0
  90. data/lib/dotfiles/vim/syntax/eruby.vim +85 -0
  91. data/lib/dotfiles/vim/syntax/haml.vim +113 -0
  92. data/lib/dotfiles/vim/syntax/mkd.vim +86 -0
  93. data/lib/dotfiles/vim/syntax/ruby.vim +324 -0
  94. data/lib/dotfiles/vim/syntax/sass.vim +93 -0
  95. data/lib/dotfiles/vimrc +269 -0
  96. data/lib/vixplode/cli.rb +73 -0
  97. data/lib/vixploder.rb +6 -0
  98. data/script/console +10 -0
  99. data/script/destroy +14 -0
  100. data/script/generate +14 -0
  101. data/spec/spec.opts +1 -0
  102. data/spec/spec_helper.rb +10 -0
  103. data/spec/vixplode_cli_spec.rb +15 -0
  104. data/spec/vixploder_spec.rb +7 -0
  105. data/tasks/rspec.rake +21 -0
  106. metadata +202 -8
@@ -0,0 +1,113 @@
1
+ " Vim syntax file
2
+ " Language: Haml (XHTML Abstraction Markup Language)
3
+ " Maintainer: Dmitry A. Ilyashevich <dmitry.ilyashevich@gmail.com>
4
+ " License: This file can be redistribued and/or modified under the same terms
5
+ " as Vim itself.
6
+ "
7
+ " Version: 0.3
8
+ " Last Change: 2008-03-16
9
+ " Notes: Last synced with Haml 1.8
10
+ " TODO: Support for indented multiline sections
11
+ "
12
+ " For version 5.x: Clear all syntax items
13
+ " For version 6.x: Quit when a syntax file was already loaded
14
+ "
15
+ " Changes:
16
+ " - David Bushong added support for Haml 1.8's == syntax for ruby strings;
17
+ " - Lasse Jansen make syntax highlighting of multiline ruby commands work
18
+ " ("|" at the end of the line).
19
+ "
20
+
21
+ if version < 600
22
+ syntax clear
23
+ elseif exists("b:current_syntax")
24
+ finish
25
+ endif
26
+
27
+ if !exists("main_syntax")
28
+ let main_syntax = 'haml'
29
+ endif
30
+
31
+ if version < 600
32
+ so <sfile>:p:h/html.vim
33
+ syn include @rubyTop <sfile>:p:h/ruby.vim
34
+ else
35
+ runtime! syntax/html.vim
36
+ unlet b:current_syntax
37
+ syn include @rubyTop syntax/ruby.vim
38
+ endif
39
+
40
+ syn region hamlLineTag start="^\s*%[a-zA-Z0-9\-_\:]\+" end="$" oneline keepend contains=hamlHtmlTag,hamlCssClassIncluded,hamlCssIdIncluded,hamlHtmlTagEnd,hamlRubyCodeIncluded,hamlRubyHash,hamlSpecialChar
41
+ syn region hamlLineTag start="^\s*%[a-zA-Z0-9\-_\:]\+" end="$" oneline keepend contains=hamlHtmlTag,hamlCssClassIncluded,hamlCssIdIncluded,hamlHtmlTagEnd,hamlRubyCodeIncluded,hamlRubyHash,hamlRubyStringIncluded
42
+ syn match hamlHtmlTagEnd "/$" contained
43
+ syn match hamlHtmlTag "^\s*%[a-zA-Z0-9\-_\:]\+" contained contains=htmlTagName
44
+ syn match hamlCssClassIncluded "\.[a-zA-Z0-9\-_\:]\+" contained
45
+ syn match hamlCssIdIncluded "\#[a-zA-Z0-9\-_\:]\+" contained
46
+
47
+ syn region hamlLineClass start="^\s*\.[a-zA-Z0-9\-_\:]*" end="$" oneline keepend contains=hamlCssClass,hamlCssClassIncluded,hamlCssIdIncluded,hamlRubyCodeIncluded,hamlRubyStringIncluded
48
+ syn region hamlLineId start="^\s*\#[a-zA-Z0-9\-_\:]*" end="$" oneline keepend contains=hamlCssId,hamlCssClassIncluded,hamlCssIdIncluded,hamlRubyCodeIncluded,hamlRubyStringIncluded
49
+
50
+ syn match hamlCssId "^\s*#[a-zA-Z0-9\-_\:]*" contained
51
+ syn match hamlCssClass "^\s*\.[a-zA-Z0-9\-_\:]*" contained
52
+
53
+ syn region hamlRubyCodeIncluded matchgroup=Delimiter start="[=~-] " end="$" contained contains=@rubyTop,hamlRubyHash keepend
54
+ syn region hamlRubyHash matchgroup=Delimiter start="{" end="}" contained contains=@rubyTop keepend
55
+ syn region hamlRubyCode matchgroup=Delimiter start="^\s*[=~-]" end="$" contains=@rubyTop,hamlRubyHash keepend
56
+ syn region hamlRubyStringIncluded matchgroup=Delimiter start="== " end="$" contained contains=@rubyStringSpecial keepend
57
+ syn region hamlRubyString matchgroup=Delimiter start="^\s*==" end="$" contains=@rubyStringSpecial
58
+
59
+
60
+ syn match hamlPreDef "^\s*:[a-zA-Z0-9\-_\:]\+"
61
+ syn region hamlPreProc start="^\s*\\" end="$"
62
+ syn match hamlPreProc " |$"
63
+
64
+ syn match hamlComment "^!!!.*$"
65
+ syn match hamlComment "^\s*/.*$" contains=hamlTodo,@Spell
66
+ syn keyword hamlTodo TODO FIXME XXX contained
67
+
68
+ " special characters
69
+ syn match hamlSpecialChar contained "&#\=[0-9A-Za-z]\{1,8};"
70
+
71
+
72
+ " Define the default highlighting.
73
+ " For version 5.7 and earlier: only when not done already
74
+ " For version 5.8 and later: only when an item doesn't have highlighting yet
75
+ if version >= 508 || !exists("did_haml_syntax_inits")
76
+ if version < 508
77
+ let did_haml_syntax_inits = 1
78
+ command -nargs=+ HiLink hi link <args>
79
+ else
80
+ command -nargs=+ HiLink hi def link <args>
81
+ endif
82
+
83
+ HiLink hamlLineClass hamlLineTag
84
+ HiLink hamlLineId hamlLineTag
85
+ HiLink hamlCssClassIncluded hamlCssClass
86
+ HiLink hamlCssIdIncluded Type
87
+ HiLink hamlCssId Type
88
+ HiLink hamlHtmlTagEnd hamlHtmlTag
89
+ HiLink hamlPreDef hamlHtmlTag
90
+ HiLink hamlRubyHash hamlLineTag
91
+ HiLink hamlRubyCode hamlLineTag
92
+ HiLink hamlRubyCodeIncluded hamlLineTag
93
+ HiLink hamlRubyString hamlLineTag
94
+ HiLink hamlRubyStringIncluded hamlLineTag
95
+
96
+ HiLink hamlLineTag Text
97
+ HiLink hamlHtmlTag Statement
98
+ HiLink hamlCssClass Type
99
+ HiLink hamlPreProc PreProc
100
+ HiLink hamlComment Comment
101
+ HiLink hamlTodo Todo
102
+
103
+ HiLink hamlSpecialChar Special
104
+
105
+ delcommand HiLink
106
+ endif
107
+ let b:current_syntax = "haml"
108
+
109
+ if main_syntax == 'haml'
110
+ unlet main_syntax
111
+ endif
112
+
113
+ " vim: nowrap sw=2 sts=2 ts=8 ff=unix:
@@ -0,0 +1,86 @@
1
+ " Vim syntax file
2
+ " Language: Markdown
3
+ " Maintainer: Ben Williams <benw@plasticboy.com>
4
+ " URL: http://plasticboy.com/markdown-vim-mode/
5
+ " Version: 8
6
+ " Last Change: 2008 April 29
7
+ " Remark: Uses HTML syntax file
8
+ " Remark: I don't do anything with angle brackets (<>) because that would too easily
9
+ " easily conflict with HTML syntax
10
+ " TODO: Do something appropriate with image syntax
11
+ " TODO: Handle stuff contained within stuff (e.g. headings within blockquotes)
12
+
13
+
14
+ " Read the HTML syntax to start with
15
+ if version < 600
16
+ so <sfile>:p:h/html.vim
17
+ else
18
+ runtime! syntax/html.vim
19
+ unlet b:current_syntax
20
+ endif
21
+
22
+ if version < 600
23
+ syntax clear
24
+ elseif exists("b:current_syntax")
25
+ finish
26
+ endif
27
+
28
+ " don't use standard HiLink, it will not work with included syntax files
29
+ if version < 508
30
+ command! -nargs=+ HtmlHiLink hi link <args>
31
+ else
32
+ command! -nargs=+ HtmlHiLink hi def link <args>
33
+ endif
34
+
35
+ syn spell toplevel
36
+ syn case ignore
37
+ syn sync linebreaks=1
38
+
39
+ "additions to HTML groups
40
+ syn region htmlBold start=/\(^\|\s\)\*\@<!\*\*\*\@!/ end=/\*\@<!\*\*\*\@!\($\|\s\)/ contains=@Spell,htmlItalic
41
+ syn region htmlItalic start=/\(^\|\s\)\*\@<!\*\*\@!/ end=/\*\@<!\*\*\@!\($\|\s\)/ contains=htmlBold,@Spell
42
+ syn region htmlBold start=/\(^\|\s\)_\@<!___\@!/ end=/_\@<!___\@!\($\|\s\)/ contains=htmlItalic,@Spell
43
+ syn region htmlItalic start=/\(^\|\s\)_\@<!__\@!/ end=/_\@<!__\@!\($\|\s\)/ contains=htmlBold,@Spell
44
+ syn region htmlString start="]("ms=s+2 end=")"me=e-1
45
+ syn region htmlLink start="\["ms=s+1 end="\]"me=e-1 contains=@Spell
46
+ syn region htmlString start="\(\[.*]: *\)\@<=.*" end="$"
47
+
48
+ "define Markdown groups
49
+ syn match mkdLineContinue ".$" contained
50
+ syn match mkdRule /^\s*\*\s\{0,1}\*\s\{0,1}\*$/
51
+ syn match mkdRule /^\s*-\s\{0,1}-\s\{0,1}-$/
52
+ syn match mkdRule /^\s*_\s\{0,1}_\s\{0,1}_$/
53
+ syn match mkdRule /^\s*-\{3,}$/
54
+ syn match mkdRule /^\s*\*\{3,5}$/
55
+ syn match mkdListItem "^\s*[-*+]\s\+"
56
+ syn match mkdListItem "^\s*\d\+\.\s\+"
57
+ syn match mkdCode /^\s*\n\(\(\s\{4,}\|[\t]\+\)[^*-+ ].*\n\)\+/
58
+ syn region mkdCode start=/`/ end=/`/
59
+ syn region mkdCode start=/\s*``[^`]*/ end=/[^`]*``\s*/
60
+ syn region mkdBlockquote start=/^\s*>/ end=/$/ contains=mkdLineContinue,@Spell
61
+ syn region mkdCode start="<pre[^>]*>" end="</pre>"
62
+ syn region mkdCode start="<code[^>]*>" end="</code>"
63
+
64
+ "HTML headings
65
+ syn region htmlH1 start="^\s*#" end="\($\|#\+\)" contains=@Spell
66
+ syn region htmlH2 start="^\s*##" end="\($\|#\+\)" contains=@Spell
67
+ syn region htmlH3 start="^\s*###" end="\($\|#\+\)" contains=@Spell
68
+ syn region htmlH4 start="^\s*####" end="\($\|#\+\)" contains=@Spell
69
+ syn region htmlH5 start="^\s*#####" end="\($\|#\+\)" contains=@Spell
70
+ syn region htmlH6 start="^\s*######" end="\($\|#\+\)" contains=@Spell
71
+ syn match htmlH1 /^.\+\n=\+$/ contains=@Spell
72
+ syn match htmlH2 /^.\+\n-\+$/ contains=@Spell
73
+
74
+ "highlighting for Markdown groups
75
+ HtmlHiLink mkdString String
76
+ HtmlHiLink mkdCode String
77
+ HtmlHiLink mkdBlockquote Comment
78
+ HtmlHiLink mkdLineContinue Comment
79
+ HtmlHiLink mkdListItem Identifier
80
+ HtmlHiLink mkdRule Identifier
81
+
82
+
83
+ let b:current_syntax = "mkd"
84
+
85
+ delcommand HtmlHiLink
86
+ " vim: ts=8
@@ -0,0 +1,324 @@
1
+ " Vim syntax file
2
+ " Language: Ruby
3
+ " Maintainer: Doug Kearns <dougkearns@gmail.com>
4
+ " Info: $Id: ruby.vim,v 1.134 2007/05/06 17:55:04 tpope Exp $
5
+ " URL: http://vim-ruby.rubyforge.org
6
+ " Anon CVS: See above site
7
+ " Release Coordinator: Doug Kearns <dougkearns@gmail.com>
8
+ " ----------------------------------------------------------------------------
9
+ "
10
+ " Previous Maintainer: Mirko Nasato
11
+ " Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN)
12
+ " ----------------------------------------------------------------------------
13
+
14
+ if exists("b:current_syntax")
15
+ finish
16
+ endif
17
+
18
+ if has("folding") && exists("ruby_fold")
19
+ setlocal foldmethod=syntax
20
+ endif
21
+
22
+ if exists("ruby_space_errors")
23
+ if !exists("ruby_no_trail_space_error")
24
+ syn match rubySpaceError display excludenl "\s\+$"
25
+ endif
26
+ if !exists("ruby_no_tab_space_error")
27
+ syn match rubySpaceError display " \+\t"me=e-1
28
+ endif
29
+ endif
30
+
31
+ " Operators
32
+ if exists("ruby_operators")
33
+ syn match rubyOperator "\%([~!^&|*/%+-]\|\%(class\s*\)\@<!<<\|<=>\|<=\|\%(<\|\<class\s\+\u\w*\s*\)\@<!<[^<]\@=\|===\|==\|=\~\|>>\|>=\|=\@<!>\|\*\*\|\.\.\.\|\.\.\|::\)"
34
+ syn match rubyPseudoOperator "\%(-=\|/=\|\*\*=\|\*=\|&&=\|&=\|&&\|||=\||=\|||\|%=\|+=\|!\~\|!=\)"
35
+ syn region rubyBracketOperator matchgroup=rubyOperator start="\%([_[:lower:]]\w*[?!=]\=\|[})]\)\@<=\[\s*" end="\s*]" contains=TOP
36
+ endif
37
+
38
+ " Expression Substitution and Backslash Notation
39
+ syn match rubyEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
40
+ syn match rubyEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
41
+
42
+ syn region rubyInterpolation matchgroup=rubyInterpolationDelimiter start="#{" end="}" contained contains=TOP
43
+ syn match rubyInterpolation "#\%(\$\|@@\=\)\w\+" display contained contains=rubyInterpolationDelimiter,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable,rubyPredefinedVariable
44
+ syn match rubyInterpolationDelimiter "#\ze\%(\$\|@@\=\)\w\+" display contained
45
+ syn match rubyInterpolation "#\$\%(-\w\|\W\)" display contained contains=rubyInterpolationDelimiter,rubyPredefinedVariable,rubyInvalidVariable
46
+ syn match rubyInterpolationDelimiter "#\ze\$\%(-\w\|\W\)" display contained
47
+ syn region rubyNoInterpolation start="\\#{" end="}" contained
48
+ syn match rubyNoInterpolation "\\#{" display contained
49
+ syn match rubyNoInterpolation "\\#\%(\$\|@@\=\)\w\+" display contained
50
+ syn match rubyNoInterpolation "\\#\$\W" display contained
51
+
52
+ syn match rubyDelimEscape "\\[(<{\[)>}\]]" transparent display contained contains=NONE
53
+
54
+ syn region rubyNestedParentheses start="(" end=")" skip="\\\\\|\\)" transparent contained contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape
55
+ syn region rubyNestedCurlyBraces start="{" end="}" skip="\\\\\|\\}" transparent contained contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimEscape
56
+ syn region rubyNestedAngleBrackets start="<" end=">" skip="\\\\\|\\>" transparent contained contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimEscape
57
+ if exists("ruby_operators")
58
+ syn region rubyNestedSquareBrackets start="\[" end="\]" skip="\\\\\|\\\]" transparent contained contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape
59
+ else
60
+ syn region rubyNestedSquareBrackets start="\[" end="\]" skip="\\\\\|\\\]" transparent containedin=rubyArrayLiteral contained contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape
61
+ endif
62
+
63
+ syn cluster rubyStringSpecial contains=rubyInterpolation,rubyNoInterpolation,rubyEscape
64
+ syn cluster rubyExtendedStringSpecial contains=@rubyStringSpecial,rubyNestedParentheses,rubyNestedCurlyBraces,rubyNestedAngleBrackets,rubyNestedSquareBrackets
65
+
66
+ " Numbers and ASCII Codes
67
+ syn match rubyASCIICode "\%(\w\|[]})\"'/]\)\@<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)\)"
68
+ syn match rubyInteger "\<0[xX]\x\+\%(_\x\+\)*\>" display
69
+ syn match rubyInteger "\<\%(0[dD]\)\=\%(0\|[1-9]\d*\%(_\d\+\)*\)\>" display
70
+ syn match rubyInteger "\<0[oO]\=\o\+\%(_\o\+\)*\>" display
71
+ syn match rubyInteger "\<0[bB][01]\+\%(_[01]\+\)*\>" display
72
+ syn match rubyFloat "\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\.\d\+\%(_\d\+\)*\>" display
73
+ syn match rubyFloat "\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\%(\.\d\+\%(_\d\+\)*\)\=\%([eE][-+]\=\d\+\%(_\d\+\)*\)\>" display
74
+
75
+ " Identifiers
76
+ syn match rubyLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent
77
+ syn match rubyBlockArgument "&[_[:lower:]][_[:alnum:]]" contains=NONE display transparent
78
+
79
+ syn match rubyConstant "\%(\%([.@$]\@<!\.\)\@<!\<\|::\)\_s*\zs\u\w*\%(\>\|::\)\@=\%(\s*(\)\@!"
80
+ syn match rubyClassVariable "@@\h\w*" display
81
+ syn match rubyInstanceVariable "@\h\w*" display
82
+ syn match rubyGlobalVariable "$\%(\h\w*\|-.\)"
83
+ syn match rubySymbol "[]})\"':]\@<!:\%(\^\|\~\|<<\|<=>\|<=\|<\|===\|==\|=\~\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)"
84
+ syn match rubySymbol "[]})\"':]\@<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
85
+ syn match rubySymbol "[]})\"':]\@<!:\%(\$\|@@\=\)\=\h\w*"
86
+ syn match rubySymbol "[]})\"':]\@<!:\h\w*[?!=]\="
87
+ syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\""
88
+ syn region rubySymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
89
+
90
+ syn match rubyBlockParameter "\h\w*" contained
91
+ syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\s*\)\@<=|" end="|" oneline display contains=rubyBlockParameter
92
+
93
+ syn match rubyInvalidVariable "$[^ A-Za-z-]"
94
+ syn match rubyPredefinedVariable #$[!$&"'*+,./0:;<=>?@\`~1-9]#
95
+ syn match rubyPredefinedVariable "$_\>" display
96
+ syn match rubyPredefinedVariable "$-[0FIKadilpvw]\>" display
97
+ syn match rubyPredefinedVariable "$\%(deferr\|defout\|stderr\|stdin\|stdout\)\>" display
98
+ syn match rubyPredefinedVariable "$\%(DEBUG\|FILENAME\|KCODE\|LOADED_FEATURES\|LOAD_PATH\|PROGRAM_NAME\|SAFE\|VERBOSE\)\>" display
99
+ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(MatchingData\|ARGF\|ARGV\|ENV\)\>\%(\s*(\)\@!"
100
+ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(DATA\|FALSE\|NIL\|RUBY_PLATFORM\|RUBY_RELEASE_DATE\)\>\%(\s*(\)\@!"
101
+ syn match rubyPredefinedConstant "\%(\%(\.\@<!\.\)\@<!\|::\)\_s*\zs\%(RUBY_VERSION\|STDERR\|STDIN\|STDOUT\|TOPLEVEL_BINDING\|TRUE\)\>\%(\s*(\)\@!"
102
+ "Obsolete Global Constants
103
+ "syn match rubyPredefinedConstant "\%(::\)\=\zs\%(PLATFORM\|RELEASE_DATE\|VERSION\)\>"
104
+ "syn match rubyPredefinedConstant "\%(::\)\=\zs\%(NotImplementError\)\>"
105
+
106
+ " Normal Regular Expression
107
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,[>]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyStringSpecial fold
108
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\<\%(split\|scan\|gsub\|sub\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyStringSpecial fold
109
+
110
+ " Normal String and Shell Command Output
111
+ syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
112
+ syn region rubyString matchgroup=rubyStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold
113
+ syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
114
+
115
+ " Generalized Regular Expression
116
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
117
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r{" end="}[iomxneus]*" skip="\\\\\|\\}" contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimEscape fold
118
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r<" end=">[iomxneus]*" skip="\\\\\|\\>" contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
119
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\[" end="\][iomxneus]*" skip="\\\\\|\\\]" contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape fold
120
+ syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r(" end=")[iomxneus]*" skip="\\\\\|\\)" contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape fold
121
+
122
+ " Generalized Single Quoted String, Symbol and Array of Strings
123
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
124
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
125
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
126
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
127
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
128
+ syn region rubySymbol start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
129
+ syn region rubySymbol start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=rubyNestedCurlyBraces,rubyDelimEscape
130
+ syn region rubySymbol start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=rubyNestedAngleBrackets,rubyDelimEscape
131
+ syn region rubySymbol start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=rubyNestedSquareBrackets,rubyDelimEscape
132
+ syn region rubySymbol start="%[s](" end=")" skip="\\\\\|\\)" fold contains=rubyNestedParentheses,rubyDelimEscape
133
+
134
+ " Generalized Double Quoted String and Array of Strings and Shell Command Output
135
+ " Note: %= is not matched here as the beginning of a double quoted string
136
+ syn region rubyString matchgroup=rubyStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
137
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
138
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimEscape fold
139
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimEscape fold
140
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimEscape fold
141
+ syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimEscape fold
142
+
143
+ " Here Document
144
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs\%(\h\w*\)+ end=+$+ oneline contains=TOP
145
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs"\%([^"]*\)"+ end=+$+ oneline contains=TOP
146
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs'\%([^']*\)'+ end=+$+ oneline contains=TOP
147
+ syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<-\=\zs`\%([^`]*\)`+ end=+$+ oneline contains=TOP
148
+
149
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
150
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
151
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart fold keepend
152
+ syn region rubyString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
153
+
154
+ 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
155
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
156
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart fold keepend
157
+ syn region rubyString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
158
+
159
+ if exists('main_syntax') && main_syntax == 'eruby'
160
+ let b:ruby_no_expensive = 1
161
+ end
162
+
163
+ syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite
164
+ syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable
165
+ syn match rubyMethodDeclaration "[^[:space:];#(]\+" contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable
166
+ syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant
167
+ syn match rubyModuleDeclaration "[^[:space:];#]\+" contained contains=rubyConstant
168
+ syn match rubyFunction "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:].:?!=]\@!" contained containedin=rubyMethodDeclaration
169
+ syn match rubyFunction "\%(\s\|^\)\@<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
170
+ syn match rubyFunction "\%([[:space:].]\|^\)\@<=\%(\[\]=\=\|\*\*\|[+-]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|==\|=\~\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration
171
+
172
+ " Expensive Mode - match 'end' with the appropriate opening keyword for syntax
173
+ " based folding and special highlighting of module/class/method definitions
174
+ if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
175
+ syn match rubyDefine "\<alias\>" nextgroup=rubyAliasDeclaration skipwhite skipnl
176
+ syn match rubyDefine "\<def\>" nextgroup=rubyMethodDeclaration skipwhite skipnl
177
+ syn match rubyClass "\<class\>" nextgroup=rubyClassDeclaration skipwhite skipnl
178
+ syn match rubyModule "\<module\>" nextgroup=rubyModuleDeclaration skipwhite skipnl
179
+ syn region rubyBlock start="\<def\>" matchgroup=rubyDefine end="\%(\<def\_s\+\)\@<!\<end\>" contains=TOP fold
180
+ syn region rubyBlock start="\<class\>" matchgroup=rubyClass end="\<end\>" contains=TOP fold
181
+ syn region rubyBlock start="\<module\>" matchgroup=rubyModule end="\<end\>" contains=TOP fold
182
+
183
+ " modifiers
184
+ syn match rubyConditionalModifier "\<\%(if\|unless\)\>" display
185
+ syn match rubyRepeatModifier "\<\%(while\|until\)\>" display
186
+
187
+ syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" end="\<end\>" contains=TOP fold
188
+ " curly bracket block or hash literal
189
+ syn region rubyCurlyBlock start="{" end="}" contains=TOP fold
190
+ syn region rubyArrayLiteral matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=TOP fold
191
+
192
+ " statements without 'do'
193
+ syn region rubyBlockExpression matchgroup=rubyControl start="\<begin\>" end="\<end\>" contains=TOP fold
194
+ syn region rubyCaseExpression matchgroup=rubyConditional start="\<case\>" end="\<end\>" contains=TOP fold
195
+ syn region rubyConditionalExpression matchgroup=rubyConditional start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!?]\)\s*\)\@<=\%(if\|unless\)\>" end="\<end\>" contains=TOP fold
196
+
197
+ syn keyword rubyConditional then else when contained containedin=rubyCaseExpression
198
+ syn keyword rubyConditional then else elsif contained containedin=rubyConditionalExpression
199
+
200
+ " statements with optional 'do'
201
+ syn region rubyOptionalDoLine matchgroup=rubyRepeat start="\<for\>" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyOptionalDo end="\%(\<do\>\)" end="\ze\%(;\|$\)" oneline contains=TOP
202
+ syn region rubyRepeatExpression start="\<for\>" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat end="\<end\>" contains=TOP nextgroup=rubyOptionalDoLine fold
203
+
204
+ if !exists("ruby_minlines")
205
+ let ruby_minlines = 50
206
+ endif
207
+ exec "syn sync minlines=" . ruby_minlines
208
+
209
+ else
210
+ syn match rubyControl "\<def\>" nextgroup=rubyMethodDeclaration skipwhite skipnl
211
+ syn match rubyControl "\<class\>" nextgroup=rubyClassDeclaration skipwhite skipnl
212
+ syn match rubyControl "\<module\>" nextgroup=rubyModuleDeclaration skipwhite skipnl
213
+ syn keyword rubyControl case begin do for if unless while until else elsif then when end
214
+ syn keyword rubyKeyword alias
215
+ endif
216
+
217
+ " Keywords
218
+ " Note: the following keywords have already been defined:
219
+ " begin case class def do end for if module unless until while
220
+ syn keyword rubyControl and break ensure in next not or redo rescue retry return
221
+ syn match rubyOperator "\<defined?" display
222
+ syn keyword rubyKeyword super undef yield
223
+ syn keyword rubyBoolean true false
224
+ syn keyword rubyPseudoVariable nil self __FILE__ __LINE__
225
+ syn keyword rubyBeginEnd BEGIN END
226
+
227
+ " Special Methods
228
+ if !exists("ruby_no_special_methods")
229
+ syn keyword rubyAccess public protected private
230
+ syn keyword rubyAttribute attr attr_accessor attr_reader attr_writer
231
+ syn match rubyControl "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>\)"
232
+ syn keyword rubyEval eval class_eval instance_eval module_eval
233
+ syn keyword rubyException raise fail catch throw
234
+ syn keyword rubyInclude autoload extend include load require
235
+ syn keyword rubyKeyword callcc caller lambda proc
236
+ endif
237
+
238
+ " Comments and Documentation
239
+ syn match rubySharpBang "\%^#!.*" display
240
+ syn keyword rubyTodo FIXME NOTE TODO OPTIMIZE XXX contained
241
+ syn match rubyComment "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell
242
+ if !exists("ruby_no_comment_fold")
243
+ syn region rubyMultilineComment start="\%(\%(^\s*#.*\n\)\@<!\%(^\s*#.*\n\)\)\%(\(^\s*#.*\n\)\{1,}\)\@=" end="\%(^\s*#.*\n\)\@<=\%(^\s*#.*\n\)\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
244
+ syn region rubyDocumentation start="^=begin\ze\%(\s.*\)\=$" end="^=end\s*$" contains=rubySpaceError,rubyTodo,@Spell fold
245
+ else
246
+ syn region rubyDocumentation start="^=begin\s*$" end="^=end\s*$" contains=rubySpaceError,rubyTodo,@Spell
247
+ endif
248
+
249
+ " Note: this is a hack to prevent 'keywords' being highlighted as such when called as methods with an explicit receiver
250
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(alias\|and\|begin\|break\|case\|class\|def\|defined\|do\|else\)\>" transparent contains=NONE
251
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(elsif\|end\|ensure\|false\|for\|if\|in\|module\|next\|nil\)\>" transparent contains=NONE
252
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(not\|or\|redo\|rescue\|retry\|return\|self\|super\|then\|true\)\>" transparent contains=NONE
253
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(undef\|unless\|until\|when\|while\|yield\|BEGIN\|END\|__FILE__\|__LINE__\)\>" transparent contains=NONE
254
+
255
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(abort\|at_exit\|attr\|attr_accessor\|attr_reader\)\>" transparent contains=NONE
256
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(attr_writer\|autoload\|callcc\|catch\|caller\)\>" transparent contains=NONE
257
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(eval\|class_eval\|instance_eval\|module_eval\|exit\)\>" transparent contains=NONE
258
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(extend\|fail\|fork\|include\|lambda\)\>" transparent contains=NONE
259
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(load\|loop\|private\|proc\|protected\)\>" transparent contains=NONE
260
+ syn match rubyKeywordAsMethod "\%(\%(\.\@<!\.\)\|::\)\_s*\%(public\|require\|raise\|throw\|trap\)\>" transparent contains=NONE
261
+
262
+ " __END__ Directive
263
+ syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" fold
264
+
265
+ hi def link rubyClass rubyDefine
266
+ hi def link rubyModule rubyDefine
267
+ hi def link rubyDefine Define
268
+ hi def link rubyFunction Function
269
+ hi def link rubyConditional Conditional
270
+ hi def link rubyConditionalModifier rubyConditional
271
+ hi def link rubyRepeat Repeat
272
+ hi def link rubyRepeatModifier rubyRepeat
273
+ hi def link rubyOptionalDo rubyRepeat
274
+ hi def link rubyControl Statement
275
+ hi def link rubyInclude Include
276
+ hi def link rubyInteger Number
277
+ hi def link rubyASCIICode Character
278
+ hi def link rubyFloat Float
279
+ hi def link rubyBoolean Boolean
280
+ hi def link rubyException Exception
281
+ if !exists("ruby_no_identifiers")
282
+ hi def link rubyIdentifier Identifier
283
+ else
284
+ hi def link rubyIdentifier NONE
285
+ endif
286
+ hi def link rubyClassVariable rubyIdentifier
287
+ hi def link rubyConstant Type
288
+ hi def link rubyGlobalVariable rubyIdentifier
289
+ hi def link rubyBlockParameter rubyIdentifier
290
+ hi def link rubyInstanceVariable rubyIdentifier
291
+ hi def link rubyPredefinedIdentifier rubyIdentifier
292
+ hi def link rubyPredefinedConstant rubyPredefinedIdentifier
293
+ hi def link rubyPredefinedVariable rubyPredefinedIdentifier
294
+ hi def link rubySymbol Constant
295
+ hi def link rubyKeyword Keyword
296
+ hi def link rubyOperator Operator
297
+ hi def link rubyPseudoOperator rubyOperator
298
+ hi def link rubyBeginEnd Statement
299
+ hi def link rubyAccess Statement
300
+ hi def link rubyAttribute Statement
301
+ hi def link rubyEval Statement
302
+ hi def link rubyPseudoVariable Constant
303
+
304
+ hi def link rubyComment Comment
305
+ hi def link rubyData Comment
306
+ hi def link rubyDataDirective Delimiter
307
+ hi def link rubyDocumentation Comment
308
+ hi def link rubyEscape Special
309
+ hi def link rubyInterpolationDelimiter Delimiter
310
+ hi def link rubyNoInterpolation rubyString
311
+ hi def link rubySharpBang PreProc
312
+ hi def link rubyRegexpDelimiter rubyStringDelimiter
313
+ hi def link rubyStringDelimiter Delimiter
314
+ hi def link rubyRegexp rubyString
315
+ hi def link rubyString String
316
+ hi def link rubyTodo Todo
317
+
318
+ hi def link rubyInvalidVariable Error
319
+ hi def link rubyError Error
320
+ hi def link rubySpaceError rubyError
321
+
322
+ let b:current_syntax = "ruby"
323
+
324
+ " vim: nowrap sw=2 sts=2 ts=8 noet ff=unix: