| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:     EDIF (Electronic Design Interchange Format) | 
					
						
							|  |  |  | " Maintainer:   Artem Zankovich <z_artem@hotbox.ru> | 
					
						
							|  |  |  | " Last Change:  Oct 14, 2002 | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | " Supported standarts are: | 
					
						
							|  |  |  | "   ANSI/EIA Standard 548-1988 (EDIF Version 2 0 0) | 
					
						
							|  |  |  | "   IEC 61690-1 (EDIF Version 3 0 0) | 
					
						
							|  |  |  | "   IEC 61690-2 (EDIF Version 4 0 0) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | setlocal iskeyword=48-57,-,+,A-Z,a-z,_,& | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn region	edifList	matchgroup=Delimiter start="(" end=")" contains=edifList,edifKeyword,edifString,edifNumber | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Strings | 
					
						
							|  |  |  | syn match       edifInStringError    /%/ contained | 
					
						
							|  |  |  | syn match       edifInString    /%\s*\d\+\s*%/ contained | 
					
						
							|  |  |  | syn region      edifString      start=/"/ end=/"/ contains=edifInString,edifInStringError contained | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Numbers | 
					
						
							|  |  |  | syn match       edifNumber      "\<[-+]\=[0-9]\+\>" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Keywords | 
					
						
							|  |  |  | syn match       edifKeyword     "(\@<=\s*[a-zA-Z&][a-zA-Z_0-9]*\>" contained | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match       edifError       ")" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " synchronization | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | syntax sync fromstart | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Define the default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | hi def link edifInString		SpecialChar | 
					
						
							|  |  |  | hi def link edifKeyword		Keyword | 
					
						
							|  |  |  | hi def link edifNumber		Number | 
					
						
							|  |  |  | hi def link edifInStringError	edifError | 
					
						
							|  |  |  | hi def link edifError		Error | 
					
						
							|  |  |  | hi def link edifString		String | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "edif" |