diff --git a/.config/nvim/after/syntax/perl/custom.vim b/.config/nvim/after/syntax/perl/custom.vim new file mode 100644 --- /dev/null +++ b/.config/nvim/after/syntax/perl/custom.vim @@ -0,0 +1,29 @@ +" 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 +\\(\_s*=>\)\@!\_s*+ nextgroup=perlSubName +syn match perlFunction +\\(\_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