diff options
author | luukvbaal <31730729+luukvbaal@users.noreply.github.com> | 2023-01-12 16:04:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-12 23:04:43 +0800 |
commit | 0fd59f0121bbf8906203689c790eeba6f501600e (patch) | |
tree | 5528e2fc83f61b9195452bc278c38a9fec661d99 | |
parent | 443bbfd59e2818aeee72d2ed77af1cb24617e46f (diff) | |
download | rneovim-0fd59f0121bbf8906203689c790eeba6f501600e.tar.gz rneovim-0fd59f0121bbf8906203689c790eeba6f501600e.tar.bz2 rneovim-0fd59f0121bbf8906203689c790eeba6f501600e.zip |
fix(statuscolumn): foldcolumn buffer is too small (#21761)
Resolve https://github.com/neovim/neovim/issues/21759.
-rw-r--r-- | src/nvim/buffer_defs.h | 2 | ||||
-rw-r--r-- | test/functional/ui/statuscolumn_spec.lua | 22 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/nvim/buffer_defs.h b/src/nvim/buffer_defs.h index c794b88229..f01edd1ad2 100644 --- a/src/nvim/buffer_defs.h +++ b/src/nvim/buffer_defs.h @@ -1426,7 +1426,7 @@ struct statuscol { int sign_attr[SIGN_SHOW_MAX + 1]; ///< attributes used for signs int truncate; ///< truncated width bool draw; ///< draw statuscolumn or not - char fold_text[10]; ///< text in fold column (%C) + char fold_text[9 * 4 + 1]; ///< text in fold column (%C) char *sign_text[SIGN_SHOW_MAX + 1]; ///< text in sign column (%s) char text[MAXPATHL]; ///< text in status column char *textp; ///< current position in text diff --git a/test/functional/ui/statuscolumn_spec.lua b/test/functional/ui/statuscolumn_spec.lua index ca7d8af7f4..2905f1d64c 100644 --- a/test/functional/ui/statuscolumn_spec.lua +++ b/test/functional/ui/statuscolumn_spec.lua @@ -367,4 +367,26 @@ describe('statuscolumn', function() meths.input_mouse('right', 'press', '', 0, 3, 0) eq('0 4 r 7', eval("g:testvar")) end) + + it('fits maximum multibyte foldcolumn #21759', function() + command('set stc=%C fdc=9 fillchars=foldsep:𒀀') + for _ = 0,8 do command('norm zfjzo') end + screen:expect([[ + aaaaa | + aaaaa | + aaaaa | + aaaaa | + --------- ^aaaaa | + 𒀀𒀀𒀀𒀀𒀀𒀀𒀀𒀀𒀀 aaaaa | + aaaaa | + aaaaa | + aaaaa | + aaaaa | + aaaaa | + aaaaa | + aaaaa | + | + ]]) + end) + end) |