| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim Compiler File | 
					
						
							|  |  |  | " Compiler:     Perl syntax checks (perl -Wc) | 
					
						
							| 
									
										
										
										
											2010-05-30 22:48:02 +02:00
										 |  |  | " Maintainer:   Christian J. Robinson <heptite@gmail.com> | 
					
						
							| 
									
										
										
										
											2008-06-24 22:09:24 +00:00
										 |  |  | " Last Change:  2006 Aug 13 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if exists("current_compiler") | 
					
						
							|  |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | let current_compiler = "perl" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if exists(":CompilerSet") != 2		" older Vim always used :setlocal | 
					
						
							|  |  |  |   command -nargs=* CompilerSet setlocal <args> | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let s:savecpo = &cpo | 
					
						
							|  |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-24 22:09:24 +00:00
										 |  |  | if exists('g:perl_compiler_force_warnings') && g:perl_compiler_force_warnings == 0 | 
					
						
							|  |  |  | 	let s:warnopt = 'w' | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | 	let s:warnopt = 'W' | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | if getline(1) =~# '-[^ ]*T' | 
					
						
							| 
									
										
										
										
											2008-06-24 22:09:24 +00:00
										 |  |  | 	let s:taintopt = 'T' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2008-06-24 22:09:24 +00:00
										 |  |  | 	let s:taintopt = '' | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-24 22:09:24 +00:00
										 |  |  | exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | CompilerSet errorformat= | 
					
						
							|  |  |  | 	\%-G%.%#had\ compilation\ errors., | 
					
						
							|  |  |  | 	\%-G%.%#syntax\ OK, | 
					
						
							|  |  |  | 	\%m\ at\ %f\ line\ %l., | 
					
						
							|  |  |  | 	\%+A%.%#\ at\ %f\ line\ %l\\,%.%#, | 
					
						
							|  |  |  | 	\%+C%.%# | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Explanation: | 
					
						
							|  |  |  | " %-G%.%#had\ compilation\ errors.,  - Ignore the obvious. | 
					
						
							|  |  |  | " %-G%.%#syntax\ OK,                 - Don't include the 'a-okay' message. | 
					
						
							|  |  |  | " %m\ at\ %f\ line\ %l.,             - Most errors... | 
					
						
							|  |  |  | " %+A%.%#\ at\ %f\ line\ %l\\,%.%#,  - As above, including ', near ...' | 
					
						
							|  |  |  | " %+C%.%#                            -   ... Which can be multi-line. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let &cpo = s:savecpo | 
					
						
							|  |  |  | unlet s:savecpo |