diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2013-11-02 23:27:57 +0100 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2013-11-02 23:27:57 +0100 |
commit | 30c1920e4fa4e612238e1f435907c40ecfa47f33 (patch) | |
tree | f88ffb408895a5baf93fe81fdd12acba17f32d44 /syntax | |
parent | 57cfac7ae384466c3ff2543a9200319dc1d459a0 (diff) | |
download | vim-polyglot-1.4.1.tar.gz vim-polyglot-1.4.1.zip |
Massive update :)v1.4.1
Diffstat (limited to 'syntax')
-rw-r--r-- | syntax/clojure.vim | 2 | ||||
-rwxr-xr-x | syntax/coffee.vim | 18 | ||||
-rw-r--r-- | syntax/godoc.vim | 2 | ||||
-rw-r--r-- | syntax/mason.vim | 105 | ||||
-rw-r--r-- | syntax/perl.vim | 7 | ||||
-rw-r--r-- | syntax/rust.vim | 52 | ||||
-rw-r--r-- | syntax/sbt.vim | 4 |
7 files changed, 144 insertions, 46 deletions
diff --git a/syntax/clojure.vim b/syntax/clojure.vim index 873f3e5f..6bdff4f0 100644 --- a/syntax/clojure.vim +++ b/syntax/clojure.vim @@ -38,7 +38,7 @@ syntax match clojureKeyword "\v<:{1,2}%([^ \n\r\t()\[\]{}";@^`~\\%/]+/)*[^ \n\r\ syntax match clojureStringEscape "\v\\%([\\btnfr"]|u\x{4}|[0-3]\o{2}|\o{1,2})" contained -syntax region clojureString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=clojureStringEscape +syntax region clojureString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=clojureStringEscape,@Spell syntax match clojureCharacter "\\." syntax match clojureCharacter "\\o\%([0-3]\o\{2\}\|\o\{1,2\}\)" diff --git a/syntax/coffee.vim b/syntax/coffee.vim index eea50840..7f8df73c 100755 --- a/syntax/coffee.vim +++ b/syntax/coffee.vim @@ -15,9 +15,6 @@ silent! unlet b:current_syntax " Highlight long strings. syntax sync fromstart -" CoffeeScript identifiers can have dollar signs. -setlocal isident+=$ - " These are `matches` instead of `keywords` because vim's highlighting " priority for keywords is higher than matches. This causes keywords to be " highlighted inside matches, even if a match says it shouldn't contain them -- @@ -67,7 +64,7 @@ syn match coffeeSpecialVar /\<\%(this\|prototype\|arguments\)\>/ display hi def link coffeeSpecialVar Special " An @-variable -syn match coffeeSpecialIdent /@\%(\I\i*\)\?/ display +syn match coffeeSpecialIdent /@\%(\%(\I\|\$\)\%(\i\|\$\)*\)\?/ display hi def link coffeeSpecialIdent Identifier " A class-like name that starts with a capital letter @@ -95,15 +92,16 @@ syn region coffeeString start=/'/ skip=/\\\\\|\\'/ end=/'/ hi def link coffeeString String " A integer, including a leading plus or minus -syn match coffeeNumber /\i\@<![-+]\?\d\+\%([eE][+-]\?\d\+\)\?/ display +syn match coffeeNumber /\%(\i\|\$\)\@<![-+]\?\d\+\%([eE][+-]\?\d\+\)\?/ display " A hex, binary, or octal number syn match coffeeNumber /\<0[xX]\x\+\>/ display syn match coffeeNumber /\<0[bB][01]\+\>/ display syn match coffeeNumber /\<0[oO][0-7]\+\>/ display +syn match coffeeNumber /\<\%(Infinity\|NaN\)\>/ display hi def link coffeeNumber Number " A floating-point number, including a leading plus or minus -syn match coffeeFloat /\i\@<![-+]\?\d*\.\@<!\.\d\+\%([eE][+-]\?\d\+\)\?/ +syn match coffeeFloat /\%(\i\|\$\)\@<![-+]\?\d*\.\@<!\.\d\+\%([eE][+-]\?\d\+\)\?/ \ display hi def link coffeeFloat Float @@ -114,7 +112,7 @@ syn match coffeeReservedError /\<\%(case\|default\|function\|var\|void\|with\|co hi def link coffeeReservedError Error " A normal object assignment -syn match coffeeObjAssign /@\?\I\i*\s*\ze::\@!/ contains=@coffeeIdentifier display +syn match coffeeObjAssign /@\?\%(\I\|\$\)\%(\i\|\$\)*\s*\ze::\@!/ contains=@coffeeIdentifier display hi def link coffeeObjAssign Identifier syn keyword coffeeTodo TODO FIXME XXX contained @@ -148,7 +146,7 @@ hi def link coffeeEscape SpecialChar " A regex -- must not follow a parenthesis, number, or identifier, and must not " be followed by a number -syn region coffeeRegex start=#\%(\%()\|\i\@<!\d\)\s*\|\i\)\@<!/=\@!\s\@!# +syn region coffeeRegex start=#\%(\%()\|\%(\i\|\$\)\@<!\d\)\s*\|\i\)\@<!/=\@!\s\@!# \ end=#/[gimy]\{,4}\d\@!# \ oneline contains=@coffeeBasicString,coffeeRegexCharSet syn region coffeeRegexCharSet start=/\[/ end=/]/ contained @@ -182,11 +180,11 @@ syn match coffeeSemicolonError /;$/ display hi def link coffeeSemicolonError Error " Ignore reserved words in dot accesses. -syn match coffeeDotAccess /\.\@<!\.\s*\I\i*/he=s+1 contains=@coffeeIdentifier +syn match coffeeDotAccess /\.\@<!\.\s*\%(\I\|\$\)\%(\i\|\$\)*/he=s+1 contains=@coffeeIdentifier hi def link coffeeDotAccess coffeeExtendedOp " Ignore reserved words in prototype accesses. -syn match coffeeProtoAccess /::\s*\I\i*/he=s+2 contains=@coffeeIdentifier +syn match coffeeProtoAccess /::\s*\%(\I\|\$\)\%(\i\|\$\)*/he=s+2 contains=@coffeeIdentifier hi def link coffeeProtoAccess coffeeExtendedOp " This is required for interpolations to work. diff --git a/syntax/godoc.vim b/syntax/godoc.vim index 82f78aa3..bd4443f7 100644 --- a/syntax/godoc.vim +++ b/syntax/godoc.vim @@ -7,7 +7,7 @@ if exists("b:current_syntax") endif syn case match -syn match godocTitle "^\([A-Z]*\)$" +syn match godocTitle "^\([A-Z][A-Z ]*\)$" command -nargs=+ HiLink hi def link <args> diff --git a/syntax/mason.vim b/syntax/mason.vim new file mode 100644 index 00000000..71a1e37e --- /dev/null +++ b/syntax/mason.vim @@ -0,0 +1,105 @@ +" Vim syntax file +" Language: Mason (Perl embedded in HTML) +" Maintainer: vim-perl <vim-perl@googlegroups.com> +" Homepage: http://github.com/vim-perl/vim-perl/tree/master +" Bugs/requests: http://github.com/vim-perl/vim-perl/issues +" Last Change: {{LAST_CHANGE}} +" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com> +" Andrew Smith <andrewdsmith@yahoo.com> +" +" TODO: +" - Fix <%text> blocks to show HTML tags but ignore Mason tags. +" + +" Clear previous syntax settings unless this is v6 or above, in which case just +" exit without doing anything. +" +if version < 600 + syn clear +elseif exists("b:current_syntax") + finish +endif + +" The HTML syntax file included below uses this variable. +" +if !exists("main_syntax") + let main_syntax = 'mason' +endif + +" First pull in the HTML syntax. +" +if version < 600 + so <sfile>:p:h/html.vim +else + runtime! syntax/html.vim + unlet b:current_syntax +endif + +syn cluster htmlPreproc add=@masonTop + +" Now pull in the Perl syntax. +" +if version < 600 + syn include @perlTop <sfile>:p:h/perl.vim + unlet b:current_syntax + syn include @podTop <sfile>:p:h/pod.vim +else + syn include @perlTop syntax/perl.vim + unlet b:current_syntax + syn include @podTop syntax/pod.vim +endif + +" It's hard to reduce down to the correct sub-set of Perl to highlight in some +" of these cases so I've taken the safe option of just using perlTop in all of +" them. If you have any suggestions, please let me know. +" +syn region masonPod start="^=[a-z]" end="^=cut" keepend contained contains=@podTop +syn region masonPerlBraces start="{" end="}" contained +syn region masonLine matchgroup=Delimiter start="^%" end="$" keepend contains=@perlTop,masonPerlBraces +syn region masonExpr matchgroup=Delimiter start="<%" end="%>" contains=@perlTop +syn region masonPerl matchgroup=Delimiter start="<%perl>" end="</%perl>" contains=masonPod,@perlTop +syn region masonComp keepend matchgroup=Delimiter start="<&\s*\%(\a\+:\)\?[._/[:alnum:]]*" end="&>" contains=@perlTop + +syn region masonArgs matchgroup=Delimiter start="<%args>" end="</%args>" contains=masonPod,@perlTop + +syn region masonInit matchgroup=Delimiter start="<%init>" end="</%init>" contains=masonPod,@perlTop +syn region masonCleanup matchgroup=Delimiter start="<%cleanup>" end="</%cleanup>" contains=masonPod,@perlTop +syn region masonOnce matchgroup=Delimiter start="<%once>" end="</%once>" contains=masonPod,@perlTop +syn region masonClass matchgroup=Delimiter start="<%class>" end="</%class>" contains=masonPod,@perlTop +syn region masonShared matchgroup=Delimiter start="<%shared>" end="</%shared>" contains=masonPod,@perlTop + +syn region masonDef matchgroup=Delimiter start="<%def\s*[._/[:alnum:]]\+\s*>" end="</%def>" contains=@htmlTop +syn region masonMethod matchgroup=Delimiter start="<%method\s*[._/[:alnum:]]\+\s*>" end="</%method>" contains=@htmlTop + +syn region masonFlags matchgroup=Delimiter start="<%flags>" end="</%flags>" contains=masonPod,@perlTop +syn region masonAttr matchgroup=Delimiter start="<%attr>" end="</%attr>" contains=masonPod,@perlTop + +syn region masonFilter matchgroup=Delimiter start="<%filter>" end="</%filter>" contains=masonPod,@perlTop + +syn region masonDoc matchgroup=Delimiter start="<%doc>" end="</%doc>" +syn region masonText matchgroup=Delimiter start="<%text>" end="</%text>" + +syn cluster masonTop contains=masonLine,masonExpr,masonPerl,masonComp,masonArgs,masonInit,masonCleanup,masonOnce,masonShared,masonDef,masonMethod,masonFlags,masonAttr,masonFilter,masonDoc,masonText + +" Set up default highlighting. Almost all of this is done in the included +" syntax files. +" +if version >= 508 || !exists("did_mason_syn_inits") + if version < 508 + let did_mason_syn_inits = 1 + com -nargs=+ HiLink hi link <args> + else + com -nargs=+ HiLink hi def link <args> + endif + + HiLink masonDoc Comment + HiLink masonPod Comment + + delc HiLink +endif + +let b:current_syntax = "mason" + +if main_syntax == 'mason' + unlet main_syntax +endif diff --git a/syntax/perl.vim b/syntax/perl.vim index bb19a41f..fc8f4472 100644 --- a/syntax/perl.vim +++ b/syntax/perl.vim @@ -371,13 +371,6 @@ syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgr syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName -if !exists("perl_no_scope_in_variables") - syn match perlFunctionPRef "\h\w*::" contained - syn match perlFunctionName "\h\w*[^:]" contained -else - syn match perlFunctionName "\h[[:alnum:]_:]*" contained -endif - " The => operator forces a bareword to the left of it to be interpreted as " a string syn match perlString "\I\@<!-\?\I\i*\%(\s*=>\)\@=" diff --git a/syntax/rust.vim b/syntax/rust.vim index 7d51c3b8..a0a23928 100644 --- a/syntax/rust.vim +++ b/syntax/rust.vim @@ -3,7 +3,7 @@ " Maintainer: Patrick Walton <pcwalton@mozilla.com> " Maintainer: Ben Blum <bblum@cs.cmu.edu> " Maintainer: Chris Morgan <me@chrismorgan.info> -" Last Change: 2013 Sep 4 +" Last Change: 2013 Oct 29 if version < 600 syntax clear @@ -61,48 +61,48 @@ syn keyword rustEnumVariant Ok Err " Functions {{{3 "syn keyword rustFunction print println "syn keyword rustFunction range +"syn keyword rustFunction from_str " Types and traits {{{3 +syn keyword rustTrait Any AnyOwnExt AnyRefExt AnyMutRefExt +syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr ToBytesConsume +syn keyword rustTrait Bool syn keyword rustTrait ToCStr +syn keyword rustTrait Char syn keyword rustTrait Clone DeepClone syn keyword rustTrait Eq ApproxEq Ord TotalEq TotalOrd Ordering Equiv syn keyword rustEnumVariant Less Equal Greater -syn keyword rustTrait Char syn keyword rustTrait Container Mutable Map MutableMap Set MutableSet +syn keyword rustTrait Default syn keyword rustTrait Hash -syn keyword rustTrait Times +syn keyword rustTrait FromStr syn keyword rustTrait FromIterator Extendable syn keyword rustTrait Iterator DoubleEndedIterator RandomAccessIterator ClonableIterator syn keyword rustTrait OrdIterator MutableDoubleEndedIterator ExactSize -syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul -syn keyword rustTrait Orderable Signed Unsigned Round +syn keyword rustTrait Times + syn keyword rustTrait Algebraic Trigonometric Exponential Hyperbolic -syn keyword rustTrait Integer Fractional Real RealExt syn keyword rustTrait Bitwise BitCount Bounded -syn keyword rustTrait Primitive Int Float ToStrRadix -syn keyword rustTrait GenericPath -syn keyword rustTrait Path -syn keyword rustTrait PosixPath -syn keyword rustTrait WindowsPath +syn keyword rustTrait Integer Fractional Real RealExt +syn keyword rustTrait Num NumCast CheckedAdd CheckedSub CheckedMul +syn keyword rustTrait Orderable Signed Unsigned Round +syn keyword rustTrait Primitive Int Float ToStrRadix ToPrimitive FromPrimitive +syn keyword rustTrait GenericPath Path PosixPath WindowsPath syn keyword rustTrait RawPtr -syn keyword rustTrait Ascii AsciiCast OwnedAsciiCast AsciiStr ToBytesConsume +syn keyword rustTrait SendStr SendStrOwned SendStrStatic IntoSendStr syn keyword rustTrait Str StrVector StrSlice OwnedStr -syn keyword rustTrait FromStr syn keyword rustTrait IterBytes syn keyword rustTrait ToStr ToStrConsume syn keyword rustTrait CopyableTuple ImmutableTuple -syn keyword rustTrait CloneableTuple1 ImmutableTuple1 -syn keyword rustTrait CloneableTuple2 CloneableTuple3 CloneableTuple4 CloneableTuple5 -syn keyword rustTrait CloneableTuple6 CloneableTuple7 CloneableTuple8 CloneableTuple9 -syn keyword rustTrait CloneableTuple10 CloneableTuple11 CloneableTuple12 -syn keyword rustTrait ImmutableTuple2 ImmutableTuple3 ImmutableTuple4 ImmutableTuple5 -syn keyword rustTrait ImmutableTuple6 ImmutableTuple7 ImmutableTuple8 ImmutableTuple9 -syn keyword rustTrait ImmutableTuple10 ImmutableTuple11 ImmutableTuple12 -syn keyword rustTrait Vector VectorVector CopyableVector ImmutableVector +syn keyword rustTrait Tuple1 Tuple2 Tuple3 Tuple4 +syn keyword rustTrait Tuple5 Tuple6 Tuple7 Tuple8 +syn keyword rustTrait Tuple9 Tuple10 Tuple11 Tuple12 +syn keyword rustTrait ImmutableTuple1 ImmutableTuple2 ImmutableTuple3 ImmutableTuple4 +syn keyword rustTrait ImmutableTuple5 ImmutableTuple6 ImmutableTuple7 ImmutableTuple8 +syn keyword rustTrait ImmutableTuple9 ImmutableTuple10 ImmutableTuple11 ImmutableTuple12 syn keyword rustTrait ImmutableEqVector ImmutableTotalOrdVector ImmutableCopyableVector syn keyword rustTrait OwnedVector OwnedCopyableVector OwnedEqVector MutableVector -syn keyword rustTrait Reader ReaderUtil Writer WriterUtil -syn keyword rustTrait Default +syn keyword rustTrait Vector VectorVector CopyableVector ImmutableVector "syn keyword rustFunction stream syn keyword rustTrait Port Chan GenericChan GenericSmartChan GenericPort Peekable @@ -145,7 +145,7 @@ syn match rustMacro '#\w\(\w\)*' contains=rustAssert,rustFail syn match rustFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn?]\|\[\^\=.[^]]*\]\)" contained syn match rustFormat display "%%" contained -syn match rustSpecial display contained /\\\([nrt\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)/ +syn match rustSpecial display contained /\\\([nrt0\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)/ syn match rustStringContinuation display contained /\\\n\s*/ syn region rustString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=rustTodo,rustFormat,rustSpecial,rustStringContinuation syn region rustString start='r\z(#*\)"' end='"\z1' @@ -174,13 +174,13 @@ syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9 syn match rustFloat display "\<[0-9][0-9_]*\.[0-9_]\+\%([eE][+-]\=[0-9_]\+\)\(f\|f32\|f64\)\>" " For the benefit of delimitMate -syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime +syn region rustLifetimeCandidate display start=/&'\%(\([^'\\]\|\\\(['nrt0\\\"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'\)\@!/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime syn region rustGenericRegion display start=/<\%('\|[^[cntrl:][:space:][:punct:]]\)\@=')\S\@=/ end=/>/ contains=rustGenericLifetimeCandidate syn region rustGenericLifetimeCandidate display start=/\%(<\|,\s*\)\@<='/ end=/[[:cntrl:][:space:][:punct:]]\@=\|$/ contains=rustSigil,rustLifetime "rustLifetime must appear before rustCharacter, or chars will get the lifetime highlighting syn match rustLifetime display "\'\%([^[:cntrl:][:space:][:punct:][:digit:]]\|_\)\%([^[:cntrl:][:punct:][:space:]]\|_\)*" -syn match rustCharacter /'\([^'\\]\|\\\([nrt\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial +syn match rustCharacter /'\([^'\\]\|\\\([nrt0\\'"]\|x\x\{2}\|u\x\{4}\|U\x\{8}\)\)'/ contains=rustSpecial syn region rustCommentML start="/\*" end="\*/" contains=rustTodo syn region rustComment start="//" end="$" contains=rustTodo keepend diff --git a/syntax/sbt.vim b/syntax/sbt.vim index 1af382e1..68dcd954 100644 --- a/syntax/sbt.vim +++ b/syntax/sbt.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: sbt " Maintainer: Derek Wyatt <derek@{myfirstname}{mylastname}.org> -" Last Change: 2012 Jan 19 +" Last Change: 2013 Oct 20 if exists("b:current_syntax") finish @@ -15,6 +15,7 @@ syn match sbtStringEscape "\\[nrfvb\\\"]" contained syn match sbtIdentitifer "^\S\+\ze\s*\(:=\|++=\|+=\|<<=\|<+=\)" syn match sbtBeginningSeq "^[Ss]eq\>" +syn match sbtAddPlugin "^addSbtPlugin\>" syn match sbtSpecial "\(:=\|++=\|+=\|<<=\|<+=\)" @@ -25,6 +26,7 @@ syn region sbtDocComment start="/\*\*" end="\*/" keepend hi link sbtString String hi link sbtIdentitifer Keyword hi link sbtBeginningSeq Keyword +hi link sbtAddPlugin Keyword hi link sbtSpecial Special hi link sbtComment Comment hi link sbtLineComment Comment |