blob: 77675c5d2f0982b3a9438729702de19481ba1148 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Man page
Bram Moolenaar5c736222010-01-06 20:54:52 +01003" Maintainer: SungHyun Nam <goweol@gmail.com>
Bram Moolenaar071d4272004-06-13 20:20:40 +00004" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
5" Version Info:
Bram Moolenaard042dc82015-11-24 19:18:36 +01006" Last Change: 2015 Nov 24
Bram Moolenaar071d4272004-06-13 20:20:40 +00007
8" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
9" * manSubHeading
10" * manSynopsis (only for sections 2 and 3)
11
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020012" quit when a syntax file was already loaded
13if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000014 finish
15endif
16
17" Get the CTRL-H syntax to handle backspaced text
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020018runtime! syntax/ctrlh.vim
Bram Moolenaar071d4272004-06-13 20:20:40 +000019
20syn case ignore
21syn match manReference "\f\+([1-9][a-z]\=)"
22syn match manTitle "^\f\+([0-9]\+[a-z]\=).*"
Bram Moolenaard042dc82015-11-24 19:18:36 +010023syn match manSectionHeading "^[a-z][a-z -]*[a-z]$"
24syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$"
Bram Moolenaar071d4272004-06-13 20:20:40 +000025syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
26syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*"
27" syn match manHistory "^[a-z].*last change.*$"
28
29if getline(1) =~ '^[a-zA-Z_]\+([23])'
30 syntax include @cCode <sfile>:p:h/c.vim
31 syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained
Bram Moolenaar446cb832008-06-24 21:56:24 +000032 syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"me=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition
Bram Moolenaar071d4272004-06-13 20:20:40 +000033endif
34
35
36" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020037" Only when an item doesn't have highlighting yet
Bram Moolenaar071d4272004-06-13 20:20:40 +000038
Bram Moolenaarf37506f2016-08-31 22:22:10 +020039hi def link manTitle Title
40hi def link manSectionHeading Statement
41hi def link manOptionDesc Constant
42hi def link manLongOptionDesc Constant
43hi def link manReference PreProc
44hi def link manSubHeading Function
45hi def link manCFuncDefinition Function
Bram Moolenaar071d4272004-06-13 20:20:40 +000046
Bram Moolenaar071d4272004-06-13 20:20:40 +000047
48let b:current_syntax = "man"
49
50" vim:ts=8 sts=2 sw=2: