mirror of
				https://github.com/vim/vim.git
				synced 2025-11-03 09:44:48 -05: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<53>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
							 |