mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Rich Text Format
 | |
| "		"*.rtf" files
 | |
| "
 | |
| " The Rich Text Format (RTF) Specification is a method of encoding formatted
 | |
| " text and graphics for easy transfer between applications.
 | |
| " .hlp (windows help files) use compiled rtf files
 | |
| " rtf documentation at http://night.primate.wisc.edu/software/RTF/
 | |
| "
 | |
| " Maintainer:	Dominique Stéphan (dominique@mggen.com)
 | |
| " URL: http://www.mggen.com/vim/syntax/rtf.zip
 | |
| " Last change:	2001 Mai 02
 | |
| 
 | |
| " TODO: render underline, italic, bold
 | |
| 
 | |
| " For version 5.x: Clear all syntax items
 | |
| " For version 6.x: Quit when a syntax file was already loaded
 | |
| if version < 600
 | |
|   syntax clear
 | |
| elseif exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| " case on (all controls must be lower case)
 | |
| syn case match
 | |
| 
 | |
| " Control Words
 | |
| syn match rtfControlWord	"\\[a-z]\+[\-]\=[0-9]*"
 | |
| 
 | |
| " New Control Words (not in the 1987 specifications)
 | |
| syn match rtfNewControlWord	"\\\*\\[a-z]\+[\-]\=[0-9]*"
 | |
| 
 | |
| " Control Symbol : any \ plus a non alpha symbol, *, \, { and } and '
 | |
| syn match rtfControlSymbol	"\\[^a-zA-Z\*\{\}\\']"
 | |
| 
 | |
| " { } and \ are special characters, to use them
 | |
| " we add a backslash \
 | |
| syn match rtfCharacter		"\\\\"
 | |
| syn match rtfCharacter		"\\{"
 | |
| syn match rtfCharacter		"\\}"
 | |
| " Escaped characters (for 8 bytes characters upper than 127)
 | |
| syn match rtfCharacter		"\\'[A-Za-z0-9][A-Za-z0-9]"
 | |
| " Unicode
 | |
| syn match rtfUnicodeCharacter	"\\u[0-9][0-9]*"
 | |
| 
 | |
| " Color values, we will put this value in Red, Green or Blue
 | |
| syn match rtfRed		"\\red[0-9][0-9]*"
 | |
| syn match rtfGreen		"\\green[0-9][0-9]*"
 | |
| syn match rtfBlue		"\\blue[0-9][0-9]*"
 | |
| 
 | |
| " Some stuff for help files
 | |
| syn match rtfFootNote "[#$K+]{\\footnote.*}" contains=rtfControlWord,rtfNewControlWord
 | |
| 
 | |
| " Define the default highlighting.
 | |
| " For version 5.7 and earlier: only when not done already
 | |
| " For version 5.8 and later: only when an item doesn't have highlighting yet
 | |
| if version >= 508 || !exists("did_rtf_syntax_inits")
 | |
|   if version < 508
 | |
|     let did_rtf_syntax_inits = 1
 | |
|     command -nargs=+ HiLink hi link <args>
 | |
|   else
 | |
|     command -nargs=+ HiLink hi def link <args>
 | |
|   endif
 | |
| 
 | |
| 
 | |
|    HiLink rtfControlWord		Statement
 | |
|    HiLink rtfNewControlWord	Special
 | |
|    HiLink rtfControlSymbol	Constant
 | |
|    HiLink rtfCharacter		Character
 | |
|    HiLink rtfUnicodeCharacter	SpecialChar
 | |
|    HiLink rtfFootNote		Comment
 | |
| 
 | |
|    " Define colors for the syntax file
 | |
|    hi rtfRed	      term=underline cterm=underline ctermfg=DarkRed gui=underline guifg=DarkRed
 | |
|    hi rtfGreen	      term=underline cterm=underline ctermfg=DarkGreen gui=underline guifg=DarkGreen
 | |
|    hi rtfBlue	      term=underline cterm=underline ctermfg=DarkBlue gui=underline guifg=DarkBlue
 | |
| 
 | |
|    HiLink rtfRed	rtfRed
 | |
|    HiLink rtfGreen	rtfGreen
 | |
|    HiLink rtfBlue	rtfBlue
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| 
 | |
| let b:current_syntax = "rtf"
 | |
| 
 | |
| " vim:ts=8
 |