diff options
author | Sean Dewar <seandewar@users.noreply.github.com> | 2020-11-18 20:44:36 +0000 |
---|---|---|
committer | Sean Dewar <seandewar@users.noreply.github.com> | 2020-11-19 17:35:51 +0000 |
commit | b0f967a06e6970df9dfa1803fd1cc72294d64dcd (patch) | |
tree | 8c68dc69b2dcd83514fdd5394c9b9c9986d5059f /src | |
parent | a18f050e51f9a9735057ebbecf84cff1842a8ef4 (diff) | |
download | rneovim-b0f967a06e6970df9dfa1803fd1cc72294d64dcd.tar.gz rneovim-b0f967a06e6970df9dfa1803fd1cc72294d64dcd.tar.bz2 rneovim-b0f967a06e6970df9dfa1803fd1cc72294d64dcd.zip |
vim-patch:8.2.2011: "syn sync" reports a very large number
Problem: "syn sync" reports a very large number.
Solution: Use "at the first line".
https://github.com/vim/vim/commit/9950280d377a5c0706d141017fcef9cad598b8b0
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/syntax.c | 39 | ||||
-rw-r--r-- | src/nvim/testdir/test_syntax.vim | 3 |
2 files changed, 27 insertions, 15 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index 2e593e39de..5e54354ea8 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -3505,12 +3505,16 @@ syn_cmd_list( syn_match_msg(); return; } else if (!(curwin->w_s->b_syn_sync_flags & SF_MATCH)) { - if (curwin->w_s->b_syn_sync_minlines == 0) + if (curwin->w_s->b_syn_sync_minlines == 0) { MSG_PUTS(_("no syncing")); - else { - MSG_PUTS(_("syncing starts ")); - msg_outnum(curwin->w_s->b_syn_sync_minlines); - MSG_PUTS(_(" lines before top line")); + } else { + if (curwin->w_s->b_syn_sync_minlines == MAXLNUM) { + MSG_PUTS(_("syncing starts at the first line")); + } else { + MSG_PUTS(_("syncing starts ")); + msg_outnum(curwin->w_s->b_syn_sync_minlines); + MSG_PUTS(_(" lines before top line")); + } syn_match_msg(); } return; @@ -3566,17 +3570,22 @@ static void syn_lines_msg(void) if (curwin->w_s->b_syn_sync_maxlines > 0 || curwin->w_s->b_syn_sync_minlines > 0) { MSG_PUTS("; "); - if (curwin->w_s->b_syn_sync_minlines > 0) { - MSG_PUTS(_("minimal ")); - msg_outnum(curwin->w_s->b_syn_sync_minlines); - if (curwin->w_s->b_syn_sync_maxlines) - MSG_PUTS(", "); - } - if (curwin->w_s->b_syn_sync_maxlines > 0) { - MSG_PUTS(_("maximal ")); - msg_outnum(curwin->w_s->b_syn_sync_maxlines); + if (curwin->w_s->b_syn_sync_minlines == MAXLNUM) { + MSG_PUTS(_("from the first line")); + } else { + if (curwin->w_s->b_syn_sync_minlines > 0) { + MSG_PUTS(_("minimal ")); + msg_outnum(curwin->w_s->b_syn_sync_minlines); + if (curwin->w_s->b_syn_sync_maxlines) { + MSG_PUTS(", "); + } + } + if (curwin->w_s->b_syn_sync_maxlines > 0) { + MSG_PUTS(_("maximal ")); + msg_outnum(curwin->w_s->b_syn_sync_maxlines); + } + MSG_PUTS(_(" lines before top line")); } - MSG_PUTS(_(" lines before top line")); } } diff --git a/src/nvim/testdir/test_syntax.vim b/src/nvim/testdir/test_syntax.vim index 2617aa3945..4cf0e983b0 100644 --- a/src/nvim/testdir/test_syntax.vim +++ b/src/nvim/testdir/test_syntax.vim @@ -308,6 +308,8 @@ func Test_syntax_arg_skipped() syn sync ccomment endif call assert_notmatch('on C-style comments', execute('syntax sync')) + syn sync fromstart + call assert_match('syncing starts at the first line', execute('syntax sync')) syn clear endfunc @@ -669,6 +671,7 @@ func Test_syntax_foldlevel() redir END call assert_equal("\nsyntax foldlevel start", @c) syn sync fromstart + call assert_match('from the first line$', execute('syn sync')) let a = map(range(3,9), 'foldclosed(v:val)') call assert_equal([3,3,3,3,3,3,3], a) " attached cascade folds together let a = map(range(10,15), 'foldclosed(v:val)') |