| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim filetype plugin file | 
					
						
							|  |  |  | " Language:	Perl | 
					
						
							| 
									
										
										
										
											2010-01-06 20:54:52 +01:00
										 |  |  | " Maintainer:	Dan Sharp <dwsharp at users dot sourceforge dot net> | 
					
						
							|  |  |  | " Last Change:  20 Jan 2009 | 
					
						
							|  |  |  | " URL:		http://dwsharp.users.sourceforge.net/vim/ftplugin | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if exists("b:did_ftplugin") | finish | endif | 
					
						
							|  |  |  | let b:did_ftplugin = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Make sure the continuation lines below do not cause problems in | 
					
						
							|  |  |  | " compatibility mode. | 
					
						
							|  |  |  | let s:save_cpo = &cpo | 
					
						
							|  |  |  | set cpo-=C | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | setlocal formatoptions+=crq | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | setlocal keywordprg=perldoc\ -f | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | setlocal comments=:# | 
					
						
							|  |  |  | setlocal commentstring=#%s | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Change the browse dialog on Win32 to show mainly Perl-related files | 
					
						
							|  |  |  | if has("gui_win32") | 
					
						
							|  |  |  |     let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" . | 
					
						
							|  |  |  | 		       \ "Perl Modules (*.pm)\t*.pm\n" . | 
					
						
							|  |  |  | 		       \ "Perl Documentation Files (*.pod)\t*.pod\n" . | 
					
						
							|  |  |  | 		       \ "All Files (*.*)\t*.*\n" | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Provided by Ned Konz <ned at bike-nomad dot com> | 
					
						
							|  |  |  | "--------------------------------------------- | 
					
						
							| 
									
										
										
										
											2005-12-16 21:53:56 +00:00
										 |  |  | setlocal include=\\<\\(use\\\|require\\)\\> | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.pm','') | 
					
						
							|  |  |  | setlocal define=[^A-Za-z_] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " The following line changes a global variable but is necessary to make | 
					
						
							|  |  |  | " gf and similar commands work.  The change to iskeyword was incorrect. | 
					
						
							|  |  |  | " Thanks to Andrew Pimlott for pointing out the problem. If this causes a | 
					
						
							|  |  |  | " problem for you, add an after/ftplugin/perl.vim file that contains | 
					
						
							|  |  |  | "       set isfname-=: | 
					
						
							|  |  |  | set isfname+=: | 
					
						
							|  |  |  | "setlocal iskeyword=48-57,_,A-Z,a-z,: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Set this once, globally. | 
					
						
							|  |  |  | if !exists("perlpath") | 
					
						
							|  |  |  |     if executable("perl") | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  |       try | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 	if &shellxquote != '"' | 
					
						
							|  |  |  | 	    let perlpath = system('perl -e "print join(q/,/,@INC)"') | 
					
						
							|  |  |  | 	else | 
					
						
							|  |  |  | 	    let perlpath = system("perl -e 'print join(q/,/,@INC)'") | 
					
						
							|  |  |  | 	endif | 
					
						
							|  |  |  | 	let perlpath = substitute(perlpath,',.$',',,','') | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  |       catch /E145:/ | 
					
						
							|  |  |  | 	let perlpath = ".,," | 
					
						
							|  |  |  |       endtry | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |     else | 
					
						
							|  |  |  | 	" If we can't call perl to get its path, just default to using the | 
					
						
							|  |  |  | 	" current directory and the directory of the current file. | 
					
						
							|  |  |  | 	let perlpath = ".,," | 
					
						
							|  |  |  |     endif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let &l:path=perlpath | 
					
						
							|  |  |  | "--------------------------------------------- | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Undo the stuff we changed. | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp<" . | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 	    \	      " | unlet! b:browsefilter" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Restore the saved compatibility options. | 
					
						
							|  |  |  | let &cpo = s:save_cpo |