# HG changeset patch # User Steve Losh # Date 1288312923 14400 # Node ID 903d37063c3dc44e6ebe075701b787265aa24cb4 # Parent 2d3ac23e7413cba6f95d26531c807f77b4b29f87# Parent 731f1e6565c484c273312442fae1e1339c3702cf Merge. diff -r 2d3ac23e7413 -r 903d37063c3d doc/gundo.txt --- a/doc/gundo.txt Thu Oct 28 20:16:09 2010 -0400 +++ b/doc/gundo.txt Thu Oct 28 20:42:03 2010 -0400 @@ -19,7 +19,8 @@ 3. Configuration .................. |GundoConfig| 3.1 gundo_width ............... |gundo_width| 3.2 gundo_preview_height ...... |gundo_preview_height| - 3.2 gundo_right ............... |gundo_right| + 3.3 gundo_preview_bottom ...... |gundo_preview_bottom| + 3.4 gundo_right ............... |gundo_right| 4. License ........................ |GundoLicense| 5. Bugs ........................... |GundoBugs| 6. Contributing ................... |GundoContributing| @@ -136,7 +137,24 @@ Default: 15 ------------------------------------------------------------------------------ -3.3 g:gundo_right *gundo_right* +3.3 g:gundo_preview_bottom *gundo_preview_bottom* + +Force the preview window below current windows instead of below the graph. +This gives the preview window more space to show the unified diff. + +Example: + + +--------+ +--------+ + !g! ! ! !g! + !g! ! or ! !g! + !g!______! !______!g! + !g!pppppp! !pppppp!g! + +--------+ +--------+ + +Default: 0 + +------------------------------------------------------------------------------ +3.4 g:gundo_right *gundo_right* Set this to 1 to make the Gundo graph (and preview) open on the right side instead of the left. diff -r 2d3ac23e7413 -r 903d37063c3d plugin/gundo.vim --- a/plugin/gundo.vim Thu Oct 28 20:16:09 2010 -0400 +++ b/plugin/gundo.vim Thu Oct 28 20:42:03 2010 -0400 @@ -48,6 +48,9 @@ if !exists('g:gundo_preview_height')"{{{ let g:gundo_preview_height = 15 endif"}}} +if !exists('g:gundo_preview_bottom')"{{{ + let g:gundo_preview_bottom = 0 +endif"}}} if !exists('g:gundo_right')"{{{ let g:gundo_right = 0 endif"}}} @@ -583,8 +586,15 @@ let existing_gundo_buffer = bufnr("__Gundo__") if existing_gundo_buffer == -1 - exe bufwinnr(bufnr('__Gundo_Preview__')) . "wincmd w" + call s:GundoGoToWindowForBufferName('__Gundo_Preview__') exe "new __Gundo__" + if g:gundo_preview_bottom + if g:gundo_right + wincmd L + else + wincmd H + endif + endif call s:GundoResizeBuffers(winnr()) else let existing_gundo_window = bufwinnr(existing_gundo_buffer) @@ -594,8 +604,16 @@ exe existing_gundo_window . "wincmd w" endif else - exe bufwinnr(bufnr('__Gundo_Preview__')) . "wincmd w" - exe "split +buffer" . existing_gundo_buffer + call s:GundoGoToWindowForBufferName('__Gundo_Preview__') + if g:gundo_preview_bottom + if g:gundo_right + exe "botright vsplit +buffer" . existing_gundo_buffer + else + exe "topleft vsplit +buffer" . existing_gundo_buffer + endif + else + exe "split +buffer" . existing_gundo_buffer + endif call s:GundoResizeBuffers(winnr()) endif endif @@ -605,12 +623,14 @@ let existing_preview_buffer = bufnr("__Gundo_Preview__") if existing_preview_buffer == -1 - exe "vnew __Gundo_Preview__" - - if g:gundo_right - wincmd L + if g:gundo_preview_bottom + exe "botright new __Gundo_Preview__" else - wincmd H + if g:gundo_right + exe "botright vnew __Gundo_Preview__" + else + exe "topleft vnew __Gundo_Preview__" + endif endif else let existing_preview_window = bufwinnr(existing_preview_buffer) @@ -620,12 +640,14 @@ exe existing_preview_window . "wincmd w" endif else - exe "vsplit +buffer" . existing_preview_buffer - - if g:gundo_right - wincmd L + if g:gundo_preview_bottom + exe "botright split +buffer" . existing_preview_buffer else - wincmd H + if g:gundo_right + exe "botright vsplit +buffer" . existing_preview_buffer + else + exe "topleft vsplit +buffer" . existing_preview_buffer + endif endif endif endif @@ -889,7 +911,9 @@ return target_n = int(vim.eval('s:GundoGetTargetState()')) - back = int(vim.eval('bufwinnr(g:gundo_target_n)')) + back = int(vim.eval('g:gundo_target_n')) + + vim.command('echo "%s"' % back) _goto_window_for_buffer(back) normal('zR')