1" Vim syntax file 2" Language: Man page 3" Maintainer: SungHyun Nam <goweol@gmail.com> 4" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com> 5" Version Info: 6" Last Change: 2008 Sep 17 7 8" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>: 9" * manSubHeading 10" * manSynopsis (only for sections 2 and 3) 11 12" For version 5.x: Clear all syntax items 13" For version 6.x: Quit when a syntax file was already loaded 14if version < 600 15 syntax clear 16elseif exists("b:current_syntax") 17 finish 18endif 19 20" Get the CTRL-H syntax to handle backspaced text 21if version >= 600 22 runtime! syntax/ctrlh.vim 23else 24 source <sfile>:p:h/ctrlh.vim 25endif 26 27syn case ignore 28syn match manReference "\f\+([1-9][a-z]\=)" 29syn match manTitle "^\f\+([0-9]\+[a-z]\=).*" 30syn match manSectionHeading "^[a-z][a-z ]*[a-z]$" 31syn match manSubHeading "^\s\{3\}[a-z][a-z ]*[a-z]$" 32syn match manOptionDesc "^\s*[+-][a-z0-9]\S*" 33syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*" 34" syn match manHistory "^[a-z].*last change.*$" 35 36if getline(1) =~ '^[a-zA-Z_]\+([23])' 37 syntax include @cCode <sfile>:p:h/c.vim 38 syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained 39 syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"me=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition 40endif 41 42 43" Define the default highlighting. 44" For version 5.7 and earlier: only when not done already 45" For version 5.8 and later: only when an item doesn't have highlighting yet 46if version >= 508 || !exists("did_man_syn_inits") 47 if version < 508 48 let did_man_syn_inits = 1 49 command -nargs=+ HiLink hi link <args> 50 else 51 command -nargs=+ HiLink hi def link <args> 52 endif 53 54 HiLink manTitle Title 55 HiLink manSectionHeading Statement 56 HiLink manOptionDesc Constant 57 HiLink manLongOptionDesc Constant 58 HiLink manReference PreProc 59 HiLink manSubHeading Function 60 HiLink manCFuncDefinition Function 61 62 delcommand HiLink 63endif 64 65let b:current_syntax = "man" 66 67" vim:ts=8 sts=2 sw=2: 68