From 271b63d71707720ad0d35590b8cb50f8f8f43014 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Mon, 11 May 2015 15:05:13 +0200 Subject: Update --- syntax/perl6.vim | 140 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 71 insertions(+), 69 deletions(-) (limited to 'syntax/perl6.vim') diff --git a/syntax/perl6.vim b/syntax/perl6.vim index ed928852..1d6608d7 100644 --- a/syntax/perl6.vim +++ b/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 "\" @@ -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\|[-=]\{1,2}\)\@!" \ start="\%(^\s*\)\@<=<\%(<\|=>\|[-=]\{1,2}>\@!\)\@!" \ start="[<+~=!]\@1\|[-=]\{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 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" -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]*>" \ 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" +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 -- cgit v1.2.3