blob: 0c63e8d52349d9ad3b11938f502158120f0116d8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: Rich Text Format
3" "*.rtf" files
4"
5" The Rich Text Format (RTF) Specification is a method of encoding formatted
6" text and graphics for easy transfer between applications.
7" .hlp (windows help files) use compiled rtf files
8" rtf documentation at http://night.primate.wisc.edu/software/RTF/
9"
10" Maintainer: Dominique Stéphan (dominique@mggen.com)
11" URL: http://www.mggen.com/vim/syntax/rtf.zip
12" Last change: 2001 Mai 02
13
14" TODO: render underline, italic, bold
15
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020016" quit when a syntax file was already loaded
17if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000018 finish
19endif
20
21" case on (all controls must be lower case)
22syn case match
23
24" Control Words
25syn match rtfControlWord "\\[a-z]\+[\-]\=[0-9]*"
26
27" New Control Words (not in the 1987 specifications)
28syn match rtfNewControlWord "\\\*\\[a-z]\+[\-]\=[0-9]*"
29
30" Control Symbol : any \ plus a non alpha symbol, *, \, { and } and '
31syn match rtfControlSymbol "\\[^a-zA-Z\*\{\}\\']"
32
33" { } and \ are special characters, to use them
34" we add a backslash \
35syn match rtfCharacter "\\\\"
36syn match rtfCharacter "\\{"
37syn match rtfCharacter "\\}"
38" Escaped characters (for 8 bytes characters upper than 127)
39syn match rtfCharacter "\\'[A-Za-z0-9][A-Za-z0-9]"
40" Unicode
41syn match rtfUnicodeCharacter "\\u[0-9][0-9]*"
42
43" Color values, we will put this value in Red, Green or Blue
44syn match rtfRed "\\red[0-9][0-9]*"
45syn match rtfGreen "\\green[0-9][0-9]*"
46syn match rtfBlue "\\blue[0-9][0-9]*"
47
48" Some stuff for help files
49syn match rtfFootNote "[#$K+]{\\footnote.*}" contains=rtfControlWord,rtfNewControlWord
50
51" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020052" Only when an item doesn't have highlighting yet
53command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +000054
55
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020056HiLink rtfControlWord Statement
57HiLink rtfNewControlWord Special
58HiLink rtfControlSymbol Constant
59HiLink rtfCharacter Character
60HiLink rtfUnicodeCharacter SpecialChar
61HiLink rtfFootNote Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +000062
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020063" Define colors for the syntax file
64hi rtfRed term=underline cterm=underline ctermfg=DarkRed gui=underline guifg=DarkRed
65hi rtfGreen term=underline cterm=underline ctermfg=DarkGreen gui=underline guifg=DarkGreen
66hi rtfBlue term=underline cterm=underline ctermfg=DarkBlue gui=underline guifg=DarkBlue
Bram Moolenaar071d4272004-06-13 20:20:40 +000067
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020068HiLink rtfRed rtfRed
69HiLink rtfGreen rtfGreen
70HiLink rtfBlue rtfBlue
Bram Moolenaar071d4272004-06-13 20:20:40 +000071
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020072delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +000073
74
75let b:current_syntax = "rtf"
76
77" vim:ts=8