Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: Man page |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 3 | " Maintainer: Jason Franklin <vim@justemail.net> |
| 4 | " Previous Maintainer: SungHyun Nam <goweol@gmail.com> |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 5 | " Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com> |
| 6 | " Version Info: |
Bram Moolenaar | d58a3bf | 2020-09-28 21:48:16 +0200 | [diff] [blame] | 7 | " Last Change: 2020 Sep 19 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 8 | |
| 9 | " Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>: |
| 10 | " * manSubHeading |
| 11 | " * manSynopsis (only for sections 2 and 3) |
| 12 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 13 | " quit when a syntax file was already loaded |
| 14 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 15 | finish |
| 16 | endif |
| 17 | |
| 18 | " Get the CTRL-H syntax to handle backspaced text |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 19 | runtime! syntax/ctrlh.vim |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 20 | |
| 21 | syn case ignore |
Bram Moolenaar | 2c7f8c5 | 2020-04-20 19:52:53 +0200 | [diff] [blame] | 22 | |
goweol | 8cfe52e | 2023-08-18 06:13:29 +0900 | [diff] [blame] | 23 | " See notes about hyphenation in s:ParseIntoPageAndSection of |
| 24 | " autoload/dist/man.vim. |
| 25 | syn match manReference "\%(\f\+[\u2010-]\%(\n\|\r\n\=\)\s\+\)\=\f\+([1-9]\l*)" |
Bram Moolenaar | d58a3bf | 2020-09-28 21:48:16 +0200 | [diff] [blame] | 26 | syn match manSectionHeading "^\a.*$" |
| 27 | syn match manSubHeading "^\s\{3\}\a.*$" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 28 | syn match manOptionDesc "^\s*[+-][a-z0-9]\S*" |
| 29 | syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*" |
| 30 | " syn match manHistory "^[a-z].*last change.*$" |
| 31 | |
Bram Moolenaar | 7ceefb3 | 2020-05-01 16:07:38 +0200 | [diff] [blame] | 32 | syn match manHeader '\%1l.*' |
| 33 | exe 'syn match manFooter ''\%' . line('$') . 'l.*''' |
| 34 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 35 | if getline(1) =~ '^[a-zA-Z_]\+([23])' |
| 36 | syntax include @cCode <sfile>:p:h/c.vim |
| 37 | syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained |
Bram Moolenaar | 446cb83 | 2008-06-24 21:56:24 +0000 | [diff] [blame] | 38 | syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"me=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 39 | endif |
| 40 | |
| 41 | |
| 42 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 43 | " Only when an item doesn't have highlighting yet |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 44 | |
Bram Moolenaar | 2c7f8c5 | 2020-04-20 19:52:53 +0200 | [diff] [blame] | 45 | hi def link manHeader Title |
| 46 | hi def link manFooter PreProc |
| 47 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 48 | hi def link manSectionHeading Statement |
| 49 | hi def link manOptionDesc Constant |
| 50 | hi def link manLongOptionDesc Constant |
| 51 | hi def link manReference PreProc |
| 52 | hi def link manSubHeading Function |
| 53 | hi def link manCFuncDefinition Function |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 54 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 55 | |
| 56 | let b:current_syntax = "man" |
| 57 | |
| 58 | " vim:ts=8 sts=2 sw=2: |