blob: 99e6ea2afee5a17e75726baa813163b414a403b3 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: SGML-linuxdoc (supported by old sgmltools-1.x)
3" (for more information, visit www.sgmltools.org)
Bram Moolenaar5c736222010-01-06 20:54:52 +01004" Maintainer: SungHyun Nam <goweol@gmail.com>
5" Last Change: 2008 Sep 17
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7" For version 5.x: Clear all syntax items
8" For version 6.x: Quit when a syntax file was already loaded
9if version < 600
10 syntax clear
11elseif exists("b:current_syntax")
12 finish
13endif
14
15syn case ignore
16
17" tags
18syn region sgmllnxEndTag start=+</+ end=+>+ contains=sgmllnxTagN,sgmllnxTagError
19syn region sgmllnxTag start=+<[^/]+ end=+>+ contains=sgmllnxTagN,sgmllnxTagError
20syn match sgmllnxTagN contained +<\s*[-a-zA-Z0-9]\++ms=s+1 contains=sgmllnxTagName
21syn match sgmllnxTagN contained +</\s*[-a-zA-Z0-9]\++ms=s+2 contains=sgmllnxTagName
22
23syn region sgmllnxTag2 start=+<\s*[a-zA-Z]\+/+ keepend end=+/+ contains=sgmllnxTagN2
24syn match sgmllnxTagN2 contained +/.*/+ms=s+1,me=e-1
25
26syn region sgmllnxSpecial oneline start="&" end=";"
27
28" tag names
29syn keyword sgmllnxTagName contained article author date toc title sect verb
30syn keyword sgmllnxTagName contained abstract tscreen p itemize item enum
31syn keyword sgmllnxTagName contained descrip quote htmlurl code ref
32syn keyword sgmllnxTagName contained tt tag bf
33syn match sgmllnxTagName contained "sect\d\+"
34
35" Comments
36syn region sgmllnxComment start=+<!--+ end=+-->+
37syn region sgmllnxDocType start=+<!doctype+ end=+>+
38
39" Define the default highlighting.
40" For version 5.7 and earlier: only when not done already
41" For version 5.8 and later: only when an item doesn't have highlighting yet
42if version >= 508 || !exists("did_sgmllnx_syn_inits")
43 if version < 508
44 let did_sgmllnx_syn_inits = 1
45 command -nargs=+ HiLink hi link <args>
46 else
47 command -nargs=+ HiLink hi def link <args>
48 endif
49
50 HiLink sgmllnxTag2 Function
51 HiLink sgmllnxTagN2 Function
52 HiLink sgmllnxTag Special
53 HiLink sgmllnxEndTag Special
54 HiLink sgmllnxParen Special
55 HiLink sgmllnxEntity Type
56 HiLink sgmllnxDocEnt Type
57 HiLink sgmllnxTagName Statement
58 HiLink sgmllnxComment Comment
59 HiLink sgmllnxSpecial Special
60 HiLink sgmllnxDocType PreProc
61 HiLink sgmllnxTagError Error
62
63 delcommand HiLink
64endif
65
66let b:current_syntax = "sgmllnx"
67
68" vim:set tw=78 ts=8 sts=2 sw=2 noet: