" Vim syntax file " Language: Perl POD format " Maintainer: Scott Bigham " Last Change: 2004 Oct 05 " To add embedded POD documentation highlighting to your syntax file, add " the commands: " " syn include @Pod :p:h/pod.vim " syn region myPOD start="^=pod" start="^=head" end="^=cut" keepend contained contains=@Pod " " and add myPod to the contains= list of some existing region, probably a " comment. The "keepend" flag is needed because "=cut" is matched as a " pattern in its own right. " Remove any old syntax stuff hanging around (this is suppressed " automatically by ":syn include" if necessary). " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " POD commands syn match podCommand "^=head[1234]" nextgroup=podCmdText syn match podCommand "^=item" nextgroup=podCmdText syn match podCommand "^=over" nextgroup=podOverIndent skipwhite syn match podCommand "^=back" syn match podCommand "^=cut" syn match podCommand "^=pod" syn match podCommand "^=for" nextgroup=podForKeywd skipwhite syn match podCommand "^=begin" nextgroup=podForKeywd skipwhite syn match podCommand "^=end" nextgroup=podForKeywd skipwhite " Text of a =head1, =head2 or =item command syn match podCmdText ".*$" contained contains=podFormat " Indent amount of =over command syn match podOverIndent "\d\+" contained " Formatter identifier keyword for =for, =begin and =end commands syn match podForKeywd "\S\+" contained " An indented line, to be displayed verbatim syn match podVerbatimLine "^\s.*$" " Inline textual items handled specially by POD syn match podSpecial "\(\<\|&\)\I\i*\(::\I\i*\)*([^)]*)" syn match podSpecial "[$@%]\I\i*\(::\I\i*\)*\>" " Special formatting sequences syn region podFormat start="[IBSCLFX]<[^<]"me=e-1 end=">" oneline contains=podFormat syn match podFormat "Z<>" syn match podFormat "E<\(\d\+\|\I\i*\)>" contains=podEscape,podEscape2 syn match podEscape "\I\i*>"me=e-1 contained syn match podEscape2 "\d\+>"me=e-1 contained " Define the default highlighting. " For version 5.7 and earlier: only when not done already " For version 5.8 and later: only when an item doesn't have highlighting yet if version >= 508 || !exists("did_pod_syntax_inits") if version < 508 let did_pod_syntax_inits = 1 command -nargs=+ HiLink hi link else command -nargs=+ HiLink hi def link endif HiLink podCommand Statement HiLink podCmdText String HiLink podOverIndent Number HiLink podForKeywd Identifier HiLink podFormat Identifier HiLink podVerbatimLine PreProc HiLink podSpecial Identifier HiLink podEscape String HiLink podEscape2 Number delcommand HiLink endif let b:current_syntax = "pod" " vim: ts=8