Mercurial > vim
changeset 18916:cf051bdefb3f v8.2.0019
patch 8.2.0019: cannot number of lines of another buffer
Commit: https://github.com/vim/vim/commit/a9e9679de3ef082ee29868ab404283dfc53258f2
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Dec 17 22:40:15 2019 +0100
patch 8.2.0019: cannot number of lines of another buffer
Problem: Cannot number of lines of another buffer.
Solution: Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto,
closes #5370)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 17 Dec 2019 22:45:03 +0100 |
parents | 0a2d1ed58482 |
children | b042d6cbc493 |
files | runtime/doc/eval.txt src/evalbuffer.c src/testdir/test_bufwintabinfo.vim src/version.c |
diffstat | 4 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -4796,6 +4796,8 @@ getbufinfo([{dict}]) {only with the |+viminfo| feature} listed TRUE if the buffer is listed. lnum current line number in buffer. + linecount number of lines in the buffer (only + valid when loaded) loaded TRUE if the buffer is loaded. name full path to the file in the buffer. signs list of signs placed in the buffer.
--- a/src/evalbuffer.c +++ b/src/evalbuffer.c @@ -545,6 +545,7 @@ get_buffer_info(buf_T *buf) dict_add_string(dict, "name", buf->b_ffname); dict_add_number(dict, "lnum", buf == curbuf ? curwin->w_cursor.lnum : buflist_findlnum(buf)); + dict_add_number(dict, "linecount", buf->b_ml.ml_line_count); dict_add_number(dict, "loaded", buf->b_ml.ml_mfp != NULL); dict_add_number(dict, "listed", buf->b_p_bl); dict_add_number(dict, "changed", bufIsChanged(buf));
--- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -154,3 +154,13 @@ function Test_getbufinfo_lastused() call assert_equal(getbufinfo('Xtestfile2')[0].lastused, 7654321) call test_settime(0) endfunc + +func Test_getbufinfo_lines() + new Xfoo + call setline(1, ['a', 'bc', 'd']) + let bn = bufnr('%') + hide + call assert_equal(3, getbufinfo(bn)[0]["linecount"]) + edit Xfoo + bw! +endfunc