You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
684 B
VimL
17 lines
684 B
VimL
10 years ago
|
if !exists('g:puppet_align_hashes')
|
||
|
let g:puppet_align_hashes = 1
|
||
|
endif
|
||
|
|
||
|
if g:puppet_align_hashes && exists(':Tabularize')
|
||
|
inoremap <buffer> <silent> > ><Esc>:call <SID>puppetalign()<CR>a
|
||
|
function! s:puppetalign()
|
||
|
let p = '^\s*\w+\s*[=+]>.*$'
|
||
|
let column = strlen(substitute(getline('.')[0:col('.')],'\([^=]\|=[^>]\)','','g'))
|
||
|
let position = strlen(matchstr(getline('.')[0:col('.')],'.*=>\s*\zs.*'))
|
||
|
Tabularize /=>/l1
|
||
|
normal! 0
|
||
|
echo repeat('\([^=]\|=[^>]\)*=>',column).'\s\{-\}'.repeat('.',position)
|
||
|
call search(repeat('\([^=]\|=[^>]\)*=>',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
|
||
|
endfunction
|
||
|
endif
|