mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-10 20:43:52 -05:00
Update
This commit is contained in:
140
syntax/perl6.vim
140
syntax/perl6.vim
@@ -186,7 +186,7 @@ syn match p6ReduceOp display "\%(^\|\s\|(\)\@1<=!*\%([RSXZ\[]\)*[&RSXZ]\?\[\+(\?
|
||||
syn match p6SetOp display "R\?(\%([-^.+|&]\|[<>][=+]\?\|cont\|elem\))"
|
||||
|
||||
" Reverse, cross, and zip metaoperators
|
||||
exec "syn match p6RSXZOp display \"[RSXZ]:\\@!\\%(\\a\\@=\\%(". s:alpha_metaops_or . "\\)\\|[[:alnum:]]\\@!\\%([.,]\\|[^[,.[:space:]]\\)\\+\\|\\s\\@=\\|$\\)\""
|
||||
exec "syn match p6RSXZOp display \"[RSXZ]:\\@!\\%(\\a\\@=\\%(". s:alpha_metaops_or . "\\)\\>\\|[[:alnum:]]\\@!\\%([.,]\\|[^[,.[:space:]]\\)\\+\\|\\s\\@=\\|$\\)\""
|
||||
|
||||
syn match p6BlockLabel display "^\s*\zs\h\w*\s*::\@!\_s\@="
|
||||
|
||||
@@ -202,7 +202,7 @@ syn match p6BinNumber display "[01][01_]*" contained
|
||||
syn match p6HexNumber display "\x[[:xdigit:]_]*" contained
|
||||
syn match p6DecNumber display "\d[[:digit:]_]*" contained
|
||||
|
||||
syn match p6Version display "\<v\d\+\%(\.[*[:digit:]]\+\)*+\?"
|
||||
syn match p6Version display "\<v\d\+\%(\.\%(\*\|\d\+\)\)*+\?"
|
||||
|
||||
" Contextualizers
|
||||
syn match p6Context display "\<\%(item\|list\|slice\|hash\)\>"
|
||||
@@ -350,7 +350,7 @@ syn region p6Adverb
|
||||
" for " = < ... >" assignments though.
|
||||
" * It comes after "enum", "for", "any", "all", or "none"
|
||||
" * It's the first or last thing on a line (ignoring whitespace)
|
||||
" * It's preceded by "= "
|
||||
" * It's preceded by "(\s*" or "=\s\+"
|
||||
" * It's empty and terminated on the same line (e.g. <> and < >)
|
||||
"
|
||||
" It never matches when:
|
||||
@@ -364,7 +364,7 @@ syn region p6StringAngle
|
||||
\ start="[<+~=!]\@1<!<\%(\s\|<\|=>\|[-=]\{1,2}\)\@!"
|
||||
\ start="\%(^\s*\)\@<=<\%(<\|=>\|[-=]\{1,2}>\@!\)\@!"
|
||||
\ start="[<+~=!]\@1<!<\%(\s*$\)\@="
|
||||
\ start="\%(=\s\+\)\@<=<\%(<\|=>\|[-=]\{1,2}>\@!\)\@!"
|
||||
\ start="\%((\s*\|=\s\+\)\@<=<\%(<\|=>\|[-=]\{1,2}>\@!\)\@!"
|
||||
\ start="<\%(\s*>\)\@="
|
||||
\ skip="\\\@1<!\\>"
|
||||
\ end=">"
|
||||
@@ -392,7 +392,7 @@ syn region p6StringAngles
|
||||
\ start="<<=\@!"
|
||||
\ skip="\\\@1<!\\>"
|
||||
\ end=">>"
|
||||
\ contains=p6InnerAnglesTwo,@p6Interp_qq,p6Comment,p6EscHash,p6EscCloseAngle,p6Adverb,p6StringSQ,p6StringDQ
|
||||
\ contains=p6InnerAnglesTwo,@p6Interp_qq,p6Comment,p6BracketComment,p6EscHash,p6EscCloseAngle,p6Adverb,p6StringSQ,p6StringDQ
|
||||
|
||||
syn region p6InnerAnglesTwo
|
||||
\ matchgroup=p6StringAngles
|
||||
@@ -408,7 +408,7 @@ syn region p6StringFrench
|
||||
\ start="«"
|
||||
\ skip="\\\@1<!\\»"
|
||||
\ end="»"
|
||||
\ contains=p6InnerFrench,@p6Interp_qq,p6Comment,p6EscHash,p6EscCloseFrench,p6Adverb,p6StringSQ,p6StringDQ
|
||||
\ contains=p6InnerFrench,@p6Interp_qq,p6Comment,p6BracketComment,p6EscHash,p6EscCloseFrench,p6Adverb,p6StringSQ,p6StringDQ
|
||||
|
||||
syn region p6InnerFrench
|
||||
\ matchgroup=p6StringFrench
|
||||
@@ -454,8 +454,8 @@ syn match p6QuoteQ_qww display "qww[A-Za-z(]\@!" nextgroup=p6PairsQ_qww skipwhi
|
||||
syn match p6QuoteQ_qq display "qq[pwx]\?[A-Za-z(]\@!" nextgroup=p6PairsQ_qq skipwhite skipempty contained
|
||||
syn match p6QuoteQ_qto display "qto[A-Za-z(]\@!" nextgroup=p6StringQ_qto skipwhite skipempty contained
|
||||
syn match p6QuoteQ_qqto display "qqto[A-Za-z(]\@!" nextgroup=p6StringQ_qqto skipwhite skipempty contained
|
||||
syn match p6QuoteQ_qto display "q\%(:\%(to\|heredoc\)[A-Za-z(]\@!\)\@=" nextgroup=p6PairsQ_qto skipwhite skipempty contained
|
||||
syn match p6QuoteQ_qqto display "qq\%(:\%(to\|heredoc\)[A-Za-z(]\@!\)\@=" nextgroup=p6PairsQ_qqto skipwhite skipempty contained
|
||||
syn match p6QuoteQ_qto display "q\_s*\%(:\%(to\|heredoc\)[A-Za-z(]\@!\)\@=" nextgroup=p6PairsQ_qto skipwhite skipempty contained
|
||||
syn match p6QuoteQ_qqto display "qq\_s*\%(:\%(to\|heredoc\)[A-Za-z(]\@!\)\@=" nextgroup=p6PairsQ_qqto skipwhite skipempty contained
|
||||
syn match p6PairsQ "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=p6StringQ
|
||||
syn match p6PairsQ_q "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=p6StringQ_q
|
||||
syn match p6PairsQ_qww "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=p6StringQ_qww
|
||||
@@ -508,12 +508,6 @@ unlet s:plain_delims s:all_delims
|
||||
syn match p6Operator display ":\@1<!::\@!!\?" nextgroup=p6Key,p6StringAngleFixed,p6StringAngles,p6StringFrench
|
||||
syn match p6Key display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)" contained nextgroup=p6StringAngleFixed,p6StringAngles,p6StringFrench
|
||||
|
||||
" => and p5=> autoquoting
|
||||
syn match p6StringP5Auto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\s\+p5=>"
|
||||
syn match p6StringAuto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\%(p5\)\@2<![RSXZ]\@1<!=>"
|
||||
syn match p6StringAuto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\s\+=>"
|
||||
syn match p6StringAuto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)p5\ze=>"
|
||||
|
||||
" Regexes and grammars
|
||||
|
||||
syn match p6DeclareRegex display "\%(regex\|rule\|token\)" nextgroup=p6RegexName skipwhite skipempty
|
||||
@@ -551,6 +545,7 @@ syn cluster p6Regexen
|
||||
\ add=p6RxStringSQ
|
||||
\ add=p6RxStringDQ
|
||||
\ add=p6Comment
|
||||
\ add=p6BracketComment
|
||||
\ add=p6MatchVarSigil
|
||||
|
||||
syn match p6RxMeta display contained ".\%([A-Za-z_\xC0-\xFF0-9]\|\s\)\@1<!"
|
||||
@@ -1007,100 +1002,106 @@ syn match p6Comment display "#`\@!.*" contains=p6Attention
|
||||
|
||||
" Multiline comments. Arbitrary numbers of opening brackets are allowed,
|
||||
" but we only define regions for 1 to 3
|
||||
syn region p6Comment
|
||||
\ start="#`("
|
||||
syn region p6BracketComment
|
||||
\ start="#[`|=]("
|
||||
\ skip="([^)]*)"
|
||||
\ end=")"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ start="#`\["
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ start="#[`|=]\["
|
||||
\ skip="\[[^\]]*]"
|
||||
\ end="]"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ start="#`{"
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ start="#[`|=]{"
|
||||
\ skip="{[^}]*}"
|
||||
\ end="}"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ start="#`<"
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ start="#[`|=]<"
|
||||
\ skip="<[^>]*>"
|
||||
\ end=">"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ start="#`«"
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ start="#[`|=]«"
|
||||
\ skip="«[^»]*»"
|
||||
\ end="»"
|
||||
\ contains=p6Attention,p6Comment
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
|
||||
" Comments with double and triple delimiters
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`(("
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=](("
|
||||
\ skip="((\%([^)\|))\@!]\)*))"
|
||||
\ end="))"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`((("
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]((("
|
||||
\ skip="(((\%([^)]\|)\%())\)\@!\)*)))"
|
||||
\ end=")))"
|
||||
\ contains=p6Attention,p6Comment
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`\[\["
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]\[\["
|
||||
\ skip="\[\[\%([^\]]\|]]\@!\)*]]"
|
||||
\ end="]]"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`\[\[\["
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]\[\[\["
|
||||
\ skip="\[\[\[\%([^\]]\|]\%(]]\)\@!\)*]]]"
|
||||
\ end="]]]"
|
||||
\ contains=p6Attention,p6Comment
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`{{"
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]{{"
|
||||
\ skip="{{\%([^}]\|}}\@!\)*}}"
|
||||
\ end="}}"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`{{{"
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]{{{"
|
||||
\ skip="{{{\%([^}]\|}\%(}}\)\@!\)*}}}"
|
||||
\ end="}}}"
|
||||
\ contains=p6Attention,p6Comment
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`<<"
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]<<"
|
||||
\ skip="<<\%([^>]\|>>\@!\)*>>"
|
||||
\ end=">>"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`<<<"
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]<<<"
|
||||
\ skip="<<<\%([^>]\|>\%(>>\)\@!\)*>>>"
|
||||
\ end=">>>"
|
||||
\ contains=p6Attention,p6Comment
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`««"
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]««"
|
||||
\ skip="««\%([^»]\|»»\@!\)*»»"
|
||||
\ end="»»"
|
||||
\ contains=p6Attention,p6Comment
|
||||
syn region p6Comment
|
||||
\ matchgroup=p6Comment
|
||||
\ start="#`«««"
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
syn region p6BracketComment
|
||||
\ matchgroup=p6BracketComment
|
||||
\ start="#[`|=]«««"
|
||||
\ skip="«««\%([^»]\|»\%(»»\)\@!\)*»»»"
|
||||
\ end="»»»"
|
||||
\ contains=p6Attention,p6Comment
|
||||
\ contains=p6Attention,p6BracketComment
|
||||
|
||||
syn match p6Shebang display "\%^#!.*"
|
||||
|
||||
" => and p5=> autoquoting
|
||||
syn match p6StringP5Auto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\s\+p5=>"
|
||||
syn match p6StringAuto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\%(p5\)\@2<![RSXZ]\@1<!=>"
|
||||
syn match p6StringAuto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\s\+=>"
|
||||
syn match p6StringAuto display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)p5\ze=>"
|
||||
|
||||
" Pod
|
||||
|
||||
" Abbreviated blocks (implicit code forbidden)
|
||||
@@ -1884,6 +1885,7 @@ if version >= 508 || !exists("did_perl6_syntax_inits")
|
||||
HiLink p6StringSpecial2 Special
|
||||
HiLink p6Version Special
|
||||
HiLink p6Comment Comment
|
||||
HiLink p6BracketComment Comment
|
||||
HiLink p6Include Include
|
||||
HiLink p6Shebang PreProc
|
||||
HiLink p6ClosureTrait PreProc
|
||||
|
||||
Reference in New Issue
Block a user