mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:7.4.2010
Problem: There is a :cbottom command but no :lbottom command.
Solution: Add :lbottom. (Yegappan Lakshmanan)
537ef08408
This commit is contained in:
parent
f224f3fbf1
commit
2c59277ca8
@ -1129,6 +1129,7 @@ tag command action ~
|
||||
|:caddfile| :caddf[ile] add error message to current quickfix list
|
||||
|:call| :cal[l] call a function
|
||||
|:catch| :cat[ch] part of a :try command
|
||||
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|
||||
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|
||||
|:cc| :cc go to specific error
|
||||
|:cclose| :ccl[ose] close quickfix window
|
||||
@ -1286,6 +1287,7 @@ tag command action ~
|
||||
|:last| :la[st] go to the last file in the argument list
|
||||
|:language| :lan[guage] set the language (locale)
|
||||
|:later| :lat[er] go to newer change, redo
|
||||
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|
||||
|:lbuffer| :lb[uffer] parse locations and jump to first location
|
||||
|:lcd| :lc[d] change directory locally
|
||||
|:lchdir| :lch[dir] change directory locally
|
||||
|
@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jul 01
|
||||
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jul 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -428,12 +428,17 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
:lw[indow] [height] Same as ":cwindow", except use the window showing the
|
||||
location list for the current window.
|
||||
|
||||
*:cbo* *:cbottom*
|
||||
:cbo[ttom] Put the cursor in the last line of the quickfix window
|
||||
and scroll to make it visible. This is useful for
|
||||
when errors are added by an asynchronous callback.
|
||||
Only call it once in a while if there are many
|
||||
updates to avoid a lot of redrawing.
|
||||
|
||||
*:lbo* *:lbottom*
|
||||
:lbo[ttom] Same as ":cbottom", except use the window showing the
|
||||
location list for the current window.
|
||||
|
||||
Normally the quickfix window is at the bottom of the screen. If there are
|
||||
vertical splits, it's at the bottom of the rightmost column of windows. To
|
||||
make it always occupy the full width: >
|
||||
|
@ -1271,6 +1271,12 @@ return {
|
||||
addr_type=ADDR_LINES,
|
||||
func='ex_later',
|
||||
},
|
||||
{
|
||||
command='lbottom',
|
||||
flags=bit.bor(TRLBAR),
|
||||
addr_type=ADDR_LINES,
|
||||
func='ex_cbottom',
|
||||
},
|
||||
{
|
||||
command='lbuffer',
|
||||
flags=bit.bor(BANG, RANGE, NOTADR, WORD1, TRLBAR),
|
||||
|
@ -2449,10 +2449,20 @@ static void qf_win_goto(win_T *win, linenr_T lnum)
|
||||
curbuf = curwin->w_buffer;
|
||||
}
|
||||
|
||||
// :cbottom command.
|
||||
// :cbottom/:lbottom command.
|
||||
void ex_cbottom(exarg_T *eap)
|
||||
{
|
||||
win_T *win = qf_find_win(&ql_info);
|
||||
qf_info_T *qi = &ql_info;
|
||||
|
||||
if (eap->cmdidx == CMD_lbottom) {
|
||||
qi = GET_LOC_LIST(curwin);
|
||||
if (qi == NULL) {
|
||||
EMSG(_(e_loclist));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
win_T *win = qf_find_win(qi);
|
||||
|
||||
if (win != NULL && win->w_cursor.lnum != win->w_buffer->b_ml.ml_line_count) {
|
||||
qf_win_goto(win, win->w_buffer->b_ml.ml_line_count);
|
||||
|
@ -15,6 +15,7 @@ function! s:setup_commands(cchar)
|
||||
command! -nargs=* Xnewer <mods>cnewer <args>
|
||||
command! -nargs=* Xopen <mods>copen <args>
|
||||
command! -nargs=* Xwindow <mods>cwindow <args>
|
||||
command! -nargs=* Xbottom <mods>cbottom <args>
|
||||
command! -nargs=* Xclose <mods>cclose <args>
|
||||
command! -nargs=* -bang Xfile <mods>cfile<bang> <args>
|
||||
command! -nargs=* Xgetfile <mods>cgetfile <args>
|
||||
@ -44,6 +45,7 @@ function! s:setup_commands(cchar)
|
||||
command! -nargs=* Xnewer <mods>lnewer <args>
|
||||
command! -nargs=* Xopen <mods>lopen <args>
|
||||
command! -nargs=* Xwindow <mods>lwindow <args>
|
||||
command! -nargs=* Xbottom <mods>lbottom <args>
|
||||
command! -nargs=* Xclose <mods>lclose <args>
|
||||
command! -nargs=* -bang Xfile <mods>lfile<bang> <args>
|
||||
command! -nargs=* Xgetfile <mods>lgetfile <args>
|
||||
@ -200,6 +202,7 @@ function XwindowTests(cchar)
|
||||
Xwindow
|
||||
call assert_true(winnr('$') == 2 && winnr() == 2 &&
|
||||
\ getline('.') ==# 'Xtestfile1|1 col 3| Line1')
|
||||
redraw!
|
||||
|
||||
" Close the window
|
||||
Xclose
|
||||
@ -1397,15 +1400,23 @@ echo string(loc_two)
|
||||
call delete('Xtwo', 'rf')
|
||||
endfunc
|
||||
|
||||
function Test_cbottom()
|
||||
call setqflist([{'filename': 'foo', 'lnum': 42}])
|
||||
copen
|
||||
function XbottomTests(cchar)
|
||||
call s:setup_commands(a:cchar)
|
||||
|
||||
call g:Xsetlist([{'filename': 'foo', 'lnum': 42}])
|
||||
Xopen
|
||||
let wid = win_getid()
|
||||
call assert_equal(1, line('.'))
|
||||
wincmd w
|
||||
call setqflist([{'filename': 'var', 'lnum': 24}], 'a')
|
||||
cbottom
|
||||
call g:Xsetlist([{'filename': 'var', 'lnum': 24}], 'a')
|
||||
Xbottom
|
||||
call win_gotoid(wid)
|
||||
call assert_equal(2, line('.'))
|
||||
cclose
|
||||
Xclose
|
||||
endfunc
|
||||
|
||||
" Tests for the :cbottom and :lbottom commands
|
||||
function Test_cbottom()
|
||||
call XbottomTests('c')
|
||||
call XbottomTests('l')
|
||||
endfunction
|
||||
|
@ -430,7 +430,7 @@ static int included_patches[] = {
|
||||
2013,
|
||||
2012,
|
||||
2011,
|
||||
// 2010,
|
||||
2010,
|
||||
// 2009,
|
||||
// 2008,
|
||||
2007,
|
||||
|
Loading…
Reference in New Issue
Block a user