1" 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 ([email protected]) 11" URL: http://www.mggen.com/vim/syntax/rtf.zip 12" Last change: 2001 Mai 02 13 14" TODO: render underline, italic, bold 15 16" quit when a syntax file was already loaded 17if exists("b:current_syntax") 18 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. 52" Only when an item doesn't have highlighting yet 53 54 55hi 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 61 62" 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 66 67hi def link rtfRed rtfRed 68hi def link rtfGreen rtfGreen 69hi def link rtfBlue rtfBlue 70 71 72 73let b:current_syntax = "rtf" 74 75" vim:ts=8 76