Merge branch 'vim-with-runtime' into feat/quickfix-title
[vim_extended.git] / runtime / syntax / man.vim
blob4172a02fe1ac6c88f6dfa54bfea96057de1584a4
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
8 " Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
9 "       * manSubHeading
10 "       * manSynopsis (only for sections 2 and 3)
12 " For version 5.x: Clear all syntax items
13 " For version 6.x: Quit when a syntax file was already loaded
14 if version < 600
15   syntax clear
16 elseif exists("b:current_syntax")
17   finish
18 endif
20 " Get the CTRL-H syntax to handle backspaced text
21 if version >= 600
22   runtime! syntax/ctrlh.vim
23 else
24   source <sfile>:p:h/ctrlh.vim
25 endif
27 syn case ignore
28 syn match  manReference       "\f\+([1-9][a-z]\=)"
29 syn match  manTitle           "^\f\+([0-9]\+[a-z]\=).*"
30 syn match  manSectionHeading  "^[a-z][a-z ]*[a-z]$"
31 syn match  manSubHeading      "^\s\{3\}[a-z][a-z ]*[a-z]$"
32 syn match  manOptionDesc      "^\s*[+-][a-z0-9]\S*"
33 syn match  manLongOptionDesc  "^\s*--[a-z0-9-]\S*"
34 " syn match  manHistory         "^[a-z].*last change.*$"
36 if 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
40 endif
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
46 if 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
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
62   delcommand HiLink
63 endif
65 let b:current_syntax = "man"
67 " vim:ts=8 sts=2 sw=2: