.vim/after/syntax/perl/custom.vim

Sun, 20 Nov 2022 20:46:37 -0600

author
Meredith Howard <mhoward@roomag.org>
date
Sun, 20 Nov 2022 20:46:37 -0600
changeset 1007
647fa5ff10a1
parent 972
93a774dccd46
permissions
-rw-r--r--

fix indented heredoc inline sql

" this keeps indents from jumping more than one level
let b:indent_use_syntax = 0

syn sync minlines=1500

" Weird behavior in sql heredocs
syn clear sqlFold

" fix highlight-all-pragma for vN.NN
syn match perlStatementInclude   "\<\%(use\|no\)\s\+v\(\d\|.\)\+"

" Add match for =method and =func from Pod::Weaver
syn match podCommand "^=method" contained nextgroup=podCmdText contains=@NoSpell
syn match podCommand "^=func" contained nextgroup=podCmdText contains=@NoSpell

" Add matches for contrib/function-parameters.vim, but don't apply to fat-arrow cases
syn match perlFunction +\<method\>\(\_s*=>\)\@!\_s*+ nextgroup=perlSubName
syn match perlFunction +\<fun\>\(\_s*=>\)\@!\_s*+ nextgroup=perlSubName

" Tweak some colors, making POD stand out less
hi! def link perlPOD      Comment
hi! def link podOrdinary  Comment
hi! def link podCommand   SpecialComment
hi! def link podCmdText   Question
hi! def link podFormat    StorageClass

syntax region perlHereDocSQL matchgroup=perlStringStartEnd start=+<<\~\s*'\z(\%(END_\)\=SQL\)'+ end='^\s*\z1$' contains=@SQL
syntax region perlHereDocSQL matchgroup=perlStringStartEnd start='<<\~\s*"\z(\%(END_\)\=SQL\)"' end='^\s*\z1$' contains=@perlInterpDQ,@SQL
syntax region perlHereDocSQL matchgroup=perlStringStartEnd start='<<\~\s*\z(\%(END_\)\=SQL\)'   end='^\s*\z1$' contains=@perlInterpDQ,@SQL

mercurial