aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/rails_locale_alternate.vim
blob: b0a82f0811369bfbfb2693be1fdfe6184ecce277 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function! s:AlternateLocale(key)
	let filename = expand('%')
	let alternate = substitute(filename, '\a\{2}\.yml', a:key . '.yml', '')
	return alternate
endfunction


function! s:SplitAlternate(key, modifiers)
	execute a:modifiers . ' split ' . s:AlternateLocale(a:key)
endfunction


function! s:CreateCommands()
	command! -buffer -nargs=1 RailsLocaleAlternate :call s:SplitAlternate(<q-args>, <q-mods>)
	command! -buffer -nargs=1 ERailsLocaleAlternate :execute 'edit ' . s:AlternateLocale(<q-args>)
	command! -buffer -nargs=1 SRailsLocaleAlternate :call s:SplitAlternate(<q-args>, '')
	command! -buffer -nargs=1 VRailsLocaleAlternate :call s:SplitAlternate(<q-args>, 'vertical')
endfunction

augroup rails_locale_alternate
	autocmd!

	autocmd BufNewFile,BufRead config/locales/*.\a\a.yml call s:CreateCommands()
augroup END