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 53command -nargs=+ HiLink hi def link <args> 54 55 56HiLink rtfControlWord Statement 57HiLink rtfNewControlWord Special 58HiLink rtfControlSymbol Constant 59HiLink rtfCharacter Character 60HiLink rtfUnicodeCharacter SpecialChar 61HiLink rtfFootNote Comment 62 63" 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 67 68HiLink rtfRed rtfRed 69HiLink rtfGreen rtfGreen 70HiLink rtfBlue rtfBlue 71 72delcommand HiLink 73 74 75let b:current_syntax = "rtf" 76 77" vim:ts=8 78