Mercurial > vim
diff runtime/syntax/pod.vim @ 4681:2eb30f341e8d
Updated runtime files and translations.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sat, 01 Jun 2013 14:50:56 +0200 |
parents | 0bb74f626ba7 |
children | 11cd8d58372e |
line wrap: on
line diff
--- a/runtime/syntax/pod.vim +++ b/runtime/syntax/pod.vim @@ -1,9 +1,10 @@ " Vim syntax file -" Language: Perl POD format -" Maintainer: Andy Lester <andy@petdance.com> -" Previously: Scott Bigham <dsb@killerbunnies.org> -" URL: http://github.com/petdance/vim-perl -" Last Change: 2009-08-14 +" Language: Perl POD format +" Maintainer: vim-perl <vim-perl@googlegroups.com> +" Previously: Scott Bigham <dsb@killerbunnies.org> +" Homepage: http://github.com/vim-perl/vim-perl +" Bugs/requests: http://github.com/vim-perl/vim-perl/issues +" Last Change: 2013 May 30 " To add embedded POD documentation highlighting to your syntax file, add " the commands: @@ -26,7 +27,11 @@ elseif exists("b:current_syntax") finish endif +let s:cpo_save = &cpo +set cpo&vim + " POD commands +syn match podCommand "^=encoding" nextgroup=podCmdText contains=@NoSpell syn match podCommand "^=head[1234]" nextgroup=podCmdText contains=@NoSpell syn match podCommand "^=item" nextgroup=podCmdText contains=@NoSpell syn match podCommand "^=over" nextgroup=podOverIndent skipwhite contains=@NoSpell @@ -85,6 +90,100 @@ if version >= 508 || !exists("did_pod_sy delcommand HiLink endif +if exists("perl_pod_spellcheck_headings") + " Spell-check headings + syn clear podCmdText + syn match podCmdText ".*$" contained contains=podFormat +endif + +if exists("perl_pod_formatting") + " By default, escapes like C<> are not checked for spelling. Remove B<> + " and I<> from the list of escapes. + syn clear podFormat + syn region podFormat start="[CLF]<[^<]"me=e-1 end=">" oneline contains=podFormat,@NoSpell + syn region podFormat start="[CLF]<<\s" end="\s>>" oneline contains=podFormat,@NoSpell + + " Don't spell-check inside E<>, but ensure that the E< itself isn't + " marked as a spelling mistake. + syn match podFormat "E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2,@NoSpell + + " Z<> is a mock formatting code. Ensure Z<> on its own isn't marked as a + " spelling mistake. + syn match podFormat "Z<>" contains=podEscape,podEscape2,@NoSpell + + " These are required so that whatever is *within* B<...>, I<...>, etc. is + " spell-checked, but not the B, I, ... itself. + syn match podBoldOpen "B<" contains=@NoSpell + syn match podItalicOpen "I<" contains=@NoSpell + syn match podNoSpaceOpen "S<" contains=@NoSpell + syn match podIndexOpen "X<" contains=@NoSpell + + " Same as above but for the << >> syntax. + syn match podBoldAlternativeDelimOpen "B<< " contains=@NoSpell + syn match podItalicAlternativeDelimOpen "I<< " contains=@NoSpell + syn match podNoSpaceAlternativeDelimOpen "S<< " contains=@NoSpell + syn match podIndexAlternativeDelimOpen "X<< " contains=@NoSpell + + " Add support for spell checking text inside B<>, I<>, S<> and X<>. + syn region podBold start="B<[^<]"me=e end=">" oneline contains=podBoldItalic,podBoldOpen + syn region podBoldAlternativeDelim start="B<<\s" end="\s>>" oneline contains=podBoldAlternativeDelimOpen + + syn region podItalic start="I<[^<]"me=e end=">" oneline contains=podItalicBold,podItalicOpen + syn region podItalicAlternativeDelim start="I<<\s" end="\s>>" oneline contains=podItalicAlternativeDelimOpen + + " Nested bold/italic and vice-versa + syn region podBoldItalic contained start="I<[^<]"me=e end=">" oneline + syn region podItalicBold contained start="B<[^<]"me=e end=">" oneline + + syn region podNoSpace start="S<[^<]"ms=s-2 end=">"me=e oneline contains=podNoSpaceOpen + syn region podNoSpaceAlternativeDelim start="S<<\s"ms=s-2 end="\s>>"me=e oneline contains=podNoSpaceAlternativeDelimOpen + + syn region podIndex start="X<[^<]"ms=s-2 end=">"me=e oneline contains=podIndexOpen + syn region podIndexAlternativeDelim start="X<<\s"ms=s-2 end="\s>>"me=e oneline contains=podIndexAlternativeDelimOpen + + " Restore this (otherwise B<> is shown as bold inside verbatim) + syn match podVerbatimLine "^\s.*$" contains=@NoSpell + + " Ensure formatted text can be displayed in headings and items + syn clear podCmdText + + if exists("perl_pod_spellcheck_headings") + syn match podCmdText ".*$" contained contains=podFormat,podBold, + \podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim, + \podBoldOpen,podItalicOpen,podBoldAlternativeDelimOpen, + \podItalicAlternativeDelimOpen,podNoSpaceOpen + else + syn match podCmdText ".*$" contained contains=podFormat,podBold, + \podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim, + \@NoSpell + endif + + " Specify how to display these + hi def podBold term=bold cterm=bold gui=bold + + hi link podBoldAlternativeDelim podBold + hi link podBoldAlternativeDelimOpen podBold + hi link podBoldOpen podBold + + hi link podNoSpace Identifier + hi link podNoSpaceAlternativeDelim Identifier + + hi link podIndex Identifier + hi link podIndexAlternativeDelim Identifier + + hi def podItalic term=italic cterm=italic gui=italic + + hi link podItalicAlternativeDelim podItalic + hi link podItalicAlternativeDelimOpen podItalic + hi link podItalicOpen podItalic + + hi def podBoldItalic term=italic,bold cterm=italic,bold gui=italic,bold + hi def podItalicBold term=italic,bold cterm=italic,bold gui=italic,bold +endif + let b:current_syntax = "pod" +let &cpo = s:cpo_save +unlet s:cpo_save + " vim: ts=8