diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2017-09-28 22:18:09 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2017-09-28 22:18:09 +0200 |
commit | 27903c5b8656c796564ef073c1ebe77a2f0154e1 (patch) | |
tree | 2b0a3a14494d7976fb79a7517706e25d2a95d080 /syntax/scala.vim | |
parent | d5e38fa97bc50a93a66473d6cd7072fbcbadda57 (diff) | |
download | vim-polyglot-3.0.0.tar.gz vim-polyglot-3.0.0.zip |
Revert inlining basic language packv3.0.0
Diffstat (limited to 'syntax/scala.vim')
-rw-r--r-- | syntax/scala.vim | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/syntax/scala.vim b/syntax/scala.vim index 0f41dbc5..5e12b999 100644 --- a/syntax/scala.vim +++ b/syntax/scala.vim @@ -1,239 +1,3 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" Vim syntax file -" Language: Scala -" Maintainer: Derek Wyatt -" URL: https://github.com/derekwyatt/vim-scala -" License: Same as Vim -" Last Change: 20 May 2016 -" ---------------------------------------------------------------------------- - -if !exists('main_syntax') - " quit when a syntax file was already loaded - if exists("b:current_syntax") - finish - endif - let main_syntax = 'scala' -endif - -scriptencoding utf-8 - -let b:current_syntax = "scala" - -" Allows for embedding, see #59; main_syntax convention instead? Refactor TOP -" -" The @Spell here is a weird hack, it means *exclude* if the first group is -" TOP. Otherwise we get spelling errors highlighted on code elements that -" match scalaBlock, even with `syn spell notoplevel`. -function! s:ContainedGroup() - try - silent syn list @scala - return '@scala,@NoSpell' - catch /E392/ - return 'TOP,@Spell' - endtry -endfunction - -unlet! b:current_syntax - -syn case match -syn sync minlines=200 maxlines=1000 - -syn keyword scalaKeyword catch do else final finally for forSome if -syn keyword scalaKeyword match return throw try while yield macro -syn keyword scalaKeyword class trait object extends with nextgroup=scalaInstanceDeclaration skipwhite -syn keyword scalaKeyword case nextgroup=scalaKeyword,scalaCaseFollowing skipwhite -syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skipwhite -syn keyword scalaKeyword def var nextgroup=scalaNameDefinition skipwhite -hi link scalaKeyword Keyword - -exe 'syn region scalaBlock start=/{/ end=/}/ contains=' . s:ContainedGroup() . ' fold' - -syn keyword scalaAkkaSpecialWord when goto using startWith initialize onTransition stay become unbecome -hi link scalaAkkaSpecialWord PreProc - -syn keyword scalatestSpecialWord shouldBe -syn match scalatestShouldDSLA /^\s\+\zsit should/ -syn match scalatestShouldDSLB /\<should\>/ -hi link scalatestSpecialWord PreProc -hi link scalatestShouldDSLA PreProc -hi link scalatestShouldDSLB PreProc - -syn match scalaSymbol /'[_A-Za-z0-9$]\+/ -hi link scalaSymbol Number - -syn match scalaChar /'.'/ -syn match scalaChar /'\\[\\"'ntbrf]'/ contains=scalaEscapedChar -syn match scalaChar /'\\u[A-Fa-f0-9]\{4}'/ contains=scalaUnicodeChar -syn match scalaEscapedChar /\\[\\"'ntbrf]/ -syn match scalaUnicodeChar /\\u[A-Fa-f0-9]\{4}/ -hi link scalaChar Character -hi link scalaEscapedChar Function -hi link scalaUnicodeChar Special - -syn match scalaOperator "||" -syn match scalaOperator "&&" -syn match scalaOperator "|" -syn match scalaOperator "&" -hi link scalaOperator Special - -syn match scalaNameDefinition /\<[_A-Za-z0-9$]\+\>/ contained nextgroup=scalaPostNameDefinition,scalaVariableDeclarationList -syn match scalaNameDefinition /`[^`]\+`/ contained nextgroup=scalaPostNameDefinition -syn match scalaVariableDeclarationList /\s*,\s*/ contained nextgroup=scalaNameDefinition -syn match scalaPostNameDefinition /\_s*:\_s*/ contained nextgroup=scalaTypeDeclaration -hi link scalaNameDefinition Function - -syn match scalaInstanceDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaInstanceHash -syn match scalaInstanceDeclaration /`[^`]\+`/ contained -syn match scalaInstanceHash /#/ contained nextgroup=scalaInstanceDeclaration -hi link scalaInstanceDeclaration Special -hi link scalaInstanceHash Type - -syn match scalaUnimplemented /???/ -hi link scalaUnimplemented ERROR - -syn match scalaCapitalWord /\<[A-Z][A-Za-z0-9$]*\>/ -hi link scalaCapitalWord Special - -" Handle type declarations specially -syn region scalaTypeStatement matchgroup=Keyword start=/\<type\_s\+\ze/ end=/$/ contains=scalaTypeTypeDeclaration,scalaSquareBrackets,scalaTypeTypeEquals,scalaTypeStatement - -" Ugh... duplication of all the scalaType* stuff to handle special highlighting -" of `type X =` declarations -syn match scalaTypeTypeDeclaration /(/ contained nextgroup=scalaTypeTypeExtension,scalaTypeTypeEquals contains=scalaRoundBrackets skipwhite -syn match scalaTypeTypeDeclaration /\%(⇒\|=>\)\ze/ contained nextgroup=scalaTypeTypeDeclaration contains=scalaTypeTypeExtension skipwhite -syn match scalaTypeTypeDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeTypeExtension,scalaTypeTypeEquals skipwhite -syn match scalaTypeTypeEquals /=\ze[^>]/ contained nextgroup=scalaTypeTypePostDeclaration skipwhite -syn match scalaTypeTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\|#\)/ contained nextgroup=scalaTypeTypeDeclaration skipwhite -syn match scalaTypeTypePostDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeTypePostExtension skipwhite -syn match scalaTypeTypePostExtension /\%(⇒\|=>\|<:\|:>\|=:=\|::\)/ contained nextgroup=scalaTypeTypePostDeclaration skipwhite -hi link scalaTypeTypeDeclaration Type -hi link scalaTypeTypeExtension Keyword -hi link scalaTypeTypePostDeclaration Special -hi link scalaTypeTypePostExtension Keyword - -syn match scalaTypeDeclaration /(/ contained nextgroup=scalaTypeExtension contains=scalaRoundBrackets skipwhite -syn match scalaTypeDeclaration /\%(⇒\|=>\)\ze/ contained nextgroup=scalaTypeDeclaration contains=scalaTypeExtension skipwhite -syn match scalaTypeDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeExtension skipwhite -syn match scalaTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\|#\)/ contained nextgroup=scalaTypeDeclaration skipwhite -hi link scalaTypeDeclaration Type -hi link scalaTypeExtension Keyword -hi link scalaTypePostExtension Keyword - -syn match scalaTypeAnnotation /\%([_a-zA-Z0-9$\s]:\_s*\)\ze[_=(\.A-Za-z0-9$]\+/ skipwhite nextgroup=scalaTypeDeclaration contains=scalaRoundBrackets -syn match scalaTypeAnnotation /)\_s*:\_s*\ze[_=(\.A-Za-z0-9$]\+/ skipwhite nextgroup=scalaTypeDeclaration -hi link scalaTypeAnnotation Normal - -syn match scalaCaseFollowing /\<[_\.A-Za-z0-9$]\+\>/ contained -syn match scalaCaseFollowing /`[^`]\+`/ contained -hi link scalaCaseFollowing Special - -syn keyword scalaKeywordModifier abstract override final lazy implicit implicitly private protected sealed null require super -hi link scalaKeywordModifier Function - -syn keyword scalaSpecial this true false ne eq -syn keyword scalaSpecial new nextgroup=scalaInstanceDeclaration skipwhite -syn match scalaSpecial "\%(=>\|⇒\|<-\|←\|->\|→\)" -syn match scalaSpecial /`[^`]\+`/ " Backtick literals -hi link scalaSpecial PreProc - -syn keyword scalaExternal package import -hi link scalaExternal Include - -syn match scalaStringEmbeddedQuote /\\"/ contained -syn region scalaString start=/"/ end=/"/ contains=scalaStringEmbeddedQuote,scalaEscapedChar,scalaUnicodeChar -hi link scalaString String -hi link scalaStringEmbeddedQuote String - -syn region scalaIString matchgroup=scalaInterpolationBrackets start=/\<[a-zA-Z][a-zA-Z0-9_]*"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaInterpolationB,scalaEscapedChar,scalaUnicodeChar -syn region scalaTripleIString matchgroup=scalaInterpolationBrackets start=/\<[a-zA-Z][a-zA-Z0-9_]*"""/ end=/"""\ze\%([^"]\|$\)/ contains=scalaInterpolation,scalaInterpolationB,scalaEscapedChar,scalaUnicodeChar -hi link scalaIString String -hi link scalaTripleIString String - -syn match scalaInterpolation /\$[a-zA-Z0-9_$]\+/ contained -exe 'syn region scalaInterpolationB matchgroup=scalaInterpolationBoundary start=/\${/ end=/}/ contained contains=' . s:ContainedGroup() -hi link scalaInterpolation Function -hi link scalaInterpolationB Normal - -syn region scalaFString matchgroup=scalaInterpolationBrackets start=/f"/ skip=/\\"/ end=/"/ contains=scalaFInterpolation,scalaFInterpolationB,scalaEscapedChar,scalaUnicodeChar -syn match scalaFInterpolation /\$[a-zA-Z0-9_$]\+\(%[-A-Za-z0-9\.]\+\)\?/ contained -exe 'syn region scalaFInterpolationB matchgroup=scalaInterpolationBoundary start=/${/ end=/}\(%[-A-Za-z0-9\.]\+\)\?/ contained contains=' . s:ContainedGroup() -hi link scalaFString String -hi link scalaFInterpolation Function -hi link scalaFInterpolationB Normal - -syn region scalaTripleString start=/"""/ end=/"""\%([^"]\|$\)/ contains=scalaEscapedChar,scalaUnicodeChar -syn region scalaTripleFString matchgroup=scalaInterpolationBrackets start=/f"""/ end=/"""\%([^"]\|$\)/ contains=scalaFInterpolation,scalaFInterpolationB,scalaEscapedChar,scalaUnicodeChar -hi link scalaTripleString String -hi link scalaTripleFString String - -hi link scalaInterpolationBrackets Special -hi link scalaInterpolationBoundary Function - -syn match scalaNumber /\<0[dDfFlL]\?\>/ " Just a bare 0 -syn match scalaNumber /\<[1-9]\d*[dDfFlL]\?\>/ " A multi-digit number - octal numbers with leading 0's are deprecated in Scala -syn match scalaNumber /\<0[xX][0-9a-fA-F]\+[dDfFlL]\?\>/ " Hex number -syn match scalaNumber /\%(\<\d\+\.\d*\|\.\d\+\)\%([eE][-+]\=\d\+\)\=[fFdD]\=/ " exponential notation 1 -syn match scalaNumber /\<\d\+[eE][-+]\=\d\+[fFdD]\=\>/ " exponential notation 2 -syn match scalaNumber /\<\d\+\%([eE][-+]\=\d\+\)\=[fFdD]\>/ " exponential notation 3 -hi link scalaNumber Number - -syn region scalaRoundBrackets start="(" end=")" skipwhite contained contains=scalaTypeDeclaration,scalaSquareBrackets,scalaRoundBrackets - -syn region scalaSquareBrackets matchgroup=scalaSquareBracketsBrackets start="\[" end="\]" skipwhite nextgroup=scalaTypeExtension contains=scalaTypeDeclaration,scalaSquareBrackets,scalaTypeOperator,scalaTypeAnnotationParameter -syn match scalaTypeOperator /[-+=:<>]\+/ contained -syn match scalaTypeAnnotationParameter /@\<[`_A-Za-z0-9$]\+\>/ contained -hi link scalaSquareBracketsBrackets Type -hi link scalaTypeOperator Keyword -hi link scalaTypeAnnotationParameter Function - -syn match scalaShebang "\%^#!.*" display -syn region scalaMultilineComment start="/\*" end="\*/" contains=scalaMultilineComment,scalaDocLinks,scalaParameterAnnotation,scalaCommentAnnotation,scalaTodo,scalaCommentCodeBlock,@Spell keepend fold -syn match scalaCommentAnnotation "@[_A-Za-z0-9$]\+" contained -syn match scalaParameterAnnotation "\%(@tparam\|@param\|@see\)" nextgroup=scalaParamAnnotationValue skipwhite contained -syn match scalaParamAnnotationValue /[.`_A-Za-z0-9$]\+/ contained -syn region scalaDocLinks start="\[\[" end="\]\]" contained -syn region scalaCommentCodeBlock matchgroup=Keyword start="{{{" end="}}}" contained -syn match scalaTodo "\vTODO|FIXME|XXX" contained -hi link scalaShebang Comment -hi link scalaMultilineComment Comment -hi link scalaDocLinks Function -hi link scalaParameterAnnotation Function -hi link scalaParamAnnotationValue Keyword -hi link scalaCommentAnnotation Function -hi link scalaCommentCodeBlockBrackets String -hi link scalaCommentCodeBlock String -hi link scalaTodo Todo - -syn match scalaAnnotation /@\<[`_A-Za-z0-9$]\+\>/ -hi link scalaAnnotation PreProc - -syn match scalaTrailingComment "//.*$" contains=scalaTodo,@Spell -hi link scalaTrailingComment Comment - -syn match scalaAkkaFSM /goto([^)]*)\_s\+\<using\>/ contains=scalaAkkaFSMGotoUsing -syn match scalaAkkaFSM /stay\_s\+using/ -syn match scalaAkkaFSM /^\s*stay\s*$/ -syn match scalaAkkaFSM /when\ze([^)]*)/ -syn match scalaAkkaFSM /startWith\ze([^)]*)/ -syn match scalaAkkaFSM /initialize\ze()/ -syn match scalaAkkaFSM /onTransition/ -syn match scalaAkkaFSM /onTermination/ -syn match scalaAkkaFSM /whenUnhandled/ -syn match scalaAkkaFSMGotoUsing /\<using\>/ -syn match scalaAkkaFSMGotoUsing /\<goto\>/ -hi link scalaAkkaFSM PreProc -hi link scalaAkkaFSMGotoUsing PreProc - -let b:current_syntax = 'scala' - -if main_syntax ==# 'scala' - unlet main_syntax -endif - -" vim:set sw=2 sts=2 ts=8 et: - -endif if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'scala') == -1 " Vim syntax file |