Changeset 24128

Show
Ignore:
Timestamp:
12/01/08 04:59:13 (5 weeks ago)
Author:
hinrik
Message:

[util/perl6.vim] highlight escaped delimiters in certain single-quoted strings

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • util/perl6.vim

    r24125 r24128  
    2020"   * Add more support for folding 
    2121"   * Add more syntax syncing hooks 
     22"   * Highlight various things in interpolated strings 
    2223 
    2324" For version 5.x: Clear all syntax items 
     
    120121syn match p6Variable   display "[$@%][!.*^?]\?[[:graph:]_¢]\w*" 
    121122 
    122 " { ... } construct 
    123 syn region p6InterpExpression 
    124     \ matchgroup=p6Variable 
    125     \ start="{" 
    126     \ skip="\\}" 
    127     \ end="}" 
    128     \ contained 
    129     \ contains=TOP 
    130  
    131 syn cluster p6Interp 
    132     \ add=p6Variable 
    133     \ add=p6InterpExpression 
    134     \ add=p6InterpClosure 
    135  
    136123" FIXME: This ugly hack will show up later on. Once again, don't try to fix it. 
    137124syn region p6ParenExpression 
     
    157144    \ contains=TOP 
    158145 
    159 " Double-quoted, qq, qw, qx, `` strings 
     146" { ... } closure in interpolated strings 
     147syn region p6InterpClosure 
     148    \ matchgroup=p6StringSpecial 
     149    \ start="{" 
     150    \ end="}" 
     151    \ contained 
     152    \ contains=TOP 
     153 
     154syn cluster p6Interp 
     155    \ add=p6Variable 
     156    \ add=p6InterpClosure 
     157 
     158" Double-quoted strings 
    160159syn region p6InterpString 
    161160    \ matchgroup=p6Quote 
     
    175174    \ contains=@p6Interp 
    176175 
    177 " Punctuation-delimited strings 
     176" Punctuation-delimited double-quoted strings 
    178177syn region p6InterpString 
    179178    \ matchgroup=p6Quote 
     
    207206    \ contains=@p6Interp 
    208207 
    209 " Single-quoted, q, '' strings 
     208syn match p6EscapedQuote display "\\'" contained 
     209syn match p6EscapedArrow display "\\>" contained 
     210 
     211" Single-quoted strings 
    210212syn region p6LiteralString 
    211213    \ matchgroup=p6Quote 
     
    213215    \ skip="\\'" 
    214216    \ end="'" 
     217    \ contains=p6EscapedQuote 
    215218syn region p6LiteralString 
    216219    \ matchgroup=p6Quote 
     
    218221    \ skip="\\>" 
    219222    \ end=">\@<!>" 
     223    \ contains=p6EscapedRightArrow 
    220224" special case for $<etc> 
    221225syn region p6LiteralString 
     
    224228    \ end=">\@<!>" 
    225229 
    226 " Punctuation-delimited strings 
     230" Punctuation-delimited single-quoted strings 
    227231syn region p6LiteralString 
    228232    \ matchgroup=p6Quote 
     
    466470    \ contains=TOP 
    467471 
    468 " This is in operator, not a regex 
     472" This is an operator, not a regex 
    469473syn match p6Operator "//" 
    470474 
     
    634638    HiLink p6SubBracket      p6String 
    635639    HiLink p6TransNonBracket p6String 
     640    HiLink p6EscapedQuote    p6StringSpecial 
     641    HiLink p6EscapedArrow    p6StringSpecial 
     642    HiLink p6CharClass       p6StringSpecial 
     643    HiLink p6RegexSpecial    p6StringSpecial 
    636644 
    637645    HiLink p6Property        Tag 
     
    662670    HiLink p6RuleCall        Identifier 
    663671    HiLink p6Conditional     Conditional 
    664     HiLink p6CharClass       SpecialChar 
    665     HiLink p6RegexSpecial    SpecialChar 
     672    HiLink p6StringSpecial   SpecialChar 
    666673 
    667674    HiLink p6PodPara         p6Pod