404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.143.168.178: ~ $
" Vim syntax file
" Language:		Ruby
" Maintainer:		Doug Kearns <dougkearns@gmail.com>
" URL:			https://github.com/vim-ruby/vim-ruby
" Release Coordinator:	Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
"
" Previous Maintainer:	Mirko Nasato
" Thanks to perl.vim authors, and to Reimer Behrends. :-) (MN)
" ----------------------------------------------------------------------------

" Prelude {{{1
if exists("b:current_syntax")
  finish
endif

" this file uses line continuations
let s:cpo_sav = &cpo
set cpo&vim

" Folding Config {{{1
if has("folding") && exists("ruby_fold")
  setlocal foldmethod=syntax
endif

let s:foldable_groups = split(
      \	  get(
      \	    b:,
      \	    'ruby_foldable_groups',
      \	    get(g:, 'ruby_foldable_groups', 'ALL')
      \	  )
      \	)

function! s:foldable(...) abort
  if index(s:foldable_groups, 'ALL') > -1
    return 1
  endif

  for l:i in a:000
    if index(s:foldable_groups, l:i) > -1
      return 1
    endif
  endfor

  return 0
endfunction " }}}

syn cluster rubyNotTop contains=@rubyExtendedStringSpecial,@rubyRegexpSpecial,@rubyDeclaration,rubyConditional,rubyExceptional,rubyMethodExceptional,rubyTodo

" Whitespace Errors {{{1
if exists("ruby_space_errors")
  if !exists("ruby_no_trail_space_error")
    syn match rubySpaceError display excludenl "\s\+$"
  endif
  if !exists("ruby_no_tab_space_error")
    syn match rubySpaceError display " \+\t"me=e-1
  endif
endif

" Operators {{{1
if exists("ruby_operators")
  syn match  rubyOperator "[~!^|*/%+-]\|&\.\@!\|\%(class\s*\)\@<!<<\|<=>\|<=\|\%(<\|\<class\s\+\u\w*\s*\)\@<!<[^<]\@=\|===\|==\|=\~\|>>\|>=\|=\@1<!>\|\*\*\|\.\.\.\|\.\.\|::"
  syn match  rubyOperator "->\|-=\|/=\|\*\*=\|\*=\|&&=\|&=\|&&\|||=\||=\|||\|%=\|+=\|!\~\|!="
  syn region rubyBracketOperator matchgroup=rubyOperator start="\%(\w[?!]\=\|[]})]\)\@2<=\[\s*" end="\s*]" contains=ALLBUT,@rubyNotTop
endif

" Expression Substitution and Backslash Notation {{{1
syn match rubyStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}"						    contained display
syn match rubyStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
syn match rubyQuoteEscape  "\\[\\']"											    contained display

syn region rubyInterpolation	      matchgroup=rubyInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,@rubyNotTop
syn match  rubyInterpolation	      "#\%(\$\|@@\=\)\w\+"    display contained contains=rubyInterpolationDelimiter,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable,rubyPredefinedVariable
syn match  rubyInterpolationDelimiter "#\ze\%(\$\|@@\=\)\w\+" display contained
syn match  rubyInterpolation	      "#\$\%(-\w\|\W\)"       display contained contains=rubyInterpolationDelimiter,rubyPredefinedVariable,rubyInvalidVariable
syn match  rubyInterpolationDelimiter "#\ze\$\%(-\w\|\W\)"    display contained
syn region rubyNoInterpolation	      start="\\#{" end="}"	      contained
syn match  rubyNoInterpolation	      "\\#{"		      display contained
syn match  rubyNoInterpolation	      "\\#\%(\$\|@@\=\)\w\+"  display contained
syn match  rubyNoInterpolation	      "\\#\$\W"		      display contained

syn match rubyDelimiterEscape	"\\[(<{\[)>}\]]" transparent display contained contains=NONE

syn region rubyNestedParentheses    start="("  skip="\\\\\|\\)"  matchgroup=rubyString end=")"	transparent contained
syn region rubyNestedCurlyBraces    start="{"  skip="\\\\\|\\}"  matchgroup=rubyString end="}"	transparent contained
syn region rubyNestedAngleBrackets  start="<"  skip="\\\\\|\\>"  matchgroup=rubyString end=">"	transparent contained
syn region rubyNestedSquareBrackets start="\[" skip="\\\\\|\\\]" matchgroup=rubyString end="\]"	transparent contained

" Regular Expression Metacharacters {{{1
" These are mostly Oniguruma ready
syn region rubyRegexpComment	matchgroup=rubyRegexpSpecial   start="(?#"								  skip="\\)"  end=")"  contained
syn region rubyRegexpParens	matchgroup=rubyRegexpSpecial   start="(\(?:\|?<\=[=!]\|?>\|?<[a-z_]\w*>\|?[imx]*-[imx]*:\=\|\%(?#\)\@!\)" skip="\\)"  end=")"  contained transparent contains=@rubyRegexpSpecial
syn region rubyRegexpBrackets	matchgroup=rubyRegexpCharClass start="\[\^\="								  skip="\\\]" end="\]" contained transparent contains=rubyStringEscape,rubyRegexpEscape,rubyRegexpCharClass oneline
syn match  rubyRegexpCharClass	"\\[DdHhSsWw]"	       contained display
syn match  rubyRegexpCharClass	"\[:\^\=\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\):\]" contained
syn match  rubyRegexpEscape	"\\[].*?+^$|\\/(){}[]" contained
syn match  rubyRegexpQuantifier	"[*?+][?+]\="	       contained display
syn match  rubyRegexpQuantifier	"{\d\+\%(,\d*\)\=}?\=" contained display
syn match  rubyRegexpAnchor	"[$^]\|\\[ABbGZz]"     contained display
syn match  rubyRegexpDot	"\."		       contained display
syn match  rubyRegexpSpecial	"|"		       contained display
syn match  rubyRegexpSpecial	"\\[1-9]\d\=\d\@!"     contained display
syn match  rubyRegexpSpecial	"\\k<\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\=>" contained display
syn match  rubyRegexpSpecial	"\\k'\%([a-z_]\w*\|-\=\d\+\)\%([+-]\d\+\)\='" contained display
syn match  rubyRegexpSpecial	"\\g<\%([a-z_]\w*\|-\=\d\+\)>" contained display
syn match  rubyRegexpSpecial	"\\g'\%([a-z_]\w*\|-\=\d\+\)'" contained display

syn cluster rubyStringSpecial	      contains=rubyInterpolation,rubyNoInterpolation,rubyStringEscape
syn cluster rubyExtendedStringSpecial contains=@rubyStringSpecial,rubyNestedParentheses,rubyNestedCurlyBraces,rubyNestedAngleBrackets,rubyNestedSquareBrackets
syn cluster rubyRegexpSpecial	      contains=rubyInterpolation,rubyNoInterpolation,rubyStringEscape,rubyRegexpSpecial,rubyRegexpEscape,rubyRegexpBrackets,rubyRegexpCharClass,rubyRegexpDot,rubyRegexpQuantifier,rubyRegexpAnchor,rubyRegexpParens,rubyRegexpComment

" Numbers and ASCII Codes {{{1
syn match rubyASCIICode "\%(\w\|[]})\"'/]\)\@1<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)\)"
syn match rubyInteger	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[xX]\x\+\%(_\x\+\)*r\=i\=\>"								display
syn match rubyInteger	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0[dD]\)\=\%(0\|[1-9]\d*\%(_\d\+\)*\)r\=i\=\>"						display
syn match rubyInteger	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[oO]\=\o\+\%(_\o\+\)*r\=i\=\>"								display
syn match rubyInteger	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<0[bB][01]\+\%(_[01]\+\)*r\=i\=\>"								display
syn match rubyFloat	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\.\d\+\%(_\d\+\)*r\=i\=\>"					display
syn match rubyFloat	"\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\%(\.\d\+\%(_\d\+\)*\)\=\%([eE][-+]\=\d\+\%(_\d\+\)*\)r\=i\=\>"	display

" Identifiers {{{1
syn match rubyLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent
syn match rubyBlockArgument	    "&[_[:lower:]][_[:alnum:]]"		 contains=NONE display transparent

syn match  rubyConstant		"\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!"
syn match  rubyClassVariable	"@@\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*" display
syn match  rubyInstanceVariable "@\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"	display
syn match  rubyGlobalVariable	"$\%(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\|-.\)"
syn match  rubySymbol		"[]})\"':]\@1<!:\%(\^\|\~@\|\~\|<<\|<=>\|<=\|<\|===\|[=!]=\|[=!]\~\|!@\|!\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)"
syn match  rubySymbol		"[]})\"':]\@1<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
syn match  rubySymbol		"[]})\"':]\@1<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"
syn match  rubySymbol		"[]})\"':]\@1<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\="

if s:foldable(':')
  syn region rubySymbol		start="[]})\"':]\@1<!:'"  end="'"  skip="\\\\\|\\'"  contains=rubyQuoteEscape fold
  syn region rubySymbol		start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
else
  syn region rubySymbol		start="[]})\"':]\@1<!:'"  end="'"  skip="\\\\\|\\'"  contains=rubyQuoteEscape
  syn region rubySymbol		start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial
endif

syn match  rubyCapitalizedMethod	"\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)*\s*(\@="

syn match  rubyBlockParameter	  "\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*" contained
syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\_s*\)\@32<=|" end="|" oneline display contains=rubyBlockParameter

syn match rubyInvalidVariable	 "$[^ A-Za-z_-]"
syn match rubyPredefinedVariable #$[!$&"'*+,./0:;<=>?@\`~]#
syn match rubyPredefinedVariable "$\d\+"										   display
syn match rubyPredefinedVariable "$_\>"											   display
syn match rubyPredefinedVariable "$-[0FIKadilpvw]\>"									   display
syn match rubyPredefinedVariable "$\%(deferr\|defout\|stderr\|stdin\|stdout\)\>"					   display
syn match rubyPredefinedVariable "$\%(DEBUG\|FILENAME\|KCODE\|LOADED_FEATURES\|LOAD_PATH\|PROGRAM_NAME\|SAFE\|VERBOSE\)\>" display
syn match rubyPredefinedConstant "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\%(ARGF\|ARGV\|ENV\|DATA\|FALSE\|NIL\|STDERR\|STDIN\|STDOUT\|TOPLEVEL_BINDING\|TRUE\)\>\%(\s*(\)\@!"
syn match rubyPredefinedConstant "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\%(RUBY_\%(VERSION\|RELEASE_DATE\|PLATFORM\|PATCHLEVEL\|REVISION\|DESCRIPTION\|COPYRIGHT\|ENGINE\)\)\>\%(\s*(\)\@!"

" Normal Regular Expression {{{1
if s:foldable('/')
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
else
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial
endif

" Generalized Regular Expression {{{1
if s:foldable('%')
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial fold
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r{"				end="}[iomxneus]*"   skip="\\\\\|\\}"	 contains=@rubyRegexpSpecial fold
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r<"				end=">[iomxneus]*"   skip="\\\\\|\\>"	 contains=@rubyRegexpSpecial,rubyNestedAngleBrackets,rubyDelimiterEscape fold
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\["				end="\][iomxneus]*"  skip="\\\\\|\\\]"	 contains=@rubyRegexpSpecial fold
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r("				end=")[iomxneus]*"   skip="\\\\\|\\)"	 contains=@rubyRegexpSpecial fold
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z(\s\)"				end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial fold
else
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r{"				end="}[iomxneus]*"   skip="\\\\\|\\}"	 contains=@rubyRegexpSpecial
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r<"				end=">[iomxneus]*"   skip="\\\\\|\\>"	 contains=@rubyRegexpSpecial,rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\["				end="\][iomxneus]*"  skip="\\\\\|\\\]"	 contains=@rubyRegexpSpecial
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r("				end=")[iomxneus]*"   skip="\\\\\|\\)"	 contains=@rubyRegexpSpecial
  syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="%r\z(\s\)"				end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial
endif

" Normal String {{{1
let s:spell_cluster = exists('ruby_spellcheck_strings') ? ',@Spell' : ''
exe 'syn region rubyString matchgroup=rubyStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" ' .
      \ (s:foldable('%') ? 'fold' : '') . ' contains=@rubyStringSpecial' . s:spell_cluster
exe 'syn region rubyString matchgroup=rubyStringDelimiter start="''" end="''" skip="\\\\\|\\''" ' .
      \ (s:foldable('%') ? 'fold' : '') . ' contains=rubyQuoteEscape'	 . s:spell_cluster

" Shell Command Output {{{1
if s:foldable('%')
  syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial fold
else
  syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial
endif

" Generalized Single Quoted String, Symbol and Array of Strings {{{1
if s:foldable('%')
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]{"				     end="}"   skip="\\\\\|\\}"	  fold contains=rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]<"				     end=">"   skip="\\\\\|\\>"	  fold contains=rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\["				     end="\]"  skip="\\\\\|\\\]"  fold contains=rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]("				     end=")"   skip="\\\\\|\\)"	  fold contains=rubyNestedParentheses,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%q\z(\s\)"			     end="\z1" skip="\\\\\|\\\z1" fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)"    end="\z1" skip="\\\\\|\\\z1" fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s{"				     end="}"   skip="\\\\\|\\}"	  fold contains=rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s<"				     end=">"   skip="\\\\\|\\>"	  fold contains=rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\["				     end="\]"  skip="\\\\\|\\\]"  fold contains=rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s("				     end=")"   skip="\\\\\|\\)"	  fold contains=rubyNestedParentheses,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%s\z(\s\)"			     end="\z1" skip="\\\\\|\\\z1" fold
else
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1"
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]{"				     end="}"   skip="\\\\\|\\}"	  contains=rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]<"				     end=">"   skip="\\\\\|\\>"	  contains=rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]\["				     end="\]"  skip="\\\\\|\\\]"  contains=rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[qw]("				     end=")"   skip="\\\\\|\\)"	  contains=rubyNestedParentheses,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%q\z(\s\)"			     end="\z1" skip="\\\\\|\\\z1"
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)"    end="\z1" skip="\\\\\|\\\z1"
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s{"				     end="}"   skip="\\\\\|\\}"	  contains=rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s<"				     end=">"   skip="\\\\\|\\>"	  contains=rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s\["				     end="\]"  skip="\\\\\|\\\]"  contains=rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%s("				     end=")"   skip="\\\\\|\\)"	  contains=rubyNestedParentheses,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%s\z(\s\)"			     end="\z1" skip="\\\\\|\\\z1"
endif

" Generalized Double Quoted String and Array of Strings and Shell Command Output {{{1
" Note: %= is not matched here as the beginning of a double quoted string
if s:foldable('%')
  syn region rubyString matchgroup=rubyStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)"	      end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\={"			      end="}"	skip="\\\\\|\\}"   contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimiterEscape    fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=<"			      end=">"	skip="\\\\\|\\>"   contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimiterEscape  fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=\["			      end="\]"	skip="\\\\\|\\\]"  contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimiterEscape fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=("			      end=")"	skip="\\\\\|\\)"   contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimiterEscape    fold
  syn region rubyString matchgroup=rubyStringDelimiter start="%[Qx]\z(\s\)"			      end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial fold
else
  syn region rubyString matchgroup=rubyStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)"	      end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\={"			      end="}"	skip="\\\\\|\\}"   contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=<"			      end=">"	skip="\\\\\|\\>"   contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=\["			      end="\]"	skip="\\\\\|\\\]"  contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[QWx]\=("			      end=")"	skip="\\\\\|\\)"   contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimiterEscape
  syn region rubyString matchgroup=rubyStringDelimiter start="%[Qx]\z(\s\)"			      end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial
endif

" Array of Symbols {{{1
if s:foldable('%')
  " Array of Symbols
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1"	fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i{"				  end="}"   skip="\\\\\|\\}"	fold contains=rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i<"				  end=">"   skip="\\\\\|\\>"	fold contains=rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i\["				  end="\]"  skip="\\\\\|\\\]"	fold contains=rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i("				  end=")"   skip="\\\\\|\\)"	fold contains=rubyNestedParentheses,rubyDelimiterEscape

  " Array of interpolated Symbols
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1"	contains=@rubyStringSpecial fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I{"				  end="}"   skip="\\\\\|\\}"	contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimiterEscape    fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I<"				  end=">"   skip="\\\\\|\\>"	contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimiterEscape  fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I\["				  end="\]"  skip="\\\\\|\\\]"	contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimiterEscape fold
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I("				  end=")"   skip="\\\\\|\\)"	contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimiterEscape    fold
else
  " Array of Symbols
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1"
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i{"				  end="}"   skip="\\\\\|\\}"	contains=rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i<"				  end=">"   skip="\\\\\|\\>"	contains=rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i\["				  end="\]"  skip="\\\\\|\\\]"	contains=rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%i("				  end=")"   skip="\\\\\|\\)"	contains=rubyNestedParentheses,rubyDelimiterEscape

  " Array of interpolated Symbols
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1"	contains=@rubyStringSpecial
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I{"				  end="}"   skip="\\\\\|\\}"	contains=@rubyStringSpecial,rubyNestedCurlyBraces,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I<"				  end=">"   skip="\\\\\|\\>"	contains=@rubyStringSpecial,rubyNestedAngleBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I\["				  end="\]"  skip="\\\\\|\\\]"	contains=@rubyStringSpecial,rubyNestedSquareBrackets,rubyDelimiterEscape
  syn region rubySymbol matchgroup=rubySymbolDelimiter start="%I("				  end=")"   skip="\\\\\|\\)"	contains=@rubyStringSpecial,rubyNestedParentheses,rubyDelimiterEscape
endif

" Here Document {{{1
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs\%(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)+	 end=+$+ oneline contains=ALLBUT,@rubyNotTop
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs"\%([^"]*\)"+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs'\%([^']*\)'+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs`\%([^`]*\)`+ end=+$+ oneline contains=ALLBUT,@rubyNotTop

if s:foldable('<<')
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<\z(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<"\z([^"]*\)"\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<'\z([^']*\)'\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc		    fold keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<`\z([^`]*\)`\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend

  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]\z(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3    matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]"\z([^"]*\)"\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3  matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]'\z([^']*\)'\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3  matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart		    fold keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]`\z([^`]*\)`\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3  matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial fold keepend
else
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<\z(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<"\z([^"]*\)"\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<'\z([^']*\)'\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc		    keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<`\z([^`]*\)`\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2	matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial keepend

  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]\z(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3    matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]"\z([^"]*\)"\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3  matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]'\z([^']*\)'\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3  matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart		    keepend
  syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]}).]\)\s\|\w\)\@<!<<[-~]`\z([^`]*\)`\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+3  matchgroup=rubyStringDelimiter end=+^\s*\zs\z1$+ contains=rubyHeredocStart,@rubyStringSpecial keepend
endif

" eRuby Config {{{1
if exists('main_syntax') && main_syntax == 'eruby'
  let b:ruby_no_expensive = 1
end

" Module, Class, Method and Alias Declarations {{{1
syn match  rubyAliasDeclaration    "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite
syn match  rubyAliasDeclaration2   "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable
syn match  rubyMethodDeclaration   "[^[:space:];#(]\+"	 contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable
syn match  rubyClassDeclaration    "[^[:space:];#<]\+"	 contained contains=rubyConstant,rubyOperator
syn match  rubyModuleDeclaration   "[^[:space:];#<]\+"	 contained contains=rubyConstant,rubyOperator
syn match  rubyFunction "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:]_.:?!=]\@!" contained containedin=rubyMethodDeclaration
syn match  rubyFunction "\%(\s\|^\)\@1<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
syn match  rubyFunction "\%([[:space:].]\|^\)\@2<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration

syn cluster rubyDeclaration contains=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration,rubyModuleDeclaration,rubyClassDeclaration,rubyFunction,rubyBlockParameter

" Keywords {{{1
" Note: the following keywords have already been defined:
" begin case class def do end for if module unless until while
syn match   rubyControl	       "\<\%(and\|break\|in\|next\|not\|or\|redo\|rescue\|retry\|return\)\>[?!]\@!"
syn match   rubyOperator       "\<defined?" display
syn match   rubyKeyword	       "\<\%(super\|yield\)\>[?!]\@!"
syn match   rubyBoolean	       "\<\%(true\|false\)\>[?!]\@!"
syn match   rubyPseudoVariable "\<\%(nil\|self\|__ENCODING__\|__dir__\|__FILE__\|__LINE__\|__callee__\|__method__\)\>[?!]\@!" " TODO: reorganise
syn match   rubyBeginEnd       "\<\%(BEGIN\|END\)\>[?!]\@!"

" Expensive Mode {{{1
" Match 'end' with the appropriate opening keyword for syntax based folding
" and special highlighting of module/class/method definitions
if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
  syn match  rubyDefine "\<alias\>"  nextgroup=rubyAliasDeclaration  skipwhite skipnl
  syn match  rubyDefine "\<def\>"    nextgroup=rubyMethodDeclaration skipwhite skipnl
  syn match  rubyDefine "\<undef\>"  nextgroup=rubyFunction	     skipwhite skipnl
  syn match  rubyClass	"\<class\>"  nextgroup=rubyClassDeclaration  skipwhite skipnl
  syn match  rubyModule "\<module\>" nextgroup=rubyModuleDeclaration skipwhite skipnl

  if s:foldable('def')
    syn region rubyMethodBlock start="\<def\>"	matchgroup=rubyDefine end="\%(\<def\_s\+\)\@<!\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyMethodBlock start="\<def\>"	matchgroup=rubyDefine end="\%(\<def\_s\+\)\@<!\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  if s:foldable('class')
    syn region rubyBlock start="\<class\>"	matchgroup=rubyClass end="\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyBlock start="\<class\>"	matchgroup=rubyClass end="\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  if s:foldable('module')
    syn region rubyBlock start="\<module\>" matchgroup=rubyModule end="\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyBlock start="\<module\>" matchgroup=rubyModule end="\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  " modifiers
  syn match rubyLineContinuation    "\\$" nextgroup=rubyConditionalModifier,rubyRepeatModifier skipwhite skipnl
  syn match rubyConditionalModifier "\<\%(if\|unless\)\>"
  syn match rubyRepeatModifier	    "\<\%(while\|until\)\>"

  if s:foldable('do')
    syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" end="\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  " curly bracket block or hash literal
  if s:foldable('{')
    syn region rubyCurlyBlock matchgroup=rubyCurlyBlockDelimiter start="{" end="}" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyCurlyBlock matchgroup=rubyCurlyBlockDelimiter start="{" end="}" contains=ALLBUT,@rubyNotTop
  endif

  if s:foldable('[')
    syn region rubyArrayLiteral	matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyArrayLiteral	matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=ALLBUT,@rubyNotTop
  endif

  " statements without 'do'
  if s:foldable('begin')
    syn region rubyBlockExpression matchgroup=rubyControl start="\<begin\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyBlockExpression matchgroup=rubyControl start="\<begin\>" end="\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  if s:foldable('case')
    syn region rubyCaseExpression matchgroup=rubyConditional start="\<case\>" end="\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyCaseExpression matchgroup=rubyConditional start="\<case\>" end="\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  if s:foldable('if')
    syn region rubyConditionalExpression matchgroup=rubyConditional start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*%&^|+=-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![?!]\)\s*\)\@<=\%(if\|unless\)\>" end="\%(\%(\%(\.\@1<!\.\)\|::\)\s*\)\@<!\<end\>" contains=ALLBUT,@rubyNotTop fold
  else
    syn region rubyConditionalExpression matchgroup=rubyConditional start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*%&^|+=-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![?!]\)\s*\)\@<=\%(if\|unless\)\>" end="\%(\%(\%(\.\@1<!\.\)\|::\)\s*\)\@<!\<end\>" contains=ALLBUT,@rubyNotTop
  endif

  syn match rubyConditional "\<\%(then\|else\|when\)\>[?!]\@!"	contained containedin=rubyCaseExpression
  syn match rubyConditional "\<\%(then\|else\|elsif\)\>[?!]\@!" contained containedin=rubyConditionalExpression

  syn match rubyExceptional	  "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>[?!]\@!" contained containedin=rubyBlockExpression
  syn match rubyMethodExceptional "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>[?!]\@!" contained containedin=rubyMethodBlock

  " statements with optional 'do'
  syn region rubyOptionalDoLine   matchgroup=rubyRepeat start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyOptionalDo end="\%(\<do\>\)" end="\ze\%(;\|$\)" oneline contains=ALLBUT,@rubyNotTop

  if s:foldable('for')
    syn region rubyRepeatExpression start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine fold
  else
    syn region rubyRepeatExpression start="\<for\>[?!]\@!" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+-]\|\%(\<[_[:lower:]][_[:alnum:]]*\)\@<![!=?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine
  endif

  if !exists("ruby_minlines")
    let ruby_minlines = 500
  endif
  exec "syn sync minlines=" . ruby_minlines

else
  syn match rubyControl "\<def\>[?!]\@!"    nextgroup=rubyMethodDeclaration skipwhite skipnl
  syn match rubyControl "\<class\>[?!]\@!"  nextgroup=rubyClassDeclaration  skipwhite skipnl
  syn match rubyControl "\<module\>[?!]\@!" nextgroup=rubyModuleDeclaration skipwhite skipnl
  syn match rubyControl "\<\%(case\|begin\|do\|for\|if\|unless\|while\|until\|else\|elsif\|ensure\|then\|when\|end\)\>[?!]\@!"
  syn match rubyKeyword "\<\%(alias\|undef\)\>[?!]\@!"
endif

" Special Methods {{{1
if !exists("ruby_no_special_methods")
  syn keyword rubyAccess    public protected private public_class_method private_class_method public_constant private_constant module_function
  " attr is a common variable name
  syn match   rubyAttribute "\%(\%(^\|;\)\s*\)\@<=attr\>\(\s*[.=]\)\@!"
  syn keyword rubyAttribute attr_accessor attr_reader attr_writer
  syn match   rubyControl   "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>[?!]\@!\)"
  syn keyword rubyEval	    eval class_eval instance_eval module_eval
  syn keyword rubyException raise fail catch throw
  " false positive with 'include?'
  syn match   rubyInclude   "\<include\>[?!]\@!"
  syn keyword rubyInclude   autoload extend load prepend refine require require_relative using
  syn keyword rubyKeyword   callcc caller lambda proc
endif

" Comments and Documentation {{{1
syn match   rubySharpBang "\%^#!.*" display
syn keyword rubyTodo	  FIXME NOTE TODO OPTIMIZE HACK REVIEW XXX todo contained
syn match   rubyComment   "#.*" contains=rubySharpBang,rubySpaceError,rubyTodo,@Spell
if !exists("ruby_no_comment_fold") && s:foldable('#')
  syn region rubyMultilineComment start="^\s*#.*\n\%(^\s*#\)\@=" end="^\s*#.*\n\%(^\s*#\)\@!" contains=rubyComment transparent fold keepend
  syn region rubyDocumentation	  start="^=begin\ze\%(\s.*\)\=$" end="^=end\%(\s.*\)\=$" contains=rubySpaceError,rubyTodo,@Spell fold
else
  syn region rubyDocumentation	  start="^=begin\s*$" end="^=end\s*$" contains=rubySpaceError,rubyTodo,@Spell
endif

" Keyword Nobbling {{{1
" Note: this is a hack to prevent 'keywords' being highlighted as such when called as methods with an explicit receiver
syn match rubyKeywordAsMethod "\%(\%(\.\@1<!\.\)\|::\)\_s*\%([_[:lower:]][_[:alnum:]]*\|\<\%(BEGIN\|END\)\>\)" transparent contains=NONE
syn match rubyKeywordAsMethod "\(defined?\|exit!\)\@!\<[_[:lower:]][_[:alnum:]]*[?!]"			       transparent contains=NONE

" More Symbols {{{1
syn match  rubySymbol		"\%([{(,]\_s*\)\zs\l\w*[!?]\=::\@!"he=e-1
syn match  rubySymbol		"[]})\"':]\@1<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="he=e-1
syn match  rubySymbol		"\%([{(,]\_s*\)\zs[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
syn match  rubySymbol		"[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="hs=s+1,he=e-1

" __END__ Directive {{{1
if s:foldable('__END__')
  syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$" fold
else
  syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$"
endif

" Default Highlighting {{{1
hi def link rubyClass			rubyDefine
hi def link rubyModule			rubyDefine
hi def link rubyMethodExceptional	rubyDefine
hi def link rubyDefine			Define
hi def link rubyFunction		Function
hi def link rubyConditional		Conditional
hi def link rubyConditionalModifier	rubyConditional
hi def link rubyExceptional		rubyConditional
hi def link rubyRepeat			Repeat
hi def link rubyRepeatModifier		rubyRepeat
hi def link rubyOptionalDo		rubyRepeat
hi def link rubyControl			Statement
hi def link rubyInclude			Include
hi def link rubyInteger			Number
hi def link rubyASCIICode		Character
hi def link rubyFloat			Float
hi def link rubyBoolean			Boolean
hi def link rubyException		Exception
if !exists("ruby_no_identifiers")
  hi def link rubyIdentifier		Identifier
else
  hi def link rubyIdentifier		NONE
endif
hi def link rubyClassVariable		rubyIdentifier
hi def link rubyConstant		Type
hi def link rubyGlobalVariable		rubyIdentifier
hi def link rubyBlockParameter		rubyIdentifier
hi def link rubyInstanceVariable	rubyIdentifier
hi def link rubyPredefinedIdentifier	rubyIdentifier
hi def link rubyPredefinedConstant	rubyPredefinedIdentifier
hi def link rubyPredefinedVariable	rubyPredefinedIdentifier
hi def link rubySymbol			Constant
hi def link rubyKeyword			Keyword
hi def link rubyOperator		Operator
hi def link rubyBeginEnd		Statement
hi def link rubyAccess			Statement
hi def link rubyAttribute		Statement
hi def link rubyEval			Statement
hi def link rubyPseudoVariable		Constant
hi def link rubyCapitalizedMethod	rubyLocalVariableOrMethod

hi def link rubyComment			Comment
hi def link rubyData			Comment
hi def link rubyDataDirective		Delimiter
hi def link rubyDocumentation		Comment
hi def link rubyTodo			Todo

hi def link rubyQuoteEscape		rubyStringEscape
hi def link rubyStringEscape		Special
hi def link rubyInterpolationDelimiter	Delimiter
hi def link rubyNoInterpolation		rubyString
hi def link rubySharpBang		PreProc
hi def link rubyRegexpDelimiter		rubyStringDelimiter
hi def link rubySymbolDelimiter		rubySymbol
hi def link rubyStringDelimiter		Delimiter
hi def link rubyHeredoc			rubyString
hi def link rubyString			String
hi def link rubyRegexpEscape		rubyRegexpSpecial
hi def link rubyRegexpQuantifier	rubyRegexpSpecial
hi def link rubyRegexpAnchor		rubyRegexpSpecial
hi def link rubyRegexpDot		rubyRegexpCharClass
hi def link rubyRegexpCharClass		rubyRegexpSpecial
hi def link rubyRegexpSpecial		Special
hi def link rubyRegexpComment		Comment
hi def link rubyRegexp			rubyString

hi def link rubyInvalidVariable		Error
hi def link rubyError			Error
hi def link rubySpaceError		rubyError

" Postscript {{{1
let b:current_syntax = "ruby"

let &cpo = s:cpo_sav
unlet! s:cpo_sav

" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:

Filemanager

Name Type Size Permission Actions
2html.vim File 67.55 KB 0644
README.txt File 1.37 KB 0644
a2ps.vim File 2.37 KB 0644
a65.vim File 6.24 KB 0644
aap.vim File 5.56 KB 0644
abap.vim File 8.82 KB 0644
abaqus.vim File 1.07 KB 0644
abc.vim File 1.8 KB 0644
abel.vim File 4.99 KB 0644
acedb.vim File 4.76 KB 0644
ada.vim File 12.74 KB 0644
aflex.vim File 4.27 KB 0644
ahdl.vim File 2.71 KB 0644
alsaconf.vim File 1.51 KB 0644
amiga.vim File 2.9 KB 0644
aml.vim File 23.57 KB 0644
ampl.vim File 4.01 KB 0644
ant.vim File 5.68 KB 0644
antlr.vim File 1.75 KB 0644
apache.vim File 14.62 KB 0644
apachestyle.vim File 1.38 KB 0644
aptconf.vim File 21.71 KB 0644
arch.vim File 1.12 KB 0644
arduino.vim File 1.98 KB 0644
art.vim File 1.27 KB 0644
asciidoc.vim File 10.74 KB 0644
asm.vim File 4.24 KB 0644
asm68k.vim File 13.95 KB 0644
asmh8300.vim File 1.95 KB 0644
asn.vim File 2.52 KB 0644
aspperl.vim File 811 B 0644
aspvbs.vim File 8.89 KB 0644
asterisk.vim File 5.39 KB 0644
asteriskvm.vim File 2.28 KB 0644
atlas.vim File 2.54 KB 0644
autodoc.vim File 3.64 KB 0644
autohotkey.vim File 11.58 KB 0644
autoit.vim File 46.89 KB 0644
automake.vim File 3.88 KB 0644
ave.vim File 1.86 KB 0644
avra.vim File 2.62 KB 0644
awk.vim File 7.66 KB 0644
ayacc.vim File 2.52 KB 0644
b.vim File 4.79 KB 0644
baan.vim File 71.87 KB 0644
basic.vim File 7.94 KB 0644
bc.vim File 1.75 KB 0644
bdf.vim File 3.75 KB 0644
bib.vim File 5.86 KB 0644
bindzone.vim File 4.71 KB 0644
blank.vim File 794 B 0644
bst.vim File 2.76 KB 0644
btm.vim File 9.07 KB 0644
bzl.vim File 374 B 0644
bzr.vim File 1.52 KB 0644
c.vim File 25.75 KB 0644
cabal.vim File 4.21 KB 0644
calendar.vim File 4.92 KB 0644
catalog.vim File 921 B 0644
cdl.vim File 3.02 KB 0644
cdrdaoconf.vim File 3.56 KB 0644
cdrtoc.vim File 22.22 KB 0644
cf.vim File 18.21 KB 0644
cfg.vim File 1.32 KB 0644
ch.vim File 922 B 0644
chaiscript.vim File 2.82 KB 0644
change.vim File 901 B 0644
changelog.vim File 2.05 KB 0644
chaskell.vim File 333 B 0644
cheetah.vim File 1.71 KB 0644
chill.vim File 7.84 KB 0644
chordpro.vim File 2.46 KB 0644
cl.vim File 3.81 KB 0644
clean.vim File 3.08 KB 0644
clipper.vim File 5.45 KB 0644
clojure.vim File 40.95 KB 0644
cmake.vim File 41.16 KB 0644
cmod.vim File 6.12 KB 0644
cmusrc.vim File 12.62 KB 0644
cobol.vim File 9.69 KB 0644
coco.vim File 1.27 KB 0644
colortest.vim File 3.13 KB 0644
conaryrecipe.vim File 7.85 KB 0644
conf.vim File 799 B 0644
config.vim File 1.94 KB 0644
context.vim File 6.05 KB 0644
cpp.vim File 2.8 KB 0644
crm.vim File 1.17 KB 0644
crontab.vim File 2.16 KB 0644
cs.vim File 5.95 KB 0644
csc.vim File 8.25 KB 0644
csdl.vim File 23.2 KB 0644
csh.vim File 6.31 KB 0644
csp.vim File 6.98 KB 0644
css.vim File 32.04 KB 0644
cterm.vim File 6.26 KB 0644
ctrlh.vim File 688 B 0644
cucumber.vim File 31.14 KB 0644
cuda.vim File 2.62 KB 0644
cupl.vim File 3.78 KB 0644
cuplsim.vim File 1.87 KB 0644
cvs.vim File 929 B 0644
cvsrc.vim File 1.22 KB 0644
cweb.vim File 2.82 KB 0644
cynlib.vim File 2.49 KB 0644
cynpp.vim File 1.23 KB 0644
d.vim File 27.96 KB 0644
datascript.vim File 3.72 KB 0644
dcd.vim File 1.76 KB 0644
dcl.vim File 6.19 KB 0644
debchangelog.vim File 2.56 KB 0644
debcontrol.vim File 9.16 KB 0644
debsources.vim File 2.09 KB 0644
def.vim File 1.07 KB 0644
denyhosts.vim File 7.19 KB 0644
desc.vim File 3 KB 0644
desktop.vim File 4.05 KB 0644
dictconf.vim File 3.04 KB 0644
dictdconf.vim File 6.31 KB 0644
diff.vim File 16.88 KB 0644
dircolors.vim File 6.46 KB 0644
dirpager.vim File 1.75 KB 0644
diva.vim File 4.63 KB 0644
django.vim File 3.84 KB 0644
dns.vim File 132 B 0644
dnsmasq.vim File 9.83 KB 0644
docbk.vim File 10.08 KB 0644
docbksgml.vim File 193 B 0644
docbkxml.vim File 191 B 0644
dockerfile.vim File 673 B 0644
dosbatch.vim File 6.11 KB 0644
dosini.vim File 1.11 KB 0644
dot.vim File 2.95 KB 0644
doxygen.vim File 37.74 KB 0644
dracula.vim File 2.61 KB 0644
dsl.vim File 1.28 KB 0644
dtd.vim File 4.82 KB 0644
dtml.vim File 16.22 KB 0644
dtrace.vim File 6.29 KB 0644
dts.vim File 1.18 KB 0644
dylan.vim File 3.33 KB 0644
dylanintr.vim File 1.05 KB 0644
dylanlid.vim File 664 B 0644
ecd.vim File 1.2 KB 0644
edif.vim File 1.25 KB 0644
eiffel.vim File 6.76 KB 0644
elf.vim File 2.29 KB 0644
elinks.vim File 10.25 KB 0644
elmfilt.vim File 2.82 KB 0644
erlang.vim File 10.66 KB 0644
eruby.vim File 2.84 KB 0644
esmtprc.vim File 938 B 0644
esqlc.vim File 2.04 KB 0644
esterel.vim File 2.98 KB 0644
eterm.vim File 18.72 KB 0644
euphoria3.vim File 5.96 KB 0644
euphoria4.vim File 14.2 KB 0644
eviews.vim File 4.89 KB 0644
exim.vim File 17.66 KB 0644
expect.vim File 3.65 KB 0644
exports.vim File 1.71 KB 0644
falcon.vim File 11.73 KB 0644
fan.vim File 5.32 KB 0644
fasm.vim File 8.55 KB 0644
fdcc.vim File 5.52 KB 0644
fetchmail.vim File 3.23 KB 0644
fgl.vim File 7.1 KB 0644
flexwiki.vim File 5.31 KB 0644
focexec.vim File 3.44 KB 0644
form.vim File 6.24 KB 0644
forth.vim File 12.73 KB 0644
fortran.vim File 31.8 KB 0644
foxpro.vim File 32.09 KB 0644
framescript.vim File 11.41 KB 0644
freebasic.vim File 10.27 KB 0644
fstab.vim File 15.49 KB 0644
fvwm.vim File 24.44 KB 0644
fvwm2m4.vim File 711 B 0644
gdb.vim File 4.26 KB 0644
gdmo.vim File 3.22 KB 0644
gedcom.vim File 2.22 KB 0644
git.vim File 4.06 KB 0644
gitcommit.vim File 4.75 KB 0644
gitconfig.vim File 1.58 KB 0644
gitolite.vim File 4.35 KB 0644
gitrebase.vim File 1.81 KB 0644
gitsendemail.vim File 580 B 0644
gkrellmrc.vim File 4.02 KB 0644
gnash.vim File 3.38 KB 0644
gnuplot.vim File 23.11 KB 0644
go.vim File 7.72 KB 0644
godoc.vim File 352 B 0644
gp.vim File 2.9 KB 0644
gpg.vim File 5.46 KB 0644
gprof.vim File 2.07 KB 0644
grads.vim File 1.7 KB 0644
gretl.vim File 3.64 KB 0644
groff.vim File 292 B 0644
groovy.vim File 21.77 KB 0644
group.vim File 1.68 KB 0644
grub.vim File 3.8 KB 0644
gsp.vim File 1.98 KB 0644
gtkrc.vim File 9.1 KB 0644
haml.vim File 6.9 KB 0644
hamster.vim File 13.52 KB 0644
haskell.vim File 8.58 KB 0644
haste.vim File 4.88 KB 0644
hastepreproc.vim File 1.39 KB 0644
hb.vim File 3.08 KB 0644
help.vim File 8.15 KB 0644
hercules.vim File 5.59 KB 0644
hex.vim File 3.92 KB 0644
hgcommit.vim File 1.09 KB 0644
hitest.vim File 3.22 KB 0644
hog.vim File 10.42 KB 0644
hostconf.vim File 3.78 KB 0644
hostsaccess.vim File 549 B 0644
html.vim File 16.84 KB 0644
htmlcheetah.vim File 488 B 0644
htmldjango.vim File 1011 B 0644
htmlm4.vim File 670 B 0644
htmlos.vim File 8.12 KB 0644
ia64.vim File 10.3 KB 0644
ibasic.vim File 6.87 KB 0644
icemenu.vim File 824 B 0644
icon.vim File 6.81 KB 0644
idl.vim File 19.43 KB 0644
idlang.vim File 13.15 KB 0644
indent.vim File 7 KB 0644
inform.vim File 19.03 KB 0644
initex.vim File 18.77 KB 0644
initng.vim File 3.32 KB 0644
inittab.vim File 2.56 KB 0644
ipfilter.vim File 1.58 KB 0644
ishd.vim File 26.42 KB 0644
iss.vim File 4.87 KB 0644
ist.vim File 1.95 KB 0644
j.vim File 9.16 KB 0644
jal.vim File 8.75 KB 0644
jam.vim File 26.08 KB 0644
jargon.vim File 611 B 0644
java.vim File 17.56 KB 0644
javacc.vim File 2.2 KB 0644
javascript.vim File 4.9 KB 0644
jess.vim File 6.08 KB 0644
jgraph.vim File 1.18 KB 0644
jovial.vim File 4.01 KB 0644
jproperties.vim File 5.37 KB 0644
json.vim File 5.88 KB 0644
jsp.vim File 2.62 KB 0644
kconfig.vim File 35.45 KB 0644
kivy.vim File 986 B 0644
kix.vim File 6.18 KB 0644
kscript.vim File 1.94 KB 0644
kwt.vim File 2.4 KB 0644
lace.vim File 3.98 KB 0644
latte.vim File 3.43 KB 0644
ld.vim File 2.83 KB 0644
ldapconf.vim File 12.99 KB 0644
ldif.vim File 1014 B 0644
less.vim File 4.13 KB 0644
lex.vim File 6.57 KB 0644
lftp.vim File 7.3 KB 0644
lhaskell.vim File 4.33 KB 0644
libao.vim File 636 B 0644
lifelines.vim File 6.48 KB 0644
lilo.vim File 10.18 KB 0644
limits.vim File 1.29 KB 0644
liquid.vim File 6.04 KB 0644
lisp.vim File 35.36 KB 0644
lite.vim File 4.73 KB 0644
litestep.vim File 6.52 KB 0644
loginaccess.vim File 4.1 KB 0644
logindefs.vim File 7.36 KB 0644
logtalk.vim File 15.66 KB 0644
lotos.vim File 2.31 KB 0644
lout.vim File 4.22 KB 0644
lpc.vim File 22.6 KB 0644
lprolog.vim File 3.89 KB 0644
lscript.vim File 11.82 KB 0644
lsl.vim File 15.43 KB 0644
lss.vim File 4.76 KB 0644
lua.vim File 13.72 KB 0644
lynx.vim File 6.42 KB 0644
m4.vim File 2.63 KB 0644
mail.vim File 5.93 KB 0644
mailaliases.vim File 2.7 KB 0644
mailcap.vim File 1.11 KB 0644
make.vim File 6.05 KB 0644
mallard.vim File 1.69 KB 0644
man.vim File 1.55 KB 0644
manconf.vim File 4.24 KB 0644
manual.vim File 909 B 0644
maple.vim File 27.86 KB 0644
markdown.vim File 7.86 KB 0644
masm.vim File 16.82 KB 0644
mason.vim File 3.73 KB 0644
master.vim File 1022 B 0644
matlab.vim File 4.04 KB 0644
maxima.vim File 18.36 KB 0644
mel.vim File 3.33 KB 0644
messages.vim File 2.59 KB 0644
mf.vim File 15.06 KB 0644
mgl.vim File 3.64 KB 0644
mgp.vim File 1.95 KB 0644
mib.vim File 2.63 KB 0644
mix.vim File 2.87 KB 0644
mma.vim File 11.52 KB 0644
mmix.vim File 4.85 KB 0644
mmp.vim File 1.45 KB 0644
modconf.vim File 1.39 KB 0644
model.vim File 1.43 KB 0644
modsim3.vim File 3.54 KB 0644
modula2.vim File 3.15 KB 0644
modula3.vim File 1.96 KB 0644
monk.vim File 9.98 KB 0644
moo.vim File 9.02 KB 0644
mp.vim File 43.49 KB 0644
mplayerconf.vim File 7.31 KB 0644
mrxvtrc.vim File 9.38 KB 0644
msidl.vim File 3.38 KB 0644
msmessages.vim File 6.17 KB 0644
msql.vim File 2.33 KB 0644
mupad.vim File 15.11 KB 0644
murphi.vim File 4.51 KB 0644
mush.vim File 12.88 KB 0644
muttrc.vim File 62.55 KB 0644
mysql.vim File 17.2 KB 0644
n1ql.vim File 12.6 KB 0644
named.vim File 9.76 KB 0644
nanorc.vim File 10.37 KB 0644
nasm.vim File 25.67 KB 0644
nastran.vim File 8.3 KB 0644
natural.vim File 6.81 KB 0644
ncf.vim File 13.1 KB 0644
neomuttrc.vim File 76.67 KB 0644
netrc.vim File 1.89 KB 0644
netrw.vim File 7.05 KB 0644
ninja.vim File 2.56 KB 0644
nosyntax.vim File 755 B 0644
nqc.vim File 13.74 KB 0644
nroff.vim File 7.59 KB 0644
nsis.vim File 33.11 KB 0644
obj.vim File 2.72 KB 0644
objc.vim File 40.74 KB 0644
objcpp.vim File 600 B 0644
ocaml.vim File 13.22 KB 0644
occam.vim File 4.21 KB 0644
omnimark.vim File 6.23 KB 0644
openroad.vim File 13.65 KB 0644
opl.vim File 4.03 KB 0644
ora.vim File 26.5 KB 0644
pamconf.vim File 5.42 KB 0644
papp.vim File 3.7 KB 0644
pascal.vim File 14.66 KB 0644
passwd.vim File 2.39 KB 0644
pcap.vim File 1.46 KB 0644
pccts.vim File 4 KB 0644
pdf.vim File 3.46 KB 0644
perl.vim File 37.57 KB 0644
perl6.vim File 72.39 KB 0644
pf.vim File 5.17 KB 0644
pfmain.vim File 90.56 KB 0644
php.vim File 78.54 KB 0644
phtml.vim File 151 B 0644
pic.vim File 3.25 KB 0644
pike.vim File 21.3 KB 0644
pilrc.vim File 5.19 KB 0644
pine.vim File 15.05 KB 0644
pinfo.vim File 5.17 KB 0644
plaintex.vim File 10.06 KB 0644
pli.vim File 12.91 KB 0644
plm.vim File 5.24 KB 0644
plp.vim File 1.24 KB 0644
plsql.vim File 12.62 KB 0644
po.vim File 6.24 KB 0644
pod.vim File 7.11 KB 0644
postscr.vim File 45.05 KB 0644
pov.vim File 8.84 KB 0644
povini.vim File 3.41 KB 0644
ppd.vim File 868 B 0644
ppwiz.vim File 2.71 KB 0644
prescribe.vim File 2.33 KB 0644
privoxy.vim File 3.5 KB 0644
procmail.vim File 1.97 KB 0644
progress.vim File 31 KB 0644
prolog.vim File 4.26 KB 0644
promela.vim File 1.69 KB 0644
proto.vim File 2.86 KB 0644
protocols.vim File 1.4 KB 0644
psf.vim File 4.19 KB 0644
ptcap.vim File 4.03 KB 0644
purifylog.vim File 3.28 KB 0644
pyrex.vim File 1.62 KB 0644
python.vim File 13.95 KB 0644
qf.vim File 596 B 0644
quake.vim File 8.35 KB 0644
r.vim File 13.98 KB 0644
racc.vim File 5.49 KB 0644
radiance.vim File 6.99 KB 0644
ratpoison.vim File 16.82 KB 0644
rc.vim File 9.98 KB 0644
rcs.vim File 2.08 KB 0644
rcslog.vim File 557 B 0644
readline.vim File 16.6 KB 0644
rebol.vim File 7 KB 0644
redif.vim File 85.88 KB 0644
registry.vim File 3.28 KB 0644
remind.vim File 2.65 KB 0644
resolv.vim File 2.95 KB 0644
reva.vim File 7.4 KB 0644
rexx.vim File 14.97 KB 0644
rhelp.vim File 11.85 KB 0644
rib.vim File 2.14 KB 0644
rmd.vim File 4.3 KB 0644
rnc.vim File 2.21 KB 0644
rng.vim File 817 B 0644
rnoweb.vim File 1.86 KB 0644
robots.vim File 1.49 KB 0644
rpcgen.vim File 1.63 KB 0644
rpl.vim File 25.1 KB 0644
rrst.vim File 1.27 KB 0644
rst.vim File 8.63 KB 0644
rtf.vim File 2.28 KB 0644
ruby.vim File 39.69 KB 0644
rust.vim File 16.22 KB 0644
samba.vim File 5.99 KB 0644
sas.vim File 33.29 KB 0644
sass.vim File 6.17 KB 0644
sather.vim File 3.41 KB 0644
sbt.vim File 880 B 0644
scala.vim File 11.04 KB 0644
scheme.vim File 17.46 KB 0644
scilab.vim File 3.13 KB 0644
screen.vim File 8.89 KB 0644
scss.vim File 409 B 0644
sd.vim File 2.17 KB 0644
sdc.vim File 1.36 KB 0644
sdl.vim File 6.41 KB 0644
sed.vim File 4.92 KB 0644
sendpr.vim File 905 B 0644
sensors.vim File 1.48 KB 0644
services.vim File 1.78 KB 0644
setserial.vim File 5.11 KB 0644
sgml.vim File 8.66 KB 0644
sgmldecl.vim File 1.99 KB 0644
sgmllnx.vim File 1.81 KB 0644
sh.vim File 38.94 KB 0644
sicad.vim File 18.04 KB 0644
sieve.vim File 1.63 KB 0644
simula.vim File 3.29 KB 0644
sinda.vim File 3.58 KB 0644
sindacmp.vim File 1.24 KB 0644
sindaout.vim File 1.92 KB 0644
sisu.vim File 21.66 KB 0644
skill.vim File 25.17 KB 0644
sl.vim File 3.99 KB 0644
slang.vim File 3.22 KB 0644
slice.vim File 2.86 KB 0644
slpconf.vim File 11.51 KB 0644
slpreg.vim File 5.22 KB 0644
slpspi.vim File 1.15 KB 0644
slrnrc.vim File 12.51 KB 0644
slrnsc.vim File 3.03 KB 0644
sm.vim File 2.78 KB 0644
smarty.vim File 2.82 KB 0644
smcl.vim File 11.76 KB 0644
smil.vim File 5.48 KB 0644
smith.vim File 793 B 0644
sml.vim File 9.11 KB 0644
snnsnet.vim File 2.42 KB 0644
snnspat.vim File 2.18 KB 0644
snnsres.vim File 1.89 KB 0644
snobol4.vim File 5.21 KB 0644
spec.vim File 12.29 KB 0644
specman.vim File 7.17 KB 0644
spice.vim File 2.19 KB 0644
splint.vim File 15.42 KB 0644
spup.vim File 13.6 KB 0644
spyce.vim File 4.35 KB 0644
sql.vim File 1.09 KB 0644
sqlanywhere.vim File 40.95 KB 0644
sqlforms.vim File 6.58 KB 0644
sqlhana.vim File 10.77 KB 0644
sqlinformix.vim File 5.76 KB 0644
sqlj.vim File 2.9 KB 0644
sqloracle.vim File 7.07 KB 0644
sqr.vim File 12.71 KB 0644
squid.vim File 6.77 KB 0644
srec.vim File 3.73 KB 0644
sshconfig.vim File 10.33 KB 0644
sshdconfig.vim File 10.83 KB 0644
st.vim File 2.69 KB 0644
stata.vim File 26.42 KB 0644
stp.vim File 5.3 KB 0644
strace.vim File 1.92 KB 0644
sudoers.vim File 21.54 KB 0644
svg.vim File 436 B 0644
svn.vim File 1.81 KB 0644
syncolor.vim File 4 KB 0644
synload.vim File 1.94 KB 0644
syntax.vim File 1.2 KB 0644
sysctl.vim File 1.13 KB 0644
systemd.vim File 184 B 0644
systemverilog.vim File 3.46 KB 0644
tads.vim File 6.7 KB 0644
tags.vim File 1.13 KB 0644
tak.vim File 2.85 KB 0644
takcmp.vim File 1.56 KB 0644
takout.vim File 1.95 KB 0644
tap.vim File 4.26 KB 0644
tar.vim File 373 B 0644
taskdata.vim File 1.18 KB 0644
taskedit.vim File 1.1 KB 0644
tasm.vim File 5.54 KB 0644
tcl.vim File 16.88 KB 0644
tcsh.vim File 12.96 KB 0644
teraterm.vim File 4.82 KB 0644
terminfo.vim File 4.69 KB 0644
tex.vim File 62.66 KB 0644
texinfo.vim File 24.97 KB 0644
texmf.vim File 2.23 KB 0644
tf.vim File 6.74 KB 0644
tidy.vim File 5.79 KB 0644
tilde.vim File 1.5 KB 0644
tli.vim File 1.62 KB 0644
tmux.vim File 6.26 KB 0644
tpp.vim File 3.4 KB 0644
trasys.vim File 4.92 KB 0644
treetop.vim File 3.58 KB 0644
trustees.vim File 1.51 KB 0644
tsalt.vim File 8.13 KB 0644
tsscl.vim File 5 KB 0644
tssgm.vim File 2.72 KB 0644
tssop.vim File 1.74 KB 0644
tt2.vim File 7.74 KB 0644
tt2html.vim File 516 B 0644
tt2js.vim File 522 B 0644
uc.vim File 6.48 KB 0644
udevconf.vim File 1.2 KB 0644
udevperm.vim File 2.35 KB 0644
udevrules.vim File 6.8 KB 0644
uil.vim File 2.75 KB 0644
updatedb.vim File 1.19 KB 0644
upstart.vim File 3.09 KB 0644
upstreamdat.vim File 13.72 KB 0644
upstreaminstalllog.vim File 971 B 0644
upstreamlog.vim File 2.56 KB 0644
upstreamrpt.vim File 13.86 KB 0644
usserverlog.vim File 3.04 KB 0644
usw2kagtlog.vim File 2.64 KB 0644
valgrind.vim File 3.17 KB 0644
vb.vim File 19.82 KB 0644
vera.vim File 19.09 KB 0644
verilog.vim File 4.94 KB 0644
verilogams.vim File 5.94 KB 0644
vgrindefs.vim File 1.19 KB 0644
vhdl.vim File 9.17 KB 0644
vim.vim File 66.36 KB 0644
viminfo.vim File 1.21 KB 0644
virata.vim File 11.34 KB 0644
vmasm.vim File 8.31 KB 0644
voscm.vim File 6.81 KB 0644
vrml.vim File 12.49 KB 0644
vroom.vim File 3.41 KB 0644
vsejcl.vim File 1004 B 0644
wdiff.vim File 716 B 0644
web.vim File 1.09 KB 0644
webmacro.vim File 3.06 KB 0644
wget.vim File 3.87 KB 0644
whitespace.vim File 357 B 0644
winbatch.vim File 11.87 KB 0644
wml.vim File 5.6 KB 0644
wsh.vim File 1.21 KB 0644
wsml.vim File 5.27 KB 0644
wvdial.vim File 1.07 KB 0644
xbl.vim File 568 B 0644
xdefaults.vim File 5.75 KB 0644
xf86conf.vim File 14.38 KB 0644
xhtml.vim File 186 B 0644
xinetd.vim File 13.88 KB 0644
xkb.vim File 3.24 KB 0644
xmath.vim File 10.58 KB 0644
xml.vim File 8.41 KB 0644
xmodmap.vim File 45.42 KB 0644
xpm.vim File 4.3 KB 0644
xpm2.vim File 4.59 KB 0644
xquery.vim File 7.02 KB 0644
xs.vim File 240.96 KB 0644
xsd.vim File 2.08 KB 0644
xslt.vim File 2.12 KB 0644
xxd.vim File 766 B 0644
yacc.vim File 5.38 KB 0644
yaml.vim File 12.56 KB 0644
z8a.vim File 2.83 KB 0644
zimbu.vim File 6.29 KB 0644
zsh.vim File 22.94 KB 0644