xref: /vim-8.2.3635/runtime/syntax/rtf.vim (revision cb80aa2d)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	Rich Text Format
3071d4279SBram Moolenaar"		"*.rtf" files
4071d4279SBram Moolenaar"
5071d4279SBram Moolenaar" The Rich Text Format (RTF) Specification is a method of encoding formatted
6071d4279SBram Moolenaar" text and graphics for easy transfer between applications.
7071d4279SBram Moolenaar" .hlp (windows help files) use compiled rtf files
8071d4279SBram Moolenaar" rtf documentation at http://night.primate.wisc.edu/software/RTF/
9071d4279SBram Moolenaar"
10*cb80aa2dSBram Moolenaar" Maintainer:	Dominique Stéphan ([email protected])
11071d4279SBram Moolenaar" URL: http://www.mggen.com/vim/syntax/rtf.zip
12071d4279SBram Moolenaar" Last change:	2001 Mai 02
13071d4279SBram Moolenaar
14071d4279SBram Moolenaar" TODO: render underline, italic, bold
15071d4279SBram Moolenaar
1689bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1789bcfda6SBram Moolenaarif exists("b:current_syntax")
18071d4279SBram Moolenaar  finish
19071d4279SBram Moolenaarendif
20071d4279SBram Moolenaar
21071d4279SBram Moolenaar" case on (all controls must be lower case)
22071d4279SBram Moolenaarsyn case match
23071d4279SBram Moolenaar
24071d4279SBram Moolenaar" Control Words
25071d4279SBram Moolenaarsyn match rtfControlWord	"\\[a-z]\+[\-]\=[0-9]*"
26071d4279SBram Moolenaar
27071d4279SBram Moolenaar" New Control Words (not in the 1987 specifications)
28071d4279SBram Moolenaarsyn match rtfNewControlWord	"\\\*\\[a-z]\+[\-]\=[0-9]*"
29071d4279SBram Moolenaar
30071d4279SBram Moolenaar" Control Symbol : any \ plus a non alpha symbol, *, \, { and } and '
31071d4279SBram Moolenaarsyn match rtfControlSymbol	"\\[^a-zA-Z\*\{\}\\']"
32071d4279SBram Moolenaar
33071d4279SBram Moolenaar" { } and \ are special characters, to use them
34071d4279SBram Moolenaar" we add a backslash \
35071d4279SBram Moolenaarsyn match rtfCharacter		"\\\\"
36071d4279SBram Moolenaarsyn match rtfCharacter		"\\{"
37071d4279SBram Moolenaarsyn match rtfCharacter		"\\}"
38071d4279SBram Moolenaar" Escaped characters (for 8 bytes characters upper than 127)
39071d4279SBram Moolenaarsyn match rtfCharacter		"\\'[A-Za-z0-9][A-Za-z0-9]"
40071d4279SBram Moolenaar" Unicode
41071d4279SBram Moolenaarsyn match rtfUnicodeCharacter	"\\u[0-9][0-9]*"
42071d4279SBram Moolenaar
43071d4279SBram Moolenaar" Color values, we will put this value in Red, Green or Blue
44071d4279SBram Moolenaarsyn match rtfRed		"\\red[0-9][0-9]*"
45071d4279SBram Moolenaarsyn match rtfGreen		"\\green[0-9][0-9]*"
46071d4279SBram Moolenaarsyn match rtfBlue		"\\blue[0-9][0-9]*"
47071d4279SBram Moolenaar
48071d4279SBram Moolenaar" Some stuff for help files
49071d4279SBram Moolenaarsyn match rtfFootNote "[#$K+]{\\footnote.*}" contains=rtfControlWord,rtfNewControlWord
50071d4279SBram Moolenaar
51071d4279SBram Moolenaar" Define the default highlighting.
5289bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
53071d4279SBram Moolenaar
54071d4279SBram Moolenaar
55f37506f6SBram Moolenaarhi def link rtfControlWord		Statement
56f37506f6SBram Moolenaarhi def link rtfNewControlWord	Special
57f37506f6SBram Moolenaarhi def link rtfControlSymbol	Constant
58f37506f6SBram Moolenaarhi def link rtfCharacter		Character
59f37506f6SBram Moolenaarhi def link rtfUnicodeCharacter	SpecialChar
60f37506f6SBram Moolenaarhi def link rtfFootNote		Comment
61071d4279SBram Moolenaar
62071d4279SBram Moolenaar" Define colors for the syntax file
63071d4279SBram Moolenaarhi rtfRed	      term=underline cterm=underline ctermfg=DarkRed gui=underline guifg=DarkRed
64071d4279SBram Moolenaarhi rtfGreen	      term=underline cterm=underline ctermfg=DarkGreen gui=underline guifg=DarkGreen
65071d4279SBram Moolenaarhi rtfBlue	      term=underline cterm=underline ctermfg=DarkBlue gui=underline guifg=DarkBlue
66071d4279SBram Moolenaar
67f37506f6SBram Moolenaarhi def link rtfRed	rtfRed
68f37506f6SBram Moolenaarhi def link rtfGreen	rtfGreen
69f37506f6SBram Moolenaarhi def link rtfBlue	rtfBlue
70071d4279SBram Moolenaar
71071d4279SBram Moolenaar
72071d4279SBram Moolenaar
73071d4279SBram Moolenaarlet b:current_syntax = "rtf"
74071d4279SBram Moolenaar
75071d4279SBram Moolenaar" vim:ts=8
76