Merge branch 'hack/autopaste'
[vim-kana.git] / runtime / syntax / man.vim
blob347180c8daedaefe66695e0c7971aa55044a3a5a
1 " Vim syntax file
2 " Language:     Man page
3 " Maintainer:   Nam SungHyun <namsh@kldp.org>
4 " Previous Maintainer:  Gautam H. Mudunuri <gmudunur@informatica.com>
5 " Version Info:
6 " Last Change:  2004 May 16
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*$"he=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: