tomkersten-vixploder 0.1.1 → 0.1.2

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 (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: