diff options
Diffstat (limited to 'vim')
-rw-r--r-- | vim/after/ftplugin/perl.vim | 9 | ||||
-rw-r--r-- | vim/autoload/perl.vim | 45 | ||||
-rw-r--r-- | vim/system/centos.vim | 5 |
3 files changed, 58 insertions, 1 deletions
diff --git a/vim/after/ftplugin/perl.vim b/vim/after/ftplugin/perl.vim index e9747aa3..37cd1c08 100644 --- a/vim/after/ftplugin/perl.vim +++ b/vim/after/ftplugin/perl.vim @@ -25,3 +25,12 @@ let b:undo_ftplugin = b:undo_ftplugin \ . '|nunmap <buffer> <LocalLeader>c' \ . '|nunmap <buffer> <LocalLeader>l' \ . '|nunmap <buffer> <LocalLeader>t' + +" Bump version numbers +nnoremap <buffer> <LocalLeader>v + \ :<C-U>call perl#BumpVersionMinor()<CR> +nnoremap <buffer> <LocalLeader>V + \ :<C-U>call perl#BumpVersionMajor()<CR> +let b:undo_ftplugin = b:undo_ftplugin + \ . '|nunmap <buffer> <LocalLeader>v' + \ . '|nunmap <buffer> <LocalLeader>V' diff --git a/vim/autoload/perl.vim b/vim/autoload/perl.vim new file mode 100644 index 00000000..5349eb49 --- /dev/null +++ b/vim/autoload/perl.vim @@ -0,0 +1,45 @@ +" Version number specifier format +let g:perl#verpat = '\m\C^' + \ . '\(our\s\+\$VERSION\s*=\D*\)' + \ . '\(\d\+\)\.\(\d\+\)' + \ . '\(.*\)' + +" Version number bumper +function! perl#BumpVersion(major) abort + let l:view = winsaveview() + let l:li = search(g:perl#verpat) + if !l:li + echomsg 'No version number declaration found' + return + endif + let l:matches = matchlist(getline(l:li), g:perl#verpat) + let [l:lvalue, l:major, l:minor, l:rest] + \ = matchlist(getline(l:li), g:perl#verpat)[1:4] + if a:major + let l:major = perl#Incf(l:major) + else + let l:minor = perl#Incf(l:minor) + endif + let l:version = l:major.'.'.l:minor + call setline(l:li, l:lvalue.l:version.l:rest) + if a:major + echomsg 'Bumped major $VERSION: '.l:version + else + echomsg 'Bumped minor $VERSION: '.l:version + endif + call winrestview(l:view) +endfunction + +" Explanatory wrappers +function! perl#BumpVersionMinor() abort + call perl#BumpVersion(0) +endfunction +function! perl#BumpVersionMajor() abort + call perl#BumpVersion(1) +endfunction + +" Helper function to format a number without decreasing its digit count +function! perl#Incf(num) abort + let l:inc = a:num + 1 + return repeat('0', strlen(a:num) - strlen(l:inc)).l:inc +endfunction diff --git a/vim/system/centos.vim b/vim/system/centos.vim index 26289bf8..0c5854d4 100644 --- a/vim/system/centos.vim +++ b/vim/system/centos.vim @@ -9,7 +9,10 @@ if has('cmdline_info') set ruler& endif if has('cscope') - set csprg& cst& csto& csverb& + set cscopeprg& + set cscopetag& + set cscopetagorder& + set cscopeverbose& silent! cs kill endif if has('gui') |