1" Vim syntax file 2" Language: Ruby 3" Maintainer: Doug Kearns <[email protected]> 4" Previous Maintainer: Mirko Nasato 5" Last Change: 2004 Nov 27 6" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/ruby.vim 7 8" $Id$ 9 10" Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN) 11 12" For version 5.x: Clear all syntax items 13" For version 6.x: Quit when a syntax file was already loaded 14if version < 600 15 syntax clear 16elseif exists("b:current_syntax") 17 finish 18endif 19 20" Expression Substitution and Backslash Notation 21syn match rubyExprSubst "\\\\\|\(\(\\M-\\C-\|\\c\|\\C-\|\\M-\)\w\)\|\(\\\o\{3}\|\\x\x\{2}\|\\[abefnrstv]\)" contained 22syn match rubyExprSubst "#{[^}]*}" contained 23syn match rubyExprSubst "#[$@]\w\+" contained 24 25" Numbers and ASCII Codes 26syn match rubyNumber "\w\@<!\(?\(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\(\\\o\{3}\|\\x\x\{2}\|\\\=\S\)\)" 27syn match rubyNumber "\<\(0x\x\+\|0b[01]\+\|0\o\+\|0\.\d\+\|0\|[1-9][\.0-9_]*\)\>" 28 29" Identifiers - constant, class and instance, global, symbol, iterator, predefined 30syn match rubyLocalVariableOrMethod "[_[:lower:]][_[:alnum:]]*[?!=]\=" transparent contains=NONE 31 32if !exists("ruby_no_identifiers") 33 syn match rubyConstant "\(::\)\=\zs\u\w*" 34 syn match rubyClassVariable "@@\h\w*" 35 syn match rubyInstanceVariable "@\h\w*" 36 syn match rubyGlobalVariable "$\(\h\w*\|-.\)" 37 syn match rubySymbol ":\@<!:\(\$\|@@\=\)\=\h\w*[?!=]\=" 38 syn match rubyIterator "|[ ,a-zA-Z0-9_*]\+|" 39 40 syn match rubyPredefinedVariable "$[!"$&'*+,./0:;<=>?@\\_`~1-9]" 41 syn match rubyPredefinedVariable "$-[0FIKadilpvw]" 42 syn match rubyPredefinedVariable "$\(defout\|stderr\|stdin\|stdout\)\>" 43 syn match rubyPredefinedVariable "$\(DEBUG\|FILENAME\|KCODE\|LOAD_PATH\|SAFE\|VERBOSE\)\>" 44 syn match rubyPredefinedConstant "__\(FILE\|LINE\)__\>" 45 syn match rubyPredefinedConstant "\<\(::\)\=\zs\(MatchingData\|NotImplementError\|ARGF\|ARGV\|ENV\)\>" 46 syn match rubyPredefinedConstant "\<\(::\)\=\zs\(DATA\|FALSE\|NIL\|RUBY_PLATFORM\|RUBY_RELEASE_DATE\)\>" 47 syn match rubyPredefinedConstant "\<\(::\)\=\zs\(RUBY_VERSION\|STDERR\|STDIN\|STDOUT\|TOPLEVEL_BINDING\|TRUE\)\>" 48 "Obsolete Global Constants 49 "syn match rubyPredefinedConstant "\<\(::\)\=\zs\(PLATFORM\|RELEASE\|VERSION\)\>" 50endif 51 52" 53" BEGIN Autogenerated Stuff 54" 55" Generalized Regular Expression 56syn region rubyString matchgroup=rubyStringDelimit start="%r!" end="![iomx]*" skip="\\\\\|\\!" contains=rubyExprSubst fold 57syn region rubyString matchgroup=rubyStringDelimit start="%r\"" end="\"[iomx]*" skip="\\\\\|\\\"" contains=rubyExprSubst fold 58syn region rubyString matchgroup=rubyStringDelimit start="%r#" end="#[iomx]*" skip="\\\\\|\\#" contains=rubyExprSubst fold 59syn region rubyString matchgroup=rubyStringDelimit start="%r\$" end="\$[iomx]*" skip="\\\\\|\\\$" contains=rubyExprSubst fold 60syn region rubyString matchgroup=rubyStringDelimit start="%r%" end="%[iomx]*" skip="\\\\\|\\%" contains=rubyExprSubst fold 61syn region rubyString matchgroup=rubyStringDelimit start="%r&" end="&[iomx]*" skip="\\\\\|\\&" contains=rubyExprSubst fold 62syn region rubyString matchgroup=rubyStringDelimit start="%r'" end="'[iomx]*" skip="\\\\\|\\'" contains=rubyExprSubst fold 63syn region rubyString matchgroup=rubyStringDelimit start="%r\*" end="\*[iomx]*" skip="\\\\\|\\\*" contains=rubyExprSubst fold 64syn region rubyString matchgroup=rubyStringDelimit start="%r+" end="+[iomx]*" skip="\\\\\|\\+" contains=rubyExprSubst fold 65syn region rubyString matchgroup=rubyStringDelimit start="%r-" end="-[iomx]*" skip="\\\\\|\\-" contains=rubyExprSubst fold 66syn region rubyString matchgroup=rubyStringDelimit start="%r\." end="\.[iomx]*" skip="\\\\\|\\\." contains=rubyExprSubst fold 67syn region rubyString matchgroup=rubyStringDelimit start="%r/" end="/[iomx]*" skip="\\\\\|\\/" contains=rubyExprSubst fold 68syn region rubyString matchgroup=rubyStringDelimit start="%r:" end=":[iomx]*" skip="\\\\\|\\:" contains=rubyExprSubst fold 69syn region rubyString matchgroup=rubyStringDelimit start="%r;" end=";[iomx]*" skip="\\\\\|\\;" contains=rubyExprSubst fold 70syn region rubyString matchgroup=rubyStringDelimit start="%r=" end="=[iomx]*" skip="\\\\\|\\=" contains=rubyExprSubst fold 71syn region rubyString matchgroup=rubyStringDelimit start="%r?" end="?[iomx]*" skip="\\\\\|\\?" contains=rubyExprSubst fold 72syn region rubyString matchgroup=rubyStringDelimit start="%r@" end="@[iomx]*" skip="\\\\\|\\@" contains=rubyExprSubst fold 73syn region rubyString matchgroup=rubyStringDelimit start="%r\\" end="\\[iomx]*" contains=rubyExprSubst fold 74syn region rubyString matchgroup=rubyStringDelimit start="%r\^" end="\^[iomx]*" skip="\\\\\|\\\^" contains=rubyExprSubst fold 75syn region rubyString matchgroup=rubyStringDelimit start="%r`" end="`[iomx]*" skip="\\\\\|\\`" contains=rubyExprSubst fold 76syn region rubyString matchgroup=rubyStringDelimit start="%r|" end="|[iomx]*" skip="\\\\\|\\|" contains=rubyExprSubst fold 77syn region rubyString matchgroup=rubyStringDelimit start="%r\~" end="\~[iomx]*" skip="\\\\\|\\\~" contains=rubyExprSubst fold 78syn region rubyString matchgroup=rubyStringDelimit start="%r{" end="}[iomx]*" skip="\\\\\|\\}" contains=rubyExprSubst fold 79syn region rubyString matchgroup=rubyStringDelimit start="%r<" end=">[iomx]*" skip="\\\\\|\\>" contains=rubyExprSubst fold 80syn region rubyString matchgroup=rubyStringDelimit start="%r\[" end="\][iomx]*" skip="\\\\\|\\\]" contains=rubyExprSubst fold 81syn region rubyString matchgroup=rubyStringDelimit start="%r(" end=")[iomx]*" skip="\\\\\|\\)" contains=rubyExprSubst fold 82 83" Generalized Single Quoted String and Array of Strings 84syn region rubyString matchgroup=rubyStringDelimit start="%[wq]!" end="!" skip="\\\\\|\\!" 85syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\"" end="\"" skip="\\\\\|\\\"" 86syn region rubyString matchgroup=rubyStringDelimit start="%[wq]#" end="#" skip="\\\\\|\\#" 87syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\$" end="\$" skip="\\\\\|\\\$" 88syn region rubyString matchgroup=rubyStringDelimit start="%[wq]%" end="%" skip="\\\\\|\\%" 89syn region rubyString matchgroup=rubyStringDelimit start="%[wq]&" end="&" skip="\\\\\|\\&" 90syn region rubyString matchgroup=rubyStringDelimit start="%[wq]'" end="'" skip="\\\\\|\\'" 91syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\*" end="\*" skip="\\\\\|\\\*" 92syn region rubyString matchgroup=rubyStringDelimit start="%[wq]+" end="+" skip="\\\\\|\\+" 93syn region rubyString matchgroup=rubyStringDelimit start="%[wq]-" end="-" skip="\\\\\|\\-" 94syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\." end="\." skip="\\\\\|\\\." 95syn region rubyString matchgroup=rubyStringDelimit start="%[wq]/" end="/" skip="\\\\\|\\/" 96syn region rubyString matchgroup=rubyStringDelimit start="%[wq]:" end=":" skip="\\\\\|\\:" 97syn region rubyString matchgroup=rubyStringDelimit start="%[wq];" end=";" skip="\\\\\|\\;" 98syn region rubyString matchgroup=rubyStringDelimit start="%[wq]=" end="=" skip="\\\\\|\\=" 99syn region rubyString matchgroup=rubyStringDelimit start="%[wq]?" end="?" skip="\\\\\|\\?" 100syn region rubyString matchgroup=rubyStringDelimit start="%[wq]@" end="@" skip="\\\\\|\\@" 101syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\\" end="\\" 102syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\^" end="\^" skip="\\\\\|\\\^" 103syn region rubyString matchgroup=rubyStringDelimit start="%[wq]`" end="`" skip="\\\\\|\\`" 104syn region rubyString matchgroup=rubyStringDelimit start="%[wq]|" end="|" skip="\\\\\|\\|" 105syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\~" end="\~" skip="\\\\\|\\\~" 106syn region rubyString matchgroup=rubyStringDelimit start="%[wq]{" end="}" skip="\\\\\|\\}" 107syn region rubyString matchgroup=rubyStringDelimit start="%[wq]<" end=">" skip="\\\\\|\\>" 108syn region rubyString matchgroup=rubyStringDelimit start="%[wq]\[" end="\]" skip="\\\\\|\\\]" 109syn region rubyString matchgroup=rubyStringDelimit start="%[wq](" end=")" skip="\\\\\|\\)" 110 111" Generalized Double Quoted String and Shell Command Output 112syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=!" end="!" skip="\\\\\|\\!" contains=rubyExprSubst 113syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\"" end="\"" skip="\\\\\|\\\"" contains=rubyExprSubst 114syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=#" end="#" skip="\\\\\|\\#" contains=rubyExprSubst 115syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\$" end="\$" skip="\\\\\|\\\$" contains=rubyExprSubst 116syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=%" end="%" skip="\\\\\|\\%" contains=rubyExprSubst 117syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=&" end="&" skip="\\\\\|\\&" contains=rubyExprSubst 118syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\='" end="'" skip="\\\\\|\\'" contains=rubyExprSubst 119syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\*" end="\*" skip="\\\\\|\\\*" contains=rubyExprSubst 120syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=+" end="+" skip="\\\\\|\\+" contains=rubyExprSubst 121syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=-" end="-" skip="\\\\\|\\-" contains=rubyExprSubst 122syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\." end="\." skip="\\\\\|\\\." contains=rubyExprSubst 123syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=/" end="/" skip="\\\\\|\\/" contains=rubyExprSubst 124syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=:" end=":" skip="\\\\\|\\:" contains=rubyExprSubst 125syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=;" end=";" skip="\\\\\|\\;" contains=rubyExprSubst 126"syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\==" end="=" skip="\\\\\|\\=" contains=rubyExprSubst 127syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]=" end="=" skip="\\\\\|\\=" contains=rubyExprSubst 128syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=?" end="?" skip="\\\\\|\\?" contains=rubyExprSubst 129syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=@" end="@" skip="\\\\\|\\@" contains=rubyExprSubst 130syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\\" end="\\" contains=rubyExprSubst 131syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\^" end="\^" skip="\\\\\|\\\^" contains=rubyExprSubst 132syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=`" end="`" skip="\\\\\|\\`" contains=rubyExprSubst 133syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=|" end="|" skip="\\\\\|\\|" contains=rubyExprSubst 134syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\~" end="\~" skip="\\\\\|\\\~" contains=rubyExprSubst 135syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\={" end="}" skip="\\\\\|\\}" contains=rubyExprSubst 136syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=<" end=">" skip="\\\\\|\\>" contains=rubyExprSubst 137syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=\[" end="\]" skip="\\\\\|\\\]" contains=rubyExprSubst 138syn region rubyString matchgroup=rubyStringDelimit start="%[Qx]\=(" end=")" skip="\\\\\|\\)" contains=rubyExprSubst 139 140" Normal String and Shell Command Output 141syn region rubyString matchgroup=rubyStringDelimit start="\"" end="\"" skip="\\\\\|\\\"" contains=rubyExprSubst 142syn region rubyString matchgroup=rubyStringDelimit start="'" end="'" skip="\\\\\|\\'" 143syn region rubyString matchgroup=rubyStringDelimit start="`" end="`" skip="\\\\\|\\`" contains=rubyExprSubst 144" 145" END Autogenerated Stuff 146" 147 148" Normal Regular Expression 149syn region rubyString matchgroup=rubyStringDelimit start="^\s*/" start="\<and\s*/"lc=3 start="\<or\s*/"lc=2 start="\<while\s*/"lc=5 start="\<until\s*/"lc=5 start="\<unless\s*/"lc=6 start="\<if\s*/"lc=2 start="\<elsif\s*/"lc=5 start="\<when\s*/"lc=4 start="[\~=!|&(,[]\s*/"lc=1 end="/[iomx]*" skip="\\\\\|\\/" contains=rubyExprSubst 150 151" Here Document 152if version < 600 153 syn region rubyString matchgroup=rubyStringDelimit start=+<<-\(\u\{3,}\|'\u\{3,}'\|"\u\{3,}"\|`\u\{3,}`\)+hs=s+2 end=+^\s*\u\{3,}$+ fold 154 syn region rubyString matchgroup=rubyStringDelimit start=+<<-\(EOF\|'EOF'\|"EOF"\|`EOF`\)+hs=s+2 end=+^\s*EOF$+ contains=rubyExprSubst fold 155 syn region rubyString matchgroup=rubyStringDelimit start=+<<-\(EOS\|'EOS'\|"EOS"\|`EOS`\)+hs=s+2 end=+^\s*EOS$+ contains=rubyExprSubst fold 156 syn region rubyString matchgroup=rubyStringDelimit start=+<<\(\u\{3,}\|'\u\{3,}'\|"\u\{3,}"\|`\u\{3,}`\)+hs=s+2 end=+^\u\{3,}$+ fold 157 syn region rubyString matchgroup=rubyStringDelimit start=+<<\(EOF\|'EOF'\|"EOF"\|`EOF`\)+hs=s+2 end=+^EOF$+ contains=rubyExprSubst fold 158 syn region rubyString matchgroup=rubyStringDelimit start=+<<\(EOS\|'EOS'\|"EOS"\|`EOS`\)+hs=s+2 end=+^EOS$+ contains=rubyExprSubst fold 159else 160 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<\z(\h\w*\)\s*$+hs=s+2 end=+^\z1$+ contains=rubyExprSubst fold 161 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<"\z(.*\)"\s*$+hs=s+2 end=+^\z1$+ contains=rubyExprSubst fold 162 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<'\z(.*\)'\s*$+hs=s+2 end=+^\z1$+ fold 163 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<`\z(.*\)`\s*$+hs=s+2 end=+^\z1$+ contains=rubyExprSubst fold 164 165 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<-\z(\h\w*\)\s*$+hs=s+3 end=+^\s*\z1$+ contains=rubyExprSubst fold 166 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<-"\z(.*\)"\s*$+hs=s+3 end=+^\s*\z1$+ contains=rubyExprSubst fold 167 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<-'\z(.*\)'\s*$+hs=s+3 end=+^\s*\z1$+ fold 168 syn region rubyString matchgroup=rubyStringDelimit start=+\(class\s*\)\@<!<<-`\z(.*\)`\s*$+hs=s+3 end=+^\s*\z1$+ contains=rubyExprSubst fold 169endif 170 171" Expensive Mode - colorize *end* according to opening statement 172if !exists("ruby_no_expensive") 173 syn region rubyFunction matchgroup=rubyDefine start="^\s*def\s" matchgroup=NONE end="\ze\(\s\|(\|;\|$\)" skip="\.\|\(::\)" oneline fold 174 syn region rubyClassOrModule matchgroup=rubyDefine start="^\s*\(class\|module\)\s" end="<\|$\|;\|\>"he=e-1 oneline fold 175 176 syn region rubyBlock start="^\s*def\s\+"rs=s matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyFunction fold 177 syn region rubyBlock start="^\s*\(class\|module\)\>"rs=s matchgroup=rubyDefine end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo nextgroup=rubyClassOrModule fold 178 179 " modifiers + redundant *do* 180 syn match rubyControl "\<\(if\|unless\|while\|until\|do\)\>" 181 182 " *do* requiring *end* 183 syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo fold 184 185 " *{* requiring *}* 186 syn region rubyCurlyBlock start="{" end="}" contains=ALLBUT,rubyExprSubst,rubyTodo fold 187 188 " statements without *do* 189 syn region rubyNoDoBlock matchgroup=rubyControl start="\<\(case\|begin\)\>" start="^\s*\(if\|unless\)\>" start=";\s*\(if\|unless\)\>"hs=s+1 end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo fold 190 191 " statement with optional *do* 192 syn region rubyOptDoBlock matchgroup=rubyControl start="\<for\>" start="^\s*\(while\|until\)\>" start=";\s*\(while\|until\)\>"hs=s+1 end="\<end\>" contains=ALLBUT,rubyExprSubst,rubyTodo,rubyDoBlock,rubyCurlyBlock fold 193 194 if !exists("ruby_minlines") 195 let ruby_minlines = 50 196 endif 197 exec "syn sync minlines=" . ruby_minlines 198 199else " not Expensive 200 syn region rubyFunction matchgroup=rubyControl start="^\s*def\s" matchgroup=NONE end="\ze\(\s\|(\|;\|$\)" skip="\.\|\(::\)" oneline fold 201 syn region rubyClassOrModule matchgroup=rubyControl start="^\s*\(class\|module\)\s" end="<\|$\|;\|\>"he=e-1 oneline fold 202 syn keyword rubyControl case begin do for if unless while until end 203endif " Expensive? 204 205" Keywords 206syn keyword rubyControl then else elsif when ensure rescue 207syn keyword rubyControl and or not in loop 208syn keyword rubyControl break redo retry next return 209syn match rubyKeyword "\<defined?" 210syn keyword rubyKeyword alias lambda proc super undef yield 211syn match rubyInclude "^\s*include\>" 212syn keyword rubyInclude load require 213syn keyword rubyTodo FIXME NOTE TODO XXX contained 214syn keyword rubyBoolean true false self nil 215syn keyword rubyException raise fail catch throw 216syn keyword rubyBeginEnd BEGIN END 217 218" Comments and Documentation 219if version < 600 220 syn match rubySharpBang "#!.*" 221else 222 syn match rubySharpBang "\%^#!.*" 223endif 224syn match rubyComment "#.*" contains=rubyTodo 225syn region rubyDocumentation start="^=begin" end="^=end.*$" contains=rubyTodo fold 226 227" Note: this is a hack to prevent 'keywords' being highlighted as such when used as method names 228syn match rubyKeywordAsMethod "\.\@<!\.\(\s*\n\s*\)*\(alias\|and\|begin\|break\|case\|catch\|class\|def\|do\|elsif\)\>" transparent contains=NONE 229syn match rubyKeywordAsMethod "\.\@<!\.\(\s*\n\s*\)*\(else\|fail\|false\|ensure\|for\|end\|if\|in\|include\|lambda\)\>" transparent contains=NONE 230syn match rubyKeywordAsMethod "\.\@<!\.\(\s*\n\s*\)*\(load\|loop\|module\|next\|nil\|not\|or\|proc\|raise\|require\)\>" transparent contains=NONE 231syn match rubyKeywordAsMethod "\.\@<!\.\(\s*\n\s*\)*\(redo\|rescue\|retry\|return\|self\|super\|then\|throw\|true\|unless\)\>" transparent contains=NONE 232syn match rubyKeywordAsMethod "\.\@<!\.\(\s*\n\s*\)*\(undef\|until\|when\|while\|yield\|BEGIN\|END\|__FILE__\|__LINE__\)\>" transparent contains=NONE 233 234" __END__ Directive 235syn region rubyData matchgroup=rubyDataDirective start="^__END__$" matchgroup=NONE end="." skip="." 236 237" Define the default highlighting. 238" For version 5.7 and earlier: only when not done already 239" For version 5.8 and later: only when an item doesn't have highlighting yet 240if version >= 508 || !exists("did_ruby_syntax_inits") 241 if version < 508 242 let did_ruby_syntax_inits = 1 243 command -nargs=+ HiLink hi link <args> 244 else 245 command -nargs=+ HiLink hi def link <args> 246 endif 247 248 HiLink rubyDefine Define 249 HiLink rubyFunction Function 250 HiLink rubyControl Statement 251 HiLink rubyInclude Include 252 HiLink rubyNumber Number 253 HiLink rubyBoolean Boolean 254 HiLink rubyException Exception 255 HiLink rubyClassOrModule Type 256 HiLink rubyIdentifier Identifier 257 HiLink rubyClassVariable rubyIdentifier 258 HiLink rubyConstant rubyIdentifier 259 HiLink rubyGlobalVariable rubyIdentifier 260 HiLink rubyIterator rubyIdentifier 261 HiLink rubyInstanceVariable rubyIdentifier 262 HiLink rubyPredefinedIdentifier rubyIdentifier 263 HiLink rubyPredefinedConstant rubyPredefinedIdentifier 264 HiLink rubyPredefinedVariable rubyPredefinedIdentifier 265 HiLink rubySymbol rubyIdentifier 266 HiLink rubySharpBang PreProc 267 HiLink rubyKeyword Keyword 268 HiLink rubyBeginEnd Statement 269 270 HiLink rubyString String 271 HiLink rubyStringDelimit Delimiter 272 HiLink rubyExprSubst Special 273 274 HiLink rubyComment Comment 275 HiLink rubyDocumentation Comment 276 HiLink rubyTodo Todo 277 HiLink rubyData Comment 278 HiLink rubyDataDirective Delimiter 279 280 delcommand HiLink 281endif 282 283let b:current_syntax = "ruby" 284 285" vim: nowrap tabstop=8 286