| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax support file | 
					
						
							|  |  |  | " Maintainer:	Bram Moolenaar <Bram@vim.org> | 
					
						
							| 
									
										
										
										
											2012-10-03 21:46:54 +02:00
										 |  |  | " Last Change:	2012 Sep 25 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " This file sets up for syntax highlighting. | 
					
						
							|  |  |  | " It is loaded from "syntax.vim" and "manual.vim". | 
					
						
							|  |  |  | " 1. Set the default highlight groups. | 
					
						
							|  |  |  | " 2. Install Syntax autocommands for all the available syntax files. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if !has("syntax") | 
					
						
							|  |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " let others know that syntax has been switched on | 
					
						
							|  |  |  | let syntax_on = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Set the default highlighting colors.  Use a color scheme if specified. | 
					
						
							|  |  |  | if exists("colors_name") | 
					
						
							|  |  |  |   exe "colors " . colors_name | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   runtime! syntax/syncolor.vim | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Line continuation is used here, remove 'C' from 'cpoptions' | 
					
						
							|  |  |  | let s:cpo_save = &cpo | 
					
						
							|  |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " First remove all old syntax autocommands. | 
					
						
							|  |  |  | au! Syntax | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | au Syntax *		call s:SynSet() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | fun! s:SynSet() | 
					
						
							|  |  |  |   " clear syntax for :set syntax=OFF  and any syntax name that doesn't exist | 
					
						
							|  |  |  |   syn clear | 
					
						
							|  |  |  |   if exists("b:current_syntax") | 
					
						
							|  |  |  |     unlet b:current_syntax | 
					
						
							|  |  |  |   endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   let s = expand("<amatch>") | 
					
						
							|  |  |  |   if s == "ON" | 
					
						
							|  |  |  |     " :set syntax=ON | 
					
						
							|  |  |  |     if &filetype == "" | 
					
						
							|  |  |  |       echohl ErrorMsg | 
					
						
							|  |  |  |       echo "filetype unknown" | 
					
						
							|  |  |  |       echohl None | 
					
						
							|  |  |  |     endif | 
					
						
							|  |  |  |     let s = &filetype | 
					
						
							| 
									
										
										
										
											2012-10-03 21:46:54 +02:00
										 |  |  |   elseif s == "OFF" | 
					
						
							|  |  |  |     let s = "" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if s != "" | 
					
						
							| 
									
										
										
										
											2006-03-18 21:40:56 +00:00
										 |  |  |     " Load the syntax file(s).  When there are several, separated by dots, | 
					
						
							|  |  |  |     " load each in sequence. | 
					
						
							|  |  |  |     for name in split(s, '\.') | 
					
						
							|  |  |  |       exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim" | 
					
						
							|  |  |  |     endfor | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   endif | 
					
						
							|  |  |  | endfun | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-11 20:34:49 +02:00
										 |  |  | " Handle adding doxygen to other languages (C, C++, C#, IDL, java, php, DataScript) | 
					
						
							|  |  |  | au Syntax c,cpp,cs,idl,java,php,datascript | 
					
						
							| 
									
										
										
										
											2004-09-02 19:12:26 +00:00
										 |  |  | 	\ if (exists('b:load_doxygen_syntax') && b:load_doxygen_syntax) | 
					
						
							|  |  |  | 	\	|| (exists('g:load_doxygen_syntax') && g:load_doxygen_syntax) | 
					
						
							| 
									
										
										
										
											2006-04-30 18:54:39 +00:00
										 |  |  | 	\   | runtime! syntax/doxygen.vim | 
					
						
							| 
									
										
										
										
											2004-09-02 19:12:26 +00:00
										 |  |  | 	\ | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Source the user-specified syntax highlighting file | 
					
						
							|  |  |  | if exists("mysyntaxfile") && filereadable(expand(mysyntaxfile)) | 
					
						
							|  |  |  |   execute "source " . mysyntaxfile | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Restore 'cpoptions' | 
					
						
							|  |  |  | let &cpo = s:cpo_save | 
					
						
							|  |  |  | unlet s:cpo_save |