xref: /vim-8.2.3635/runtime/syntax/man.vim (revision ceb56ddb)
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 Apr 30
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-z][a-z -]*[a-z]$"
25syn match  manSubHeading      "^\s\{3\}[a-z][a-z -]*[a-z]$"
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