__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
" 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>
" Last Change:		2023 Mar 16
" ----------------------------------------------------------------------------
"
" 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

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

" 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, 'NONE') > -1
    return 0
  endif

  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

function! s:run_syntax_fold(args) abort
  let [_0, _1, groups, cmd; _] = matchlist(a:args, '\(["'']\)\(.\{-}\)\1\s\+\(.*\)')
  if call('s:foldable', split(groups))
    let cmd .= ' fold'
  endif
  exe cmd
endfunction

com! -nargs=* SynFold call s:run_syntax_fold(<q-args>)

" Not-Top Cluster {{{1
syn cluster rubyNotTop contains=@rubyCommentNotTop,@rubyStringNotTop,@rubyRegexpSpecial,@rubyDeclaration,@rubyExceptionHandler,@rubyClassOperator,rubyConditional,rubyModuleName,rubyClassName,rubySymbolDelimiter,rubyDoubleQuoteSymbolDelimiter,rubySingleQuoteSymbolDelimiter,rubyParentheses,@Spell

" 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

syn match rubyEnglishBooleanOperator "\<\%(and\|or\|not\)\>"

if exists("ruby_operators") || exists("ruby_pseudo_operators")
  syn match rubyDotOperator	   "\.\|&\."

  syn match rubyTernaryOperator    "\%(\w\|[^\x00-\x7F]\)\@1<!?\|:"
  syn match rubyArithmeticOperator "\*\*\|[*/%+]\|->\@!"
  syn match rubyComparisonOperator "<=>\|<=\|<\|>=\|[-=]\@1<!>"
  syn match rubyBitwiseOperator    "[~^|]\|&\.\@!\|<<\|>>"
  syn match rubyBooleanOperator    "\%(\w\|[^\x00-\x7F]\)\@1<!!\|&&\|||"
  syn match rubyRangeOperator	   "\.\.\.\="
  syn match rubyAssignmentOperator "=>\@!\|-=\|/=\|\*\*=\|\*=\|&&=\|&=\|||=\||=\|%=\|+=\|>>=\|<<=\|\^="
  syn match rubyAssignmentOperator "=>\@!" contained containedin=rubyBlockParameterList " TODO: this is inelegant
  syn match rubyEqualityOperator   "===\|==\|!=\|!\~\|=\~"

  syn region rubyBracketOperator matchgroup=rubyOperator start="\%(\%(\w\|[^\x00-\x7F]\)[?!]\=\|[]})]\)\@2<=\[" end="]" contains=ALLBUT,@rubyNotTop

  syn match rubyScopeOperator	    "::"
  syn match rubySuperClassOperator  "<"	 contained
  syn match rubyEigenClassOperator  "<<" contained
  syn match rubyLambdaOperator	    "->"
  syn match rubySplatOperator	    "\%([[{(|,=]\_s*\)\@<=\*"
  syn match rubySplatOperator	    "\%(^\|\s\)\@1<=\*\%(\h\|[^\x00-\x7F]\|[:$@[]\)\@="
  syn match rubyDoubleSplatOperator "\%([{(|,]\_s*\)\@<=\*\*"
  syn match rubyDoubleSplatOperator "\s\@1<=\*\*\%(\h\|[^\x00-\x7F]\|[:$@{]\)\@="
  syn match rubyProcOperator	    "\%([[(|,]\_s*\)\@<=&"
  syn match rubyProcOperator	    "\s\@1<=&\%(\h\|[^\x00-\x7F]\|[:$@]\|->\)\@="

  syn cluster rubyProperOperator contains=rubyTernaryOperator,rubyArithmeticOperator,rubyComparisonOperator,rubyBitwiseOperator,rubyBooleanOperator,rubyRangeOperator,rubyAssignmentOperator,rubyEqualityOperator,rubyDefinedOperator,rubyEnglishBooleanOperator
  syn cluster rubyClassOperator  contains=rubyEigenClassOperator,rubySuperClassOperator
  syn cluster rubyPseudoOperator contains=rubyDotOperator,rubyScopeOperator,rubyEigenClassOperator,rubySuperClassOperator,rubyLambdaOperator,rubySplatOperator,rubyDoubleSplatOperator,rubyProcOperator
  syn cluster rubyOperator	 contains=ruby.*Operator
endif

" String Interpolation and Backslash Notation {{{1
syn region rubyInterpolation	      matchgroup=rubyInterpolationDelimiter start="#{" end="}" contained contains=ALLBUT,@rubyNotTop
syn match  rubyInterpolation	      "#\$\%(-\w\|[!$&"'*+,./0:;<>?@\`~_]\|\w\+\)" display contained contains=rubyInterpolationDelimiter,@rubyGlobalVariable
syn match  rubyInterpolation	      "#@@\=\w\+"				   display contained contains=rubyInterpolationDelimiter,rubyInstanceVariable,rubyClassVariable
syn match  rubyInterpolationDelimiter "#\ze[$@]"				   display contained

syn match rubyStringEscape "\\\_."											   contained display
syn match rubyStringEscape "\\\o\{1,3}\|\\x\x\{1,2}"									   contained display
syn match rubyStringEscape "\\u\%(\x\{4}\|{\x\{1,6}\%(\s\+\x\{1,6}\)*}\)"						   contained display
syn match rubyStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=.\)" contained display

syn match rubyBackslashEscape "\\\\" contained display
syn match rubyQuoteEscape     "\\'"  contained display
syn match rubySpaceEscape     "\\ "  contained display

syn match rubyParenthesisEscape	  "\\[()]"  contained display
syn match rubyCurlyBraceEscape	  "\\[{}]"  contained display
syn match rubyAngleBracketEscape  "\\[<>]"  contained display
syn match rubySquareBracketEscape "\\[[\]]" contained display

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

syn cluster rubySingleCharEscape contains=rubyBackslashEscape,rubyQuoteEscape,rubySpaceEscape,rubyParenthesisEscape,rubyCurlyBraceEscape,rubyAngleBracketEscape,rubySquareBracketEscape
syn cluster rubyNestedBrackets	 contains=rubyNested.\+
syn cluster rubyStringSpecial	 contains=rubyInterpolation,rubyStringEscape
syn cluster rubyStringNotTop	 contains=@rubyStringSpecial,@rubyNestedBrackets,@rubySingleCharEscape

" Regular Expression Metacharacters {{{1
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=rubyRegexpBrackets,rubyStringEscape,rubyRegexpEscape,rubyRegexpCharClass,rubyRegexpIntersection oneline
syn match  rubyRegexpCharClass	  "\\[DdHhRSsWw]"	 contained display
syn match  rubyRegexpCharClass	  "\[:\^\=\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]" contained
syn match  rubyRegexpCharClass	  "\\[pP]{^\=.\{-}}"	 contained display
syn match  rubyRegexpEscape	  "\\[].*?+^$|\\/(){}[]" contained " see commit e477f10
syn match  rubyRegexpQuantifier	  "[*?+][?+]\="		 contained display
syn match  rubyRegexpQuantifier	  "{\d\+\%(,\d*\)\=}?\=" contained display
syn match  rubyRegexpAnchor	  "[$^]\|\\[ABbGZz]"	 contained display
syn match  rubyRegexpDot	  "\.\|\\X"		 contained display
syn match  rubyRegexpIntersection "&&"			 contained display
syn match  rubyRegexpSpecial	  "\\K"			 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 rubyRegexpSpecial contains=@rubyStringSpecial,rubyRegexpSpecial,rubyRegexpEscape,rubyRegexpBrackets,rubyRegexpCharClass,rubyRegexpDot,rubyRegexpQuantifier,rubyRegexpAnchor,rubyRegexpParens,rubyRegexpComment,rubyRegexpIntersection

" Numbers {{{1
syn match rubyInteger "\%(\%(\w\|[^\x00-\x7F]\|[]})\"']\s*\)\@<!-\)\=\<0[xX]\x\+\%(_\x\+\)*r\=i\=\>"							       display
syn match rubyInteger "\%(\%(\w\|[^\x00-\x7F]\|[]})\"']\s*\)\@<!-\)\=\<\%(0[dD]\)\=\%(0\|[1-9]\d*\%(_\d\+\)*\)r\=i\=\>"					       display
syn match rubyInteger "\%(\%(\w\|[^\x00-\x7F]\|[]})\"']\s*\)\@<!-\)\=\<0[oO]\=\o\+\%(_\o\+\)*r\=i\=\>"							       display
syn match rubyInteger "\%(\%(\w\|[^\x00-\x7F]\|[]})\"']\s*\)\@<!-\)\=\<0[bB][01]\+\%(_[01]\+\)*r\=i\=\>"						       display
syn match rubyFloat   "\%(\%(\w\|[^\x00-\x7F]\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\.\d\+\%(_\d\+\)*r\=i\=\>"				       display
syn match rubyFloat   "\%(\%(\w\|[^\x00-\x7F]\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*\)\%(\.\d\+\%(_\d\+\)*\)\=\%([eE][-+]\=\d\+\%(_\d\+\)*\)i\=\>" display

" Identifiers {{{1
syn match rubyClassName	       "\%(\%(^\|[^.]\)\.\s*\)\@<!\<[[:upper:]]\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!" contained
syn match rubyModuleName       "\%(\%(^\|[^.]\)\.\s*\)\@<!\<[[:upper:]]\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!" contained
syn match rubyConstant	       "\%(\%(^\|[^.]\)\.\s*\)\@<!\<[[:upper:]]\%(\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 rubySymbolDelimiter  ":" contained
syn match rubySymbol	       "[]})\"':]\@1<!:\%(\^\|\~@\|\~\|<<\|<=>\|<=\|<\|===\|[=!]=\|[=!]\~\|!@\|!\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)" contains=rubySymbolDelimiter
syn match rubySymbol	       "[]})\"':]\@1<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"			    contains=rubySymbolDelimiter
syn match rubySymbol	       "[]})\"':]\@1<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"  contains=rubySymbolDelimiter
syn match rubySymbol	       "[]})\"':]\@1<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\=" contains=rubySymbolDelimiter

SynFold ':' syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:'"  end="'"  skip="\\\\\|\\'"  contains=rubyQuoteEscape,rubyBackslashEscape
SynFold ':' syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial

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

syn region rubyParentheses	  start="("				 end=")" contains=ALLBUT,@rubyNotTop contained containedin=rubyBlockParameterList
syn region rubyBlockParameterList start="\%(\%(\<do\>\|{\)\_s*\)\@32<=|" end="|" contains=ALLBUT,@rubyNotTop,@rubyProperOperator

if exists('ruby_global_variable_error')
  syn match rubyGlobalVariableError "$[^A-Za-z_]"	display
  syn match rubyGlobalVariableError "$-[^0FIKWadilpvw]" display
endif

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

" Deprecated/removed in 1.9
syn match rubyPredefinedVariable "$="
syn match rubyPredefinedVariable "$-K\>"		  display
syn match rubyPredefinedVariable "$\%(deferr\|defout\)\>" display
syn match rubyPredefinedVariable "$KCODE\>"		  display
" Deprecated/removed in 2.4
syn match rubyPredefinedConstant "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\%(FALSE\|NIL\|TRUE\)\>\%(\s*(\)\@!"

syn cluster rubyGlobalVariable contains=rubyGlobalVariable,rubyPredefinedVariable,rubyGlobalVariableError

" Normal Regular Expressions {{{1
SynFold '/' syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial nextgroup=@rubyModifier skipwhite
SynFold '/' syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\s\+\)\@<=/\%(=\|\_s\)\@!"					   end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial nextgroup=@rubyModifier skipwhite

" Generalized Regular Expressions {{{1
SynFold '%' syn region rubyRegexp matchgroup=rubyPercentRegexpDelimiter start="%r\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial nextgroup=@rubyModifier skipwhite
SynFold '%' syn region rubyRegexp matchgroup=rubyPercentRegexpDelimiter start="%r{"				   end="}[iomxneus]*"	skip="\\\\\|\\}"   contains=@rubyRegexpSpecial
SynFold '%' syn region rubyRegexp matchgroup=rubyPercentRegexpDelimiter start="%r<"				   end=">[iomxneus]*"	skip="\\\\\|\\>"   contains=@rubyRegexpSpecial,rubyNestedAngleBrackets
SynFold '%' syn region rubyRegexp matchgroup=rubyPercentRegexpDelimiter start="%r\["				   end="\][iomxneus]*"	skip="\\\\\|\\\]"  contains=@rubyRegexpSpecial
SynFold '%' syn region rubyRegexp matchgroup=rubyPercentRegexpDelimiter start="%r("				   end=")[iomxneus]*"	skip="\\\\\|\\)"   contains=@rubyRegexpSpecial
SynFold '%' syn region rubyRegexp matchgroup=rubyPercentRegexpDelimiter start="%r\z(\s\)"			   end="\z1[iomxneus]*" skip="\\\\\|\\\z1" contains=@rubyRegexpSpecial

" Characters {{{1
syn match rubyCharacter "\%(\w\|[^\x00-\x7F]\|[]})\"'/]\)\@1<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\[[:space:]]\|\\\=[^[:space:]]\)\)"
syn match rubyCharacter "\%(\w\|[^\x00-\x7F]\|[]})\"'/]\)\@1<!?\\u\%(\x\{4}\|{\x\{1,6}}\)"

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

" Shell Command Output {{{1
SynFold 'string' syn region rubyString matchgroup=rubyStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=@rubyStringSpecial

" Generalized Single Quoted Strings, Symbols, Array of Strings and Array of Symbols {{{1

" Non-bracket punctuation delimiters {{{2
let s:names = { '~': 'Tilde', '`': 'BackQuote', '!': 'Bang', '@': 'At', '#': 'Hash', '$': 'Dollar', '%': 'Percent', '^': 'Caret',
      \		'&': 'Ampersand', '*': 'Asterix', '_': 'Underscore', '-': 'Dash', '+': 'Plus', '=': 'Equals', '|': 'Bar',
      \		'\': 'Backslash', ':': 'Colon', ';': 'Semicolon', '"': 'DoubleQuote', "'": 'Quote', ',': 'Comma', '.': 'Period',
      \		'?': 'QuestionMark', '/': 'ForwardSlash' }

for s:delimiter in keys(s:names)
  let s:group = 'ruby' . s:names[s:delimiter] . 'Escape'

  if s:delimiter =~ '[\"]'
    let s:delimiter = '\' . s:delimiter
  endif

  exe 'syn match ' . s:group . ' "\V\\' . s:delimiter . '" contained display'
  exe 'syn cluster rubySingleCharEscape add=' . s:group
  exe 'SynFold ''%'' syn region rubyString matchgroup=rubyPercentStringDelimiter start="\V%q' . s:delimiter . '" end="\V' . s:delimiter . '" skip="\V\\\\\|\\' . s:delimiter . '" contains=rubyBackslashEscape,'		 . s:group . ' nextgroup=@rubyModifier skipwhite'
  exe 'SynFold ''%'' syn region rubyString matchgroup=rubyPercentStringDelimiter start="\V%w' . s:delimiter . '" end="\V' . s:delimiter . '" skip="\V\\\\\|\\' . s:delimiter . '" contains=rubyBackslashEscape,rubySpaceEscape,' . s:group . ' nextgroup=@rubyModifier skipwhite'
  exe 'SynFold ''%'' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="\V%s' . s:delimiter . '" end="\V' . s:delimiter . '" skip="\V\\\\\|\\' . s:delimiter . '" contains=rubyBackslashEscape,'		 . s:group . ' nextgroup=@rubyModifier skipwhite'
  exe 'SynFold ''%'' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="\V%i' . s:delimiter . '" end="\V' . s:delimiter . '" skip="\V\\\\\|\\' . s:delimiter . '" contains=rubyBackslashEscape,rubySpaceEscape,' . s:group . ' nextgroup=@rubyModifier skipwhite'
  exe 'hi def link ' . s:group . ' rubyStringEscape'
endfor

unlet s:delimiter s:group s:names
" }}}2

SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%q{"	  end="}"   skip="\\\\\|\\}"   contains=rubyBackslashEscape,rubyCurlyBraceEscape,rubyNestedCurlyBraces
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%q<"	  end=">"   skip="\\\\\|\\>"   contains=rubyBackslashEscape,rubyAngleBracketEscape,rubyNestedAngleBrackets
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%q\["	  end="\]"  skip="\\\\\|\\\]"  contains=rubyBackslashEscape,rubySquareBracketEscape,rubyNestedSquareBrackets
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%q("	  end=")"   skip="\\\\\|\\)"   contains=rubyBackslashEscape,rubyParenthesisEscape,rubyNestedParentheses
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%q\z(\s\)" end="\z1" skip="\\\\\|\\\z1" contains=rubyBackslashEscape,rubySpaceEscape

SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%w{"	  end="}"   skip="\\\\\|\\}"   contains=rubyBackslashEscape,rubySpaceEscape,rubyCurlyBraceEscape,rubyNestedCurlyBraces
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%w<"	  end=">"   skip="\\\\\|\\>"   contains=rubyBackslashEscape,rubySpaceEscape,rubyAngleBracketEscape,rubyNestedAngleBrackets
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%w\["	  end="\]"  skip="\\\\\|\\\]"  contains=rubyBackslashEscape,rubySpaceEscape,rubySquareBracketEscape,rubyNestedSquareBrackets
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%w("	  end=")"   skip="\\\\\|\\)"   contains=rubyBackslashEscape,rubySpaceEscape,rubyParenthesisEscape,rubyNestedParentheses

SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%s{"	  end="}"   skip="\\\\\|\\}"   contains=rubyBackslashEscape,rubyCurlyBraceEscape,rubyNestedCurlyBraces
SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%s<"	  end=">"   skip="\\\\\|\\>"   contains=rubyBackslashEscape,rubyAngleBracketEscape,rubyNestedAngleBrackets
SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%s\["	  end="\]"  skip="\\\\\|\\\]"  contains=rubyBackslashEscape,rubySquareBracketEscape,rubyNestedSquareBrackets
SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%s("	  end=")"   skip="\\\\\|\\)"   contains=rubyBackslashEscape,rubyParenthesisEscape,rubyNestedParentheses
SynFold '%' syn region rubyString matchgroup=rubyPercentSymbolDelimiter start="%s\z(\s\)" end="\z1" skip="\\\\\|\\\z1" contains=rubyBackslashEscape,rubySpaceEscape

SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%i{"	  end="}"   skip="\\\\\|\\}"   contains=rubyBackslashEscape,rubySpaceEscape,rubyCurlyBraceEscape,rubyNestedCurlyBraces
SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%i<"	  end=">"   skip="\\\\\|\\>"   contains=rubyBackslashEscape,rubySpaceEscape,rubyAngleBracketEscape,rubyNestedAngleBrackets
SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%i\["	  end="\]"  skip="\\\\\|\\\]"  contains=rubyBackslashEscape,rubySpaceEscape,rubySquareBracketEscape,rubyNestedSquareBrackets
SynFold '%' syn region rubySymbol matchgroup=rubyPercentSymbolDelimiter start="%i("	  end=")"   skip="\\\\\|\\)"   contains=rubyBackslashEscape,rubySpaceEscape,rubyParenthesisEscape,rubyNestedParentheses

" Generalized Double Quoted Strings, Array of Strings, Array of Symbols and Shell Command Output {{{1
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="\%(\%(\w\|[^\x00-\x7F]\|]\)\s*\)\@<!%=" end="="	 skip="\\\\\|\\="   contains=@rubyStringSpecial nextgroup=@rubyModifier skipwhite
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)"       end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial nextgroup=@rubyModifier skipwhite
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial nextgroup=@rubyModifier skipwhite
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%[QWx]\={"			       end="}"	 skip="\\\\\|\\}"   contains=@rubyStringSpecial,rubyNestedCurlyBraces
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%[QWx]\=<"			       end=">"	 skip="\\\\\|\\>"   contains=@rubyStringSpecial,rubyNestedAngleBrackets
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%[QWx]\=\["			       end="\]"  skip="\\\\\|\\\]"  contains=@rubyStringSpecial,rubyNestedSquareBrackets
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%[QWx]\=("			       end=")"	 skip="\\\\\|\\)"   contains=@rubyStringSpecial,rubyNestedParentheses
SynFold '%' syn region rubyString matchgroup=rubyPercentStringDelimiter start="%[Qx]\z(\s\)"			       end="\z1" skip="\\\\\|\\\z1" contains=@rubyStringSpecial

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

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

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

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

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

" Module, Class, Method and Alias Declarations {{{1
syn match rubyAliasDeclaration	"[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable nextgroup=rubyAliasDeclaration2 skipwhite
syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable
syn match rubyMethodDeclaration "[^[:space:];#(]\+"   contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable
syn match rubyClassDeclaration	"[^[:space:];#<]\+"   contained contains=rubyClassName,rubyScopeOperator nextgroup=rubySuperClassOperator skipwhite
syn match rubyModuleDeclaration "[^[:space:];#<]\+"   contained contains=rubyModuleName,rubyScopeOperator

syn match rubyMethodName "\<\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%([[:alnum:]_.:?!=]\|[^\x00-\x7F]\)\@!"			      contained containedin=rubyMethodDeclaration
syn match rubyMethodName "\%(\s\|^\)\@1<=\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%(\s\|$\)\@="					      contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
syn match rubyMethodName "\%([[:space:].]\|^\)\@1<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration

syn cluster rubyDeclaration contains=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration,rubyModuleDeclaration,rubyClassDeclaration,rubyMethodName

" Keywords {{{1
" TODO: reorganise
syn match rubyControl	     "\%#=1\<\%(break\|in\|next\|redo\|retry\|return\)\>"
syn match rubyKeyword	     "\%#=1\<\%(super\|yield\)\>"
syn match rubyBoolean	     "\%#=1\<\%(true\|false\)\>[?!]\@!"
syn match rubyPseudoVariable "\%#=1\<\%(self\|nil\)\>[?!]\@!"
syn match rubyPseudoVariable "\%#=1\<__\%(ENCODING\|dir\|FILE\|LINE\|callee\|method\)__\>"
syn match rubyBeginEnd	     "\%#=1\<\%(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=rubyMethodName				  skipwhite skipnl
  syn match rubyClass  "\<class\>"  nextgroup=rubyClassDeclaration,rubyEigenClassOperator skipwhite skipnl
  syn match rubyModule "\<module\>" nextgroup=rubyModuleDeclaration			  skipwhite skipnl

  SynFold 'def'    syn region rubyMethodBlock start="\<def\>"	 matchgroup=rubyDefine skip="\<end:\|\%(\<def\_s\+\)\@<=end\>" end="\<end\>" contains=ALLBUT,@rubyNotTop
  SynFold 'class'  syn region rubyClassBlock  start="\<class\>"  matchgroup=rubyClass  skip="\<end:"			       end="\<end\>" contains=ALLBUT,@rubyNotTop
  SynFold 'module' syn region rubyModuleBlock start="\<module\>" matchgroup=rubyModule skip="\<end:"			       end="\<end\>" contains=ALLBUT,@rubyNotTop

  " endless def
  syn match rubyDefine "\<def\s\+\ze[^[:space:];#(]\+\%(\s\+\|\s*(.*)\s*\)=" nextgroup=rubyMethodDeclaration skipwhite

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

  syn cluster rubyModifier contains=rubyConditionalModifier,rubyRepeatModifier,rubyRescueModifier

  SynFold 'do' syn region rubyDoBlock matchgroup=rubyControl start="\<do\>" skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop

  " curly bracket block or hash literal
  SynFold '{' syn region rubyCurlyBlock   matchgroup=rubyCurlyBlockDelimiter start="{"						    end="}" contains=ALLBUT,@rubyNotTop
  SynFold '[' syn region rubyArrayLiteral matchgroup=rubyArrayDelimiter      start="\%(\%(\w\|[^\x00-\x7F]\)[?!]\=\|[]})]\)\@2<!\[" end="]" contains=ALLBUT,@rubyNotTop

  " statements without 'do'
  SynFold 'begin' syn region rubyBlockExpression matchgroup=rubyControl     start="\<begin\>" skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop
  SynFold 'case'  syn region rubyCaseExpression  matchgroup=rubyConditional start="\<case\>"  skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop

  SynFold 'if' syn region rubyConditionalExpression matchgroup=rubyConditional start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\<then\s\|\%(\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\@<![?!]\)\s*\)\@<=\%(if\|unless\)\>" skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop

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

  syn match   rubyExceptionHandler  "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>" contained containedin=rubyBlockExpression,rubyDoBlock
  syn match   rubyExceptionHandler2 "\<\%(\%(\%(;\|^\)\s*\)\@<=rescue\|else\|ensure\)\>" contained containedin=rubyModuleBlock,rubyClassBlock,rubyMethodBlock
  syn cluster rubyExceptionHandler  contains=rubyExceptionHandler,rubyExceptionHandler2

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

  SynFold 'for' syn region rubyRepeatExpression start="\<for\>" start="\%(\%(^\|\.\.\.\=\|[{:,;([<>~\*/%&^|+=-]\|\%(\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\@<![!?]\)\s*\)\@<=\<\%(until\|while\)\>" matchgroup=rubyRepeat skip="\<end:" end="\<end\>" contains=ALLBUT,@rubyNotTop nextgroup=rubyOptionalDoLine

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\|rescue\|ensure\|then\|when\|end\)\>"
  syn match rubyKeyword "\<\%(alias\|undef\)\>"
endif

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

" Special Methods {{{1
if !exists("ruby_no_special_methods")
  syn match rubyAccess	  "\<\%(public\|protected\|private\)\>" " use re=2
  syn match rubyAccess	  "\%#=1\<\%(public\|private\)_class_method\>"
  syn match rubyAccess	  "\%#=1\<\%(public\|private\)_constant\>"
  syn match rubyAccess	  "\%#=1\<module_function\>"
  syn match rubyAttribute "\%#=1\%(\%(^\|;\)\s*\)\@<=attr\>\%(\s*[.=]\)\@!" " attr is a common variable name
  syn match rubyAttribute "\%#=1\<attr_\%(accessor\|reader\|writer\)\>"
  syn match rubyControl   "\%#=1\<\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>"
  syn match rubyEval	  "\%#=1\<eval\>"
  syn match rubyEval	  "\%#=1\<\%(class\|instance\|module\)_eval\>"
  syn match rubyException "\%#=1\<\%(raise\|fail\|catch\|throw\)\>"
  syn match rubyInclude   "\%#=1\<\%(autoload\|gem\|load\|require\%(_relative\)\=\)\>"
  syn match rubyKeyword   "\%#=1\<\%(callcc\|caller\|lambda\|proc\)\>"
  syn match rubyMacro	  "\%#=1\<\%(extend\|include\|prepend\|refine\|using\)\>"
  syn match rubyMacro	  "\%#=1\<\%(alias\|define\|define_singleton\|remove\|undef\)_method\>"
endif

" Comments and Documentation {{{1
syn match   rubySharpBang    "\%^#!.*" display
syn keyword rubyTodo	     FIXME NOTE TODO OPTIMIZE HACK REVIEW XXX todo contained
syn match   rubyEncoding     "[[:alnum:]-_]\+" contained display
syn match   rubyMagicComment "\c\%<3l#\s*\zs\%(coding\|encoding\):"					contained nextgroup=rubyEncoding skipwhite
syn match   rubyMagicComment "\c\%<10l#\s*\zs\%(frozen[-_]string[-_]literal\|warn[-_]indent\|warn[-_]past[-_]scope\):" contained nextgroup=rubyBoolean  skipwhite
syn match   rubyMagicComment "\c\%<10l#\s*\zs\%(shareable[-_]constant[-_]value\):"				contained nextgroup=rubyEncoding  skipwhite
syn match   rubyComment	     "#.*" contains=@rubyCommentSpecial,rubySpaceError,@Spell

syn cluster rubyCommentSpecial contains=rubySharpBang,rubyTodo,rubyMagicComment
syn cluster rubyCommentNotTop  contains=@rubyCommentSpecial,rubyEncoding

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

" {{{1 Useless Line Continuations
syn match rubyUselessLineContinuation "\%([.:,;{([<>~\*%&^|+=-]\|%(\%(\w\|[^\x00-\x7F]\)\@1<![?!]\)\s*\zs\\$" nextgroup=rubyUselessLineContinuation skipwhite skipempty
syn match rubyUselessLineContinuation "\\$"								      nextgroup=rubyUselessLineContinuation skipwhite skipempty contained

" Keyword Nobbling {{{1
" prevent methods with keyword names being highlighted as keywords when called
syn match rubyKeywordAsMethod "\%(\%(\.\@1<!\.\)\|&\.\|::\)\_s*\%([_[:lower:]][_[:alnum:]]*\|\%(BEGIN\|END\)\>\)" transparent contains=rubyDotOperator,rubyScopeOperator

" Bang and Predicate Methods and Operators {{{1
syn match rubyBangPredicateMethod "\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[?!]"

if !exists("ruby_no_special_methods")
  syn match rubyControl "\%#=1\<exit!" display
endif
syn match rubyDefinedOperator "\%#=1\<defined?" display

" 1.9-style Hash Keys and Keyword Parameters {{{1
syn match rubySymbol "\%(\w\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[?!]\=::\@!"he=e-1 contained containedin=rubyBlockParameterList,rubyCurlyBlock
syn match rubySymbol "[]})\"':]\@1<!\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="he=e-1
syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],;]\@="hs=s+1,he=e-1
syn match rubySingleQuoteSymbolDelimiter "'" contained
syn match rubySymbol "'\%(\\.\|[^']\)*'::\@!"he=e-1 contains=rubyQuoteEscape,rubyBackslashEscape,rubySingleQuoteSymbolDelimiter
syn match rubyDoubleQuoteSymbolDelimiter "\"" contained
syn match rubySymbol "\"\%(\\.\|[^\"]\)*\"::\@!"he=e-1 contains=@rubyStringSpecial,rubyDoubleQuoteSymbolDelimiter

" __END__ Directive {{{1
SynFold '__END__' syn region rubyData matchgroup=rubyDataDirective start="^__END__$" end="\%$"

" Default Highlighting {{{1
hi def link rubyClass			rubyDefine
hi def link rubyModule			rubyDefine
hi def link rubyExceptionHandler2	rubyDefine
hi def link rubyDefine			Define
hi def link rubyAccess			rubyMacro
hi def link rubyAttribute		rubyMacro
hi def link rubyMacro			Macro
hi def link rubyMethodName		rubyFunction
hi def link rubyFunction		Function
hi def link rubyConditional		Conditional
hi def link rubyConditionalModifier	rubyConditional
hi def link rubyExceptionHandler	rubyConditional
hi def link rubyRescueModifier		rubyExceptionHandler
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 rubyCharacter		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 rubyClassName		rubyConstant
hi def link rubyModuleName		rubyConstant
hi def link rubyGlobalVariable		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 rubyDefinedOperator		rubyOperator
hi def link rubyEnglishBooleanOperator	rubyOperator
if exists("ruby_operators")
  hi def link rubyTernaryOperator	rubyOperator
  hi def link rubyArithmeticOperator	rubyOperator
  hi def link rubyComparisonOperator	rubyOperator
  hi def link rubyBitwiseOperator	rubyOperator
  hi def link rubyBooleanOperator	rubyOperator
  hi def link rubyRangeOperator		rubyOperator
  hi def link rubyAssignmentOperator	rubyOperator
  hi def link rubyEqualityOperator	rubyOperator
endif

if exists("ruby_pseudo_operators")
  hi def link rubyPseudoOperator	Special
  hi def link rubyDotOperator		rubyPseudoOperator
  hi def link rubyScopeOperator		rubyPseudoOperator
  hi def link rubySuperClassOperator	rubyPseudoOperator
  hi def link rubyEigenClassOperator	rubyPseudoOperator
  hi def link rubyLambdaOperator	rubyPseudoOperator
  hi def link rubyDoubleSplatOperator	rubyPseudoOperator
  hi def link rubySplatOperator		rubyPseudoOperator
  hi def link rubyProcOperator		rubyPseudoOperator
endif

hi def link rubyBeginEnd		Statement
hi def link rubyEval			Statement
hi def link rubyPseudoVariable		Constant
hi def link rubyCapitalizedMethod	NONE

hi def link rubyComment			Comment
hi def link rubyEncoding		Constant
hi def link rubyMagicComment		SpecialComment
hi def link rubyData			Comment
hi def link rubyDataDirective		Delimiter
hi def link rubyDocumentation		Comment
hi def link rubyTodo			Todo

hi def link rubyBackslashEscape		rubyStringEscape
hi def link rubyQuoteEscape		rubyStringEscape
hi def link rubySpaceEscape		rubyStringEscape
hi def link rubyParenthesisEscape	rubyStringEscape
hi def link rubyCurlyBraceEscape	rubyStringEscape
hi def link rubyAngleBracketEscape	rubyStringEscape
hi def link rubySquareBracketEscape	rubyStringEscape
hi def link rubyStringEscape		Special

hi def link rubyInterpolationDelimiter	Delimiter
hi def link rubySharpBang		PreProc
hi def link rubyStringDelimiter		Delimiter
hi def link rubyHeredocDelimiter	rubyStringDelimiter
hi def link rubyPercentRegexpDelimiter	rubyRegexpDelimiter
hi def link rubyPercentStringDelimiter	rubyStringDelimiter
hi def link rubyPercentSymbolDelimiter	rubySymbolDelimiter
hi def link rubyDoubleQuoteSymbolDelimiter rubySymbolDelimiter
hi def link rubySingleQuoteSymbolDelimiter rubySymbolDelimiter
hi def link rubyRegexpDelimiter		rubyStringDelimiter
hi def link rubySymbolDelimiter		rubySymbol
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 rubyRegexpIntersection	rubyRegexpSpecial
hi def link rubyRegexpSpecial		Special
hi def link rubyRegexpComment		Comment
hi def link rubyRegexp			rubyString

hi def link rubyError			Error
if exists("ruby_line_continuation_error")
  hi def link rubyUselessLineContinuation rubyError
endif
hi def link rubyGlobalVariableError	rubyError
hi def link rubySpaceError		rubyError

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

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

delc SynFold

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

Filemanager

Name Type Size Permission Actions
modula2 Folder 0755
shared Folder 0755
2html.vim File 77.09 KB 0644
8th.vim File 40.42 KB 0644
a2ps.vim File 2.37 KB 0644
a65.vim File 6.24 KB 0644
aap.vim File 5.63 KB 0644
abap.vim File 8.94 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.75 KB 0644
aflex.vim File 4.27 KB 0644
ahdl.vim File 2.71 KB 0644
aidl.vim File 629 B 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 15.11 KB 0644
apachestyle.vim File 1.38 KB 0644
aptconf.vim File 21.92 KB 0644
arch.vim File 1.12 KB 0644
arduino.vim File 3.88 KB 0644
art.vim File 1.27 KB 0644
asciidoc.vim File 10.88 KB 0644
asm.vim File 5.9 KB 0644
asm68k.vim File 13.95 KB 0644
asmh8300.vim File 1.68 KB 0644
asn.vim File 2.52 KB 0644
aspperl.vim File 811 B 0644
aspvbs.vim File 8.88 KB 0644
asterisk.vim File 5.5 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.79 KB 0644
autoit.vim File 46.92 KB 0644
automake.vim File 3.84 KB 0644
ave.vim File 1.86 KB 0644
avra.vim File 2.62 KB 0644
awk.vim File 8 KB 0644
ayacc.vim File 2.52 KB 0644
b.vim File 4.79 KB 0644
baan.vim File 71.87 KB 0644
bash.vim File 411 B 0644
basic.vim File 9.19 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.82 KB 0644
bitbake.vim File 5.79 KB 0644
blank.vim File 794 B 0644
bsdl.vim File 377 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 27.51 KB 0644
cabal.vim File 7.6 KB 0644
cabalconfig.vim File 1.15 KB 0644
cabalproject.vim File 944 B 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
chatito.vim File 1.81 KB 0644
cheetah.vim File 1.71 KB 0644
chicken.vim File 3.18 KB 0644
chill.vim File 7.84 KB 0644
chordpro.vim File 6.36 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 46.58 KB 0644
cmake.vim File 161.33 KB 0644
cmod.vim File 6.12 KB 0644
cmusrc.vim File 12.62 KB 0644
cobol.vim File 13.27 KB 0644
coco.vim File 1.3 KB 0644
colortest.vim File 3.19 KB 0644
conaryrecipe.vim File 7.85 KB 0644
conf.vim File 879 B 0644
config.vim File 2.03 KB 0644
confini.vim File 230 B 0644
context.vim File 6.25 KB 0644
cpp.vim File 5.86 KB 0644
crm.vim File 1.17 KB 0644
crontab.vim File 2.2 KB 0644
cs.vim File 14.14 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 33.07 KB 0644
cterm.vim File 6.26 KB 0644
ctrlh.vim File 754 B 0644
cucumber.vim File 51.37 KB 0644
cuda.vim File 2.63 KB 0644
cupl.vim File 3.78 KB 0644
cuplsim.vim File 1.87 KB 0644
cvs.vim File 882 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
dart.vim File 3.21 KB 0644
datascript.vim File 3.72 KB 0644
dcd.vim File 1.76 KB 0644
dcl.vim File 6.23 KB 0644
deb822sources.vim File 3.16 KB 0644
debchangelog.vim File 2.78 KB 0644
debcontrol.vim File 8.58 KB 0644
debcopyright.vim File 1.11 KB 0644
debsources.vim File 1.93 KB 0644
def.vim File 1.07 KB 0644
denyhosts.vim File 7.19 KB 0644
dep3patch.vim File 2.93 KB 0644
desc.vim File 3 KB 0644
desktop.vim File 9.16 KB 0644
dictconf.vim File 3.04 KB 0644
dictdconf.vim File 6.31 KB 0644
diff.vim File 17.06 KB 0644
dircolors.vim File 6.78 KB 0644
dirpager.vim File 1.75 KB 0644
diva.vim File 4.63 KB 0644
django.vim File 3.92 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 2.42 KB 0644
dosbatch.vim File 6.25 KB 0644
dosini.vim File 1.5 KB 0644
dot.vim File 4.39 KB 0644
doxygen.vim File 38.17 KB 0644
dracula.vim File 2.61 KB 0644
dsl.vim File 1.28 KB 0644
dtd.vim File 4.87 KB 0644
dtml.vim File 16.22 KB 0644
dtrace.vim File 6.29 KB 0644
dts.vim File 5.15 KB 0644
dune.vim File 1.9 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
editorconfig.vim File 613 B 0644
eiffel.vim File 6.76 KB 0644
elf.vim File 2.29 KB 0644
elinks.vim File 10.25 KB 0644
elm.vim File 3.57 KB 0644
elmfilt.vim File 2.83 KB 0644
erlang.vim File 11.13 KB 0644
eruby.vim File 3.06 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 2.93 KB 0644
fgl.vim File 7.1 KB 0644
fish.vim File 9.21 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 16.24 KB 0644
fortran.vim File 33.3 KB 0644
foxpro.vim File 32.09 KB 0644
fpcmake.vim File 2 KB 0644
framescript.vim File 11.41 KB 0644
freebasic.vim File 26 KB 0644
fstab.vim File 29.05 KB 0644
fvwm.vim File 24.44 KB 0644
fvwm2m4.vim File 711 B 0644
gdb.vim File 4.31 KB 0644
gdmo.vim File 3.22 KB 0644
gdresource.vim File 2.24 KB 0644
gdscript.vim File 3.79 KB 0644
gdshader.vim File 1.97 KB 0644
gedcom.vim File 2.22 KB 0644
gemtext.vim File 682 B 0644
gift.vim File 10 KB 0644
git.vim File 7.29 KB 0644
gitattributes.vim File 2.38 KB 0644
gitcommit.vim File 6.46 KB 0644
gitconfig.vim File 1.56 KB 0644
gitignore.vim File 905 B 0644
gitolite.vim File 4.35 KB 0644
gitrebase.vim File 3.13 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.27 KB 0644
go.vim File 24.21 KB 0644
godoc.vim File 352 B 0644
gp.vim File 3.3 KB 0644
gpg.vim File 7.92 KB 0644
gprof.vim File 2.09 KB 0644
grads.vim File 1.7 KB 0644
gretl.vim File 3.64 KB 0644
groff.vim File 321 B 0644
groovy.vim File 21.96 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
gvpr.vim File 3.3 KB 0644
gyp.vim File 1.62 KB 0644
haml.vim File 6.91 KB 0644
hamster.vim File 13.52 KB 0644
hare.vim File 4.19 KB 0644
haskell.vim File 9.08 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.75 KB 0644
help_ru.vim File 3.44 KB 0644
hercules.vim File 5.59 KB 0644
hex.vim File 3.92 KB 0644
hgcommit.vim File 1.38 KB 0644
hitest.vim File 275 B 0644
hlsplaylist.vim File 7.44 KB 0644
hog.vim File 11.83 KB 0644
hollywood.vim File 48.99 KB 0644
hostconf.vim File 3.78 KB 0644
hostsaccess.vim File 549 B 0644
html.vim File 19.04 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
i3config.vim File 21.81 KB 0644
ia64.vim File 10.23 KB 0644
ibasic.vim File 6.87 KB 0644
icemenu.vim File 824 B 0644
icon.vim File 8.72 KB 0644
idl.vim File 19.43 KB 0644
idlang.vim File 13.15 KB 0644
indent.vim File 7.03 KB 0644
inform.vim File 19.03 KB 0644
initex.vim File 18.77 KB 0644
initng.vim File 3.3 KB 0644
inittab.vim File 2.48 KB 0644
ipfilter.vim File 1.62 KB 0644
ishd.vim File 26.42 KB 0644
iss.vim File 4.89 KB 0644
ist.vim File 1.95 KB 0644
j.vim File 9.22 KB 0644
jal.vim File 8.75 KB 0644
jam.vim File 26.08 KB 0644
jargon.vim File 740 B 0644
java.vim File 18.96 KB 0644
javacc.vim File 2.2 KB 0644
javascript.vim File 6.15 KB 0644
javascriptreact.vim File 133 B 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 6.11 KB 0644
json5.vim File 2.5 KB 0644
jsonc.vim File 1.69 KB 0644
jsp.vim File 2.62 KB 0644
julia.vim File 37.02 KB 0644
kconfig.vim File 35.45 KB 0644
kivy.vim File 986 B 0644
kix.vim File 6.18 KB 0644
kotlin.vim File 9.21 KB 0644
krl.vim File 18.01 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
lc.vim File 724 B 0644
ld.vim File 2.88 KB 0644
ldapconf.vim File 12.99 KB 0644
ldif.vim File 1014 B 0644
less.vim File 4.1 KB 0644
lex.vim File 8.45 KB 0644
lftp.vim File 7.3 KB 0644
lhaskell.vim File 4.82 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.31 KB 0644
lisp.vim File 35.18 KB 0644
lite.vim File 4.73 KB 0644
litestep.vim File 6.52 KB 0644
livebook.vim File 154 B 0644
loginaccess.vim File 4.1 KB 0644
logindefs.vim File 7.36 KB 0644
logtalk.vim File 16.67 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.75 KB 0644
lua.vim File 15.64 KB 0644
luau.vim File 252 B 0644
lynx.vim File 7.06 KB 0644
lyrics.vim File 1.14 KB 0644
m3build.vim File 5.64 KB 0644
m3quake.vim File 2.57 KB 0644
m4.vim File 2.66 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.08 KB 0644
mallard.vim File 1.69 KB 0644
man.vim File 1.76 KB 0644
manconf.vim File 4.24 KB 0644
manual.vim File 975 B 0644
maple.vim File 27.9 KB 0644
markdown.vim File 10.34 KB 0644
masm.vim File 27.96 KB 0644
mason.vim File 3.8 KB 0644
master.vim File 1022 B 0644
matlab.vim File 4.21 KB 0644
maxima.vim File 18.36 KB 0644
mel.vim File 3.33 KB 0644
mermaid.vim File 2.8 KB 0644
meson.vim File 3.96 KB 0644
messages.vim File 2.65 KB 0644
mf.vim File 15.56 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.49 KB 0644
modsim3.vim File 3.54 KB 0644
modula2.vim File 383 B 0644
modula3.vim File 4.43 KB 0644
mojo.vim File 12.35 KB 0644
monk.vim File 9.98 KB 0644
moo.vim File 9.02 KB 0644
mp.vim File 12.21 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.14 KB 0644
murphi.vim File 4.47 KB 0644
mush.vim File 12.88 KB 0644
muttrc.vim File 67.86 KB 0644
mysql.vim File 17.2 KB 0644
n1ql.vim File 12.6 KB 0644
named.vim File 9.77 KB 0644
nanorc.vim File 10.37 KB 0644
nasm.vim File 29.64 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 66.12 KB 0644
netrc.vim File 2 KB 0644
netrw.vim File 7.03 KB 0644
nginx.vim File 115.45 KB 0644
ninja.vim File 2.82 KB 0644
nix.vim File 11.55 KB 0644
nosyntax.vim File 821 B 0644
nqc.vim File 13.74 KB 0644
nroff.vim File 7.61 KB 0644
nsis.vim File 36.49 KB 0644
obj.vim File 2.72 KB 0644
objc.vim File 40.79 KB 0644
objcpp.vim File 600 B 0644
obse.vim File 84.45 KB 0644
ocaml.vim File 16.56 KB 0644
occam.vim File 4.21 KB 0644
omnimark.vim File 6.23 KB 0644
opam.vim File 1.37 KB 0644
openroad.vim File 13.65 KB 0644
openscad.vim File 4.82 KB 0644
openvpn.vim File 2.25 KB 0644
opl.vim File 4.03 KB 0644
ora.vim File 26.5 KB 0644
pacmanlog.vim File 1.83 KB 0644
pamconf.vim File 5.81 KB 0644
pamenv.vim File 1.11 KB 0644
papp.vim File 3.7 KB 0644
pascal.vim File 15.61 KB 0644
passwd.vim File 2.39 KB 0644
pbtxt.vim File 1.34 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 44.09 KB 0644
pf.vim File 10.13 KB 0644
pfmain.vim File 90.56 KB 0644
php.vim File 111.88 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 61.42 KB 0644
po.vim File 6.24 KB 0644
pod.vim File 10.6 KB 0644
poefilter.vim File 5.65 KB 0644
poke.vim File 5.07 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 870 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.39 KB 0644
promela.vim File 1.69 KB 0644
proto.vim File 3.46 KB 0644
protocols.vim File 1.4 KB 0644
ps1.vim File 7.33 KB 0644
ps1xml.vim File 1.25 KB 0644
psf.vim File 4.19 KB 0644
psl.vim File 2.47 KB 0644
ptcap.vim File 4.03 KB 0644
purifylog.vim File 3.28 KB 0644
pymanifest.vim File 1.05 KB 0644
pyrex.vim File 1.62 KB 0644
python.vim File 13.61 KB 0644
python2.vim File 14.36 KB 0644
qb64.vim File 7.78 KB 0644
qf.vim File 662 B 0644
qml.vim File 52.41 KB 0644
quake.vim File 8.35 KB 0644
quarto.vim File 742 B 0644
r.vim File 14.62 KB 0644
racc.vim File 5.49 KB 0644
racket.vim File 33.78 KB 0644
radiance.vim File 6.99 KB 0644
raku.vim File 73.89 KB 0644
raml.vim File 4.35 KB 0644
rapid.vim File 45.54 KB 0644
ratpoison.vim File 17.61 KB 0644
rc.vim File 9.79 KB 0644
rcs.vim File 2.08 KB 0644
rcslog.vim File 557 B 0644
readline.vim File 17.08 KB 0644
rebol.vim File 7 KB 0644
redif.vim File 85.88 KB 0644
registry.vim File 3.28 KB 0644
rego.vim File 5.55 KB 0644
remind.vim File 2.65 KB 0644
resolv.vim File 6.21 KB 0644
reva.vim File 7.41 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 10.51 KB 0644
rnc.vim File 2.21 KB 0644
rng.vim File 817 B 0644
rnoweb.vim File 1.87 KB 0644
robots.vim File 1.49 KB 0644
routeros.vim File 3.28 KB 0644
rpcgen.vim File 1.63 KB 0644
rpl.vim File 25.1 KB 0644
rrst.vim File 1.28 KB 0644
rst.vim File 11.5 KB 0644
rtf.vim File 2.28 KB 0644
ruby.vim File 40.92 KB 0644
rust.vim File 22.25 KB 0644
samba.vim File 5.99 KB 0644
sas.vim File 33.29 KB 0644
sass.vim File 6.26 KB 0644
sather.vim File 3.41 KB 0644
sbt.vim File 880 B 0644
scala.vim File 11.41 KB 0644
scdoc.vim File 2.68 KB 0644
scheme.vim File 18.98 KB 0644
scilab.vim File 3.13 KB 0644
screen.vim File 8.89 KB 0644
scss.vim File 526 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 5.27 KB 0644
sendpr.vim File 938 B 0644
sensors.vim File 1.48 KB 0644
services.vim File 1.78 KB 0644
setserial.vim File 5.11 KB 0644
sexplib.vim File 3.6 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 45.2 KB 0644
sicad.vim File 18.04 KB 0644
sieve.vim File 1.63 KB 0644
sil.vim File 8.34 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.25 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
solidity.vim File 21.55 KB 0644
spec.vim File 12.41 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.47 KB 0644
sqr.vim File 12.71 KB 0644
squid.vim File 6.77 KB 0644
squirrel.vim File 1.46 KB 0644
srec.vim File 3.73 KB 0644
srt.vim File 2.09 KB 0644
ssa.vim File 2.15 KB 0644
sshconfig.vim File 12.19 KB 0644
sshdconfig.vim File 13.05 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.85 KB 0644
structurizr.vim File 2.3 KB 0644
sudoers.vim File 23.96 KB 0644
svg.vim File 436 B 0644
svn.vim File 1.81 KB 0644
swayconfig.vim File 12.24 KB 0644
swift.vim File 8.62 KB 0644
swiftgyb.vim File 822 B 0644
swig.vim File 4.41 KB 0644
syncolor.vim File 4.69 KB 0644
synload.vim File 2.06 KB 0644
syntax.vim File 1.34 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.04 KB 0644
tar.vim File 403 B 0644
taskdata.vim File 1.18 KB 0644
taskedit.vim File 1.1 KB 0644
tasm.vim File 5.56 KB 0644
tcl.vim File 16.87 KB 0644
tcsh.vim File 13.36 KB 0644
template.vim File 515 B 0644
teraterm.vim File 4.86 KB 0644
terminfo.vim File 4.69 KB 0644
tex.vim File 65.84 KB 0644
texinfo.vim File 1.55 KB 0644
texmf.vim File 2.23 KB 0644
tf.vim File 6.74 KB 0644
tidy.vim File 13.24 KB 0644
tilde.vim File 1.5 KB 0644
tli.vim File 1.62 KB 0644
tmux.vim File 9.36 KB 0644
toml.vim File 3.02 KB 0644
tpp.vim File 3.34 KB 0644
trasys.vim File 4.92 KB 0644
treetop.vim File 3.58 KB 0644
trustees.vim File 1.54 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 586 B 0644
tt2js.vim File 592 B 0644
typescript.vim File 1.38 KB 0644
typescriptreact.vim File 3.87 KB 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
unison.vim File 5.6 KB 0644
updatedb.vim File 1.19 KB 0644
upstart.vim File 3.08 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
urlshortcut.vim File 348 B 0644
usserverlog.vim File 3.04 KB 0644
usw2kagtlog.vim File 2.64 KB 0644
valgrind.vim File 3.14 KB 0644
vb.vim File 20.63 KB 0644
vdf.vim File 1.37 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.25 KB 0644
vhdl.vim File 9.43 KB 0644
vim.vim File 78.81 KB 0644
viminfo.vim File 1.28 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
vue.vim File 433 B 0644
wat.vim File 4.75 KB 0644
wdiff.vim File 716 B 0644
wdl.vim File 1.61 KB 0644
web.vim File 1.09 KB 0644
webmacro.vim File 3.01 KB 0644
wget.vim File 4.13 KB 0644
wget2.vim File 4.34 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
xcompose.vim File 1.25 KB 0644
xdefaults.vim File 5.75 KB 0644
xf86conf.vim File 14.66 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 9.12 KB 0644
xmodmap.vim File 45.42 KB 0644
xpm.vim File 4.8 KB 0644
xpm2.vim File 4.59 KB 0644
xquery.vim File 7.02 KB 0644
xs.vim File 241.13 KB 0644
xsd.vim File 2.08 KB 0644
xslt.vim File 2.59 KB 0644
xxd.vim File 767 B 0644
yacc.vim File 5.52 KB 0644
yaml.vim File 12.57 KB 0644
z8a.vim File 2.83 KB 0644
zig.vim File 10.77 KB 0644
zimbu.vim File 6.36 KB 0644
zir.vim File 1.57 KB 0644
zserio.vim File 4.29 KB 0644
zsh.vim File 22.96 KB 0644
Filemanager