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