Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 (dominique@mggen.com) |
| 11 | " URL: http://www.mggen.com/vim/syntax/rtf.zip |
| 12 | " Last change: 2001 Mai 02 |
| 13 | |
| 14 | " TODO: render underline, italic, bold |
| 15 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 16 | " quit when a syntax file was already loaded |
| 17 | if exists("b:current_syntax") |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 18 | finish |
| 19 | endif |
| 20 | |
| 21 | " case on (all controls must be lower case) |
| 22 | syn case match |
| 23 | |
| 24 | " Control Words |
| 25 | syn match rtfControlWord "\\[a-z]\+[\-]\=[0-9]*" |
| 26 | |
| 27 | " New Control Words (not in the 1987 specifications) |
| 28 | syn match rtfNewControlWord "\\\*\\[a-z]\+[\-]\=[0-9]*" |
| 29 | |
| 30 | " Control Symbol : any \ plus a non alpha symbol, *, \, { and } and ' |
| 31 | syn match rtfControlSymbol "\\[^a-zA-Z\*\{\}\\']" |
| 32 | |
| 33 | " { } and \ are special characters, to use them |
| 34 | " we add a backslash \ |
| 35 | syn match rtfCharacter "\\\\" |
| 36 | syn match rtfCharacter "\\{" |
| 37 | syn match rtfCharacter "\\}" |
| 38 | " Escaped characters (for 8 bytes characters upper than 127) |
| 39 | syn match rtfCharacter "\\'[A-Za-z0-9][A-Za-z0-9]" |
| 40 | " Unicode |
| 41 | syn match rtfUnicodeCharacter "\\u[0-9][0-9]*" |
| 42 | |
| 43 | " Color values, we will put this value in Red, Green or Blue |
| 44 | syn match rtfRed "\\red[0-9][0-9]*" |
| 45 | syn match rtfGreen "\\green[0-9][0-9]*" |
| 46 | syn match rtfBlue "\\blue[0-9][0-9]*" |
| 47 | |
| 48 | " Some stuff for help files |
| 49 | syn match rtfFootNote "[#$K+]{\\footnote.*}" contains=rtfControlWord,rtfNewControlWord |
| 50 | |
| 51 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 52 | " Only when an item doesn't have highlighting yet |
| 53 | command -nargs=+ HiLink hi def link <args> |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 54 | |
| 55 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 56 | HiLink rtfControlWord Statement |
| 57 | HiLink rtfNewControlWord Special |
| 58 | HiLink rtfControlSymbol Constant |
| 59 | HiLink rtfCharacter Character |
| 60 | HiLink rtfUnicodeCharacter SpecialChar |
| 61 | HiLink rtfFootNote Comment |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 62 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 63 | " Define colors for the syntax file |
| 64 | hi rtfRed term=underline cterm=underline ctermfg=DarkRed gui=underline guifg=DarkRed |
| 65 | hi rtfGreen term=underline cterm=underline ctermfg=DarkGreen gui=underline guifg=DarkGreen |
| 66 | hi rtfBlue term=underline cterm=underline ctermfg=DarkBlue gui=underline guifg=DarkBlue |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 67 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 68 | HiLink rtfRed rtfRed |
| 69 | HiLink rtfGreen rtfGreen |
| 70 | HiLink rtfBlue rtfBlue |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 71 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 72 | delcommand HiLink |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 73 | |
| 74 | |
| 75 | let b:current_syntax = "rtf" |
| 76 | |
| 77 | " vim:ts=8 |