summaryrefslogtreecommitdiffstats
path: root/vim/ftplugin/perl.vim
blob: a7705a73adcfe8578bd7a4332a340e78343814f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
let b:ale_linters = { 'perl': ['perlcritic'] }
" rainbow parens break syntax-based indent
autocmd vimrc BufEnter <buffer> let b:indent_use_syntax = 0

" look up words in perldoc rather than man for K
function! s:perldoc(word)
    exe 'silent read! perldoc -o PlainText -f "' . a:word . '" 2>/dev/null || perldoc -o PlainText "' . a:word . '"'
    setlocal ft=man
endfunction
nnoremap <buffer> <silent>K :call Help(0, [':'], '<SID>perldoc')<CR>
vnoremap <buffer> <silent>K :call Help(1, [':'], '<SID>perldoc')<CR>

function! s:set_excludes()
    if filereadable("dist.ini")
        for line in readfile("dist.ini", '', 10)
            let name = matchstr(line, '\s*name\s*=\s*\zs.*')
            if name != ""
                exe 'setlocal wildignore+=' . name . '-*/*'
                break
            endif
        endfor
    endif
endfunction
autocmd BufReadPost * call <SID>set_excludes()
call <SID>set_excludes()