1 " Vim filetype plugin file
3 " Maintainer: vim-perl <vim-perl@googlegroups.com>
4 " Homepage: http://github.com/vim-perl/vim-perl
5 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
6 " Last Change: 2013-07-21
8 if exists("b:did_ftplugin") | finish | endif
11 " Make sure the continuation lines below do not cause problems in
16 setlocal formatoptions-=t
17 setlocal formatoptions+=crqol
18 setlocal keywordprg=perldoc\ -f
21 setlocal commentstring=#%s
23 " Change the browse dialog on Win32 to show mainly Perl-related files
25 let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" .
26 \ "Perl Modules (*.pm)\t*.pm\n" .
27 \ "Perl Documentation Files (*.pod)\t*.pod\n" .
28 \ "All Files (*.*)\t*.*\n"
31 " Provided by Ned Konz <ned at bike-nomad dot com>
32 "---------------------------------------------
33 setlocal include=\\<\\(use\\\|require\\)\\>
34 setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
35 setlocal define=[^A-Za-z_]
37 " The following line changes a global variable but is necessary to make
38 " gf and similar commands work. The change to iskeyword was incorrect.
39 " Thanks to Andrew Pimlott for pointing out the problem. If this causes a
40 " problem for you, add an after/ftplugin/perl.vim file that contains
45 " Set this once, globally.
46 if !exists("perlpath")
49 if &shellxquote != '"'
50 let perlpath = system('perl -e "print join(q/,/,@INC)"')
52 let perlpath = system("perl -e 'print join(q/,/,@INC)'")
54 let perlpath = substitute(perlpath,',.$',',,','')
59 " If we can't call perl to get its path, just default to using the
60 " current directory and the directory of the current file.
65 " Append perlpath to the existing path value, if it is set. Since we don't
66 " use += to do it because of the commas in perlpath, we have to handle the
67 " global / local settings, too.
72 let &l:path=&g:path.",".perlpath
75 let &l:path=&l:path.",".perlpath
77 "---------------------------------------------
79 " Undo the stuff we changed.
80 let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .
81 \ " | unlet! b:browsefilter"
83 " proper matching for matchit plugin
84 let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
86 " Restore the saved compatibility options.