1" Vim syntax file 2" Language: Man page 3" Maintainer: Jason Franklin <[email protected]> 4" Previous Maintainer: SungHyun Nam <[email protected]> 5" Previous Maintainer: Gautam H. Mudunuri <[email protected]> 6" Version Info: 7" Last Change: 2020 Sep 19 8 9" Additional highlighting by Johannes Tanzler <[email protected]>: 10" * manSubHeading 11" * manSynopsis (only for sections 2 and 3) 12 13" quit when a syntax file was already loaded 14if exists("b:current_syntax") 15 finish 16endif 17 18" Get the CTRL-H syntax to handle backspaced text 19runtime! syntax/ctrlh.vim 20 21syn case ignore 22 23syn match manReference "\f\+([1-9][a-z]\=)" 24syn match manSectionHeading "^\a.*$" 25syn match manSubHeading "^\s\{3\}\a.*$" 26syn match manOptionDesc "^\s*[+-][a-z0-9]\S*" 27syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*" 28" syn match manHistory "^[a-z].*last change.*$" 29 30syn match manHeader '\%1l.*' 31exe 'syn match manFooter ''\%' . line('$') . 'l.*''' 32 33if getline(1) =~ '^[a-zA-Z_]\+([23])' 34 syntax include @cCode <sfile>:p:h/c.vim 35 syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained 36 syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"me=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition 37endif 38 39 40" Define the default highlighting. 41" Only when an item doesn't have highlighting yet 42 43hi def link manHeader Title 44hi def link manFooter PreProc 45 46hi def link manSectionHeading Statement 47hi def link manOptionDesc Constant 48hi def link manLongOptionDesc Constant 49hi def link manReference PreProc 50hi def link manSubHeading Function 51hi def link manCFuncDefinition Function 52 53 54let b:current_syntax = "man" 55 56" vim:ts=8 sts=2 sw=2: 57