diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-08-15 09:19:57 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-08-15 09:19:57 +1200 |
commit | 259161077e666a77c887bb5beaeeb1c2af6198b0 (patch) | |
tree | 3e097be587bf0276069481d05b0ae2a61f0e437b /vim/after | |
parent | Use consistent format for local leader mappings (diff) | |
download | dotfiles-259161077e666a77c887bb5beaeeb1c2af6198b0.tar.gz dotfiles-259161077e666a77c887bb5beaeeb1c2af6198b0.zip |
Move Perl boilerplate generation to autoload
Diffstat (limited to 'vim/after')
-rw-r--r-- | vim/after/ftplugin/perl.vim | 61 |
1 files changed, 1 insertions, 60 deletions
diff --git a/vim/after/ftplugin/perl.vim b/vim/after/ftplugin/perl.vim index 9c3ce6f6..ee8da2a7 100644 --- a/vim/after/ftplugin/perl.vim +++ b/vim/after/ftplugin/perl.vim @@ -13,65 +13,6 @@ let b:undo_ftplugin .= '|unlet b:current_compiler' setlocal matchpairs+=<:> let b:undo_ftplugin .= '|setlocal matchpairs<' -" Function to add boilerplate intelligently -function! s:Boilerplate() abort - - " Flag whether the buffer started blank - let l:blank = line2byte(line('$') + 1) <= 2 - - " This is a .pm file, guess its package name from path - if expand('%:e') ==# 'pm' - - let l:match = matchlist(expand('%:p'), '.*/lib/\(.\+\).pm$') - if len(l:match) - let l:package = substitute(l:match[1], '/', '::', 'g') - else - let l:package = expand('%:t:r') - endif - - " Otherwise, just use 'main' - else - let l:package = 'main' - endif - - " Lines always to add - let l:lines = [ - \ 'package '.l:package.';', - \ '', - \ 'use strict;', - \ 'use warnings;', - \ 'use utf8;', - \ '', - \ 'use 5.006;', - \ '', - \ 'our $VERSION = ''0.01'';', - \ '' - \ ] - - " Conditional lines depending on package - if l:package ==# 'main' - let l:lines = ['#!perl'] + l:lines - else - let l:lines = l:lines + ['', '1;'] - endif - - " Add all the lines in the array - for l:line in l:lines - call append(line('.') - 1, l:line) - endfor - - " If we started in a completely empty buffer, delete the current blank line - if l:blank - delete - endif - - " If we added a trailing '1' for a package, move the cursor up two lines - if l:package !=# 'main' - -2 - endif - -endfunction - " Stop here if the user doesn't want ftplugin mappings if exists('g:no_plugin_maps') || exists('g:no_perl_maps') finish @@ -79,7 +20,7 @@ endif " Add boilerplate intelligently nnoremap <buffer> <silent> <LocalLeader>b - \ :<C-U>call <SID>Boilerplate()<CR> + \ :<C-U>call perl#Boilerplate()<CR> let b:undo_ftplugin .= '|nunmap <buffer> <LocalLeader>b' " Mappings to choose compiler |