blob: f8e031ba21edc9544d5f6407962124aa37de03bf [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"
Bram Moolenaarcb80aa22020-10-26 21:12:46 +010010" Maintainer: Dominique Stéphan (dominique@mggen.com)
Bram Moolenaar071d4272004-06-13 20:20:40 +000011" 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
Bram Moolenaar071d4272004-06-13 20:20:40 +000053
54
Bram Moolenaarf37506f2016-08-31 22:22:10 +020055hi def link rtfControlWord Statement
56hi def link rtfNewControlWord Special
57hi def link rtfControlSymbol Constant
58hi def link rtfCharacter Character
59hi def link rtfUnicodeCharacter SpecialChar
60hi def link rtfFootNote Comment
Bram Moolenaar071d4272004-06-13 20:20:40 +000061
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020062" Define colors for the syntax file
63hi rtfRed term=underline cterm=underline ctermfg=DarkRed gui=underline guifg=DarkRed
64hi rtfGreen term=underline cterm=underline ctermfg=DarkGreen gui=underline guifg=DarkGreen
65hi rtfBlue term=underline cterm=underline ctermfg=DarkBlue gui=underline guifg=DarkBlue
Bram Moolenaar071d4272004-06-13 20:20:40 +000066
Bram Moolenaarf37506f2016-08-31 22:22:10 +020067hi def link rtfRed rtfRed
68hi def link rtfGreen rtfGreen
69hi def link rtfBlue rtfBlue
Bram Moolenaar071d4272004-06-13 20:20:40 +000070
Bram Moolenaar071d4272004-06-13 20:20:40 +000071
72
73let b:current_syntax = "rtf"
74
75" vim:ts=8