[Vim-latex-cvs] vimfiles/ftplugin/latex-suite envmacros.vim,1.4,1.5
Brought to you by:
srinathava,
tmaas
From: <mi...@us...> - 2002-11-14 23:02:57
|
Update of /cvsroot/vim-latex/vimfiles/ftplugin/latex-suite In directory usw-pr-cvs1:/tmp/cvs-serv30857 Modified Files: envmacros.vim Log Message: now changing of environments works for all of them cursor stays at the position Index: envmacros.vim =================================================================== RCS file: /cvsroot/vim-latex/vimfiles/ftplugin/latex-suite/envmacros.vim,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** envmacros.vim 14 Nov 2002 09:39:14 -0000 1.4 --- envmacros.vim 14 Nov 2002 23:02:53 -0000 1.5 *************** *** 3,7 **** " Author: Mikolaj Machowski " Created: Tue Apr 23 08:00 PM 2002 PST ! " Last Change: czw lis 14 01:00 2002 C " " Description: mappings/menus for environments. --- 3,7 ---- " Author: Mikolaj Machowski " Created: Tue Apr 23 08:00 PM 2002 PST ! " Last Change: pi± lis 15 12:00 2002 C " " Description: mappings/menus for environments. *************** *** 443,446 **** --- 443,447 ---- inoremap <buffer> <F5> <C-0>:call Tex_DoEnvironment("asdf")<CR> noremap <buffer> <F5> :call Tex_DoEnvironment("asdf")<CR> + function! Tex_DoEnvironment(env) " {{{ let l = getline(".") *************** *** 490,493 **** --- 491,496 ---- "let b:searchmax = 100 + let s:math_environment = 'eqnarray,eqnarray*,align,align*,equation,equation*,[,$$' + let s:item_environment = 'list,trivlist,enumerate,itemize,theindex' function Tex_change_environment() " {{{ let env_line = searchpair("\\[\\|begin{", "", "\\]\\|end{", "bn") *************** *** 496,500 **** let env_name = "[" else ! let env_name = matchstr(getline(line), 'begin{\zs.\{-}\ze}') endif endif --- 499,503 ---- let env_name = "[" else ! let env_name = matchstr(getline(env_line), 'begin{\zs.\{-}\ze}') endif endif *************** *** 503,530 **** return 0 endif ! exe "let change_env = input('You are within a \"".env_name."\" environment.\n". ! \ "Do you want to change it to?\n". ! \ "(1) eqnarray (2) eqnarray*\n". ! \ "(3) align (4) align*\n". ! \ "(5) equation* (6) leave unchanged\n". ! \ "Enter number: ')" ! if change_env == 1 ! call <SID>Change('eqnarray', 1, '', 1) ! elseif change_env == 2 ! call <SID>Change('eqnarray*', 0, '\\nonumber', 0) ! elseif change_env == 3 ! call <SID>Change('align', 1, '', 1) ! elseif change_env == 4 ! call <SID>Change('align*', 0, '\\nonumber', 0) ! elseif change_env == 5 ! call <SID>Change('equation*', 0, '&\|\\lefteqn{\|\\nonumber\|\\\\', 0) ! elseif change_env == 6 ! return 0 else ! echomsg "Wrong argument" ! return 0 endif endfunction " }}} function! s:Change(env, label, delete, putInNonumber) " {{{ if a:env == '[' if b:DoubleDollars == 0 --- 506,548 ---- return 0 endif ! if s:math_environment =~ env_name ! exe "let change_env = input('You are within a \"".env_name."\" environment.\n". ! \ "Do you want to change it to?\n". ! \ "(1) eqnarray (2) eqnarray*\n". ! \ "(3) align (4) align*\n". ! \ "(5) equation* (6) other\n". ! \ "(7) leave unchanged\n". ! \ "Enter number: ')" ! if change_env == 1 ! call <SID>Change('eqnarray', 1, '', 1) ! elseif change_env == 2 ! call <SID>Change('eqnarray*', 0, '\\nonumber', 0) ! elseif change_env == 3 ! call <SID>Change('align', 1, '', 1) ! elseif change_env == 4 ! call <SID>Change('align*', 0, '\\nonumber', 0) ! elseif change_env == 5 ! call <SID>Change('equation*', 0, '&\|\\lefteqn{\|\\nonumber\|\\\\', 0) ! elseif change_env == 6 ! call <SID>Change(input('Environment? '), 0, '', '') ! elseif change_env == 7 ! return 0 ! else ! echomsg "Wrong argument" ! return 0 ! endif else ! exe "let change_env = input('You are within a \"".env_name."\" environment.\n". ! \ "You want to change it for (<cr> to abandon): ')" ! if change_env == '' ! return 0 ! else ! call <SID>Change(change_env, 0, '', '') ! endif endif endfunction " }}} function! s:Change(env, label, delete, putInNonumber) " {{{ + let start_line = line('.') + let start_col = virtcol('.') if a:env == '[' if b:DoubleDollars == 0 *************** *** 564,572 **** exe top if getline(top+1) !~ '.*label.*' ! put ='\label{}' normal $ endif else exe 'silent '.top . ',' . bottom . ' g/\\label/delete' endif endfunction " }}} --- 582,598 ---- exe top if getline(top+1) !~ '.*label.*' ! let local_label = input('Label? ') ! if local_label != '' ! put = '\label{'.local_label.'}' ! endif normal $ endif else exe 'silent '.top . ',' . bottom . ' g/\\label/delete' + endif + if exists("local_label") && local_label != '' + exe start_line + 1.' | normal! '.start_col.'|' + else + exe start_line.' | normal! '.start_col.'|' endif endfunction " }}} |