aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/fold_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/ui/fold_spec.lua')
-rw-r--r--test/functional/ui/fold_spec.lua2391
1 files changed, 1018 insertions, 1373 deletions
diff --git a/test/functional/ui/fold_spec.lua b/test/functional/ui/fold_spec.lua
index 1addf7088e..7f13b6bd03 100644
--- a/test/functional/ui/fold_spec.lua
+++ b/test/functional/ui/fold_spec.lua
@@ -4,12 +4,11 @@ local clear, feed, eq = helpers.clear, helpers.feed, helpers.eq
local command = helpers.command
local feed_command = helpers.feed_command
local insert = helpers.insert
-local funcs = helpers.funcs
-local meths = helpers.meths
+local fn = helpers.fn
+local api = helpers.api
local exec = helpers.exec
local assert_alive = helpers.assert_alive
-
local content1 = [[
This is a
valid English
@@ -18,7 +17,7 @@ local content1 = [[
in his cave.
]]
-describe("folded lines", function()
+describe('folded lines', function()
before_each(function()
clear()
command('hi VertSplit gui=reverse')
@@ -28,280 +27,338 @@ describe("folded lines", function()
local screen
before_each(function()
screen = Screen.new(45, 8)
- screen:attach({rgb=true, ext_multigrid=multigrid})
+ screen:attach({ rgb = true, ext_multigrid = multigrid })
screen:set_default_attr_ids({
- [1] = {bold = true, foreground = Screen.colors.Blue1},
- [2] = {reverse = true},
- [3] = {bold = true, reverse = true},
- [4] = {foreground = Screen.colors.White, background = Screen.colors.Red},
- [5] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey},
- [6] = {background = Screen.colors.Yellow},
- [7] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray},
- [8] = {foreground = Screen.colors.Brown },
- [9] = {bold = true, foreground = Screen.colors.Brown},
- [10] = {background = Screen.colors.LightGrey, underline = true},
- [11] = {bold = true},
- [12] = {foreground = Screen.colors.Red},
- [13] = {foreground = Screen.colors.Red, background = Screen.colors.LightGrey},
- [14] = {background = Screen.colors.Red},
- [15] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.Red},
- [16] = {background = Screen.colors.LightGrey},
- [17] = {background = Screen.colors.Yellow, foreground = Screen.colors.Red},
- [18] = {background = Screen.colors.LightGrey, bold = true, foreground = Screen.colors.Blue},
- [19] = {background = Screen.colors.Yellow, foreground = Screen.colors.DarkBlue},
- [20] = {background = Screen.colors.Red, bold = true, foreground = Screen.colors.Blue},
+ [1] = { bold = true, foreground = Screen.colors.Blue1 },
+ [2] = { reverse = true },
+ [3] = { bold = true, reverse = true },
+ [4] = { foreground = Screen.colors.White, background = Screen.colors.Red },
+ [5] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey },
+ [6] = { background = Screen.colors.Yellow },
+ [7] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.WebGray },
+ [8] = { foreground = Screen.colors.Brown },
+ [9] = { bold = true, foreground = Screen.colors.Brown },
+ [10] = { background = Screen.colors.LightGrey, underline = true },
+ [11] = { bold = true },
+ [12] = { foreground = Screen.colors.Red },
+ [13] = { foreground = Screen.colors.Red, background = Screen.colors.LightGrey },
+ [14] = { background = Screen.colors.Red },
+ [15] = { foreground = Screen.colors.DarkBlue, background = Screen.colors.Red },
+ [16] = { foreground = Screen.colors.Black, background = Screen.colors.LightGrey },
+ [17] = { background = Screen.colors.Yellow, foreground = Screen.colors.Red },
+ [18] = {
+ background = Screen.colors.LightGrey,
+ bold = true,
+ foreground = Screen.colors.Blue,
+ },
+ [19] = { background = Screen.colors.Yellow, foreground = Screen.colors.DarkBlue },
+ [20] = { background = Screen.colors.Red, bold = true, foreground = Screen.colors.Blue },
})
end)
- it("work with more than one signcolumn", function()
- command("set signcolumn=yes:9")
- feed("i<cr><esc>")
- feed("vkzf")
+ it('with more than one signcolumn', function()
+ command('set signcolumn=yes:9')
+ feed('i<cr><esc>')
+ feed('vkzf')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7: }{5:^+-- 2 lines: ·············}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
]])
else
screen:expect([[
{7: }{5:^+-- 2 lines: ·············}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
]])
end
end)
- local function test_folded_cursorline()
- command("set number cursorline foldcolumn=2")
- command("hi link CursorLineFold Search")
- insert(content1)
- feed("ggzf3jj")
- if multigrid then
- screen:expect([[
- ## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [3:---------------------------------------------]|
- ## grid 2
- {7:+ }{8: 1 }{5:+-- 4 lines: This is a················}|
- {6: }{9: 5 }{12:^in his cave. }|
- {7: }{8: 6 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- ## grid 3
- |
- ]])
- else
- screen:expect([[
- {7:+ }{8: 1 }{5:+-- 4 lines: This is a················}|
- {6: }{9: 5 }{12:^in his cave. }|
- {7: }{8: 6 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- |
- ]])
+ local function test_folded_cursorline(foldtext)
+ if not foldtext then
+ command('set foldtext=')
end
- feed("k")
- if multigrid then
- screen:expect([[
- ## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [3:---------------------------------------------]|
- ## grid 2
- {6:+ }{9: 1 }{13:^+-- 4 lines: This is a················}|
- {7: }{8: 5 }in his cave. |
- {7: }{8: 6 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- ## grid 3
- |
- ]])
- else
- screen:expect([[
- {6:+ }{9: 1 }{13:^+-- 4 lines: This is a················}|
- {7: }{8: 5 }in his cave. |
- {7: }{8: 6 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- |
- ]])
+ command('set number cursorline foldcolumn=2')
+ command('hi link CursorLineFold Search')
+ insert(content1)
+ feed('ggzf3jj')
+
+ if multigrid then
+ if foldtext then
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {7:+ }{8: 1 }{5:+-- 4 lines: This is a················}|
+ {6: }{9: 5 }{12:^in his cave. }|
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ else
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {7:+ }{8: 1 }{5:This is a······························}|
+ {6: }{9: 5 }{12:^in his cave. }|
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ end
+ else
+ if foldtext then
+ screen:expect([[
+ {7:+ }{8: 1 }{5:+-- 4 lines: This is a················}|
+ {6: }{9: 5 }{12:^in his cave. }|
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ |
+ ]])
+ else
+ screen:expect([[
+ {7:+ }{8: 1 }{5:This is a······························}|
+ {6: }{9: 5 }{12:^in his cave. }|
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ |
+ ]])
+ end
+ end
+
+ feed('k')
+
+ if multigrid then
+ if foldtext then
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {6:+ }{9: 1 }{13:^+-- 4 lines: This is a················}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ else
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {6:+ }{9: 1 }{13:^This is a······························}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ end
+ else
+ if foldtext then
+ screen:expect([[
+ {6:+ }{9: 1 }{13:^+-- 4 lines: This is a················}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ |
+ ]])
+ else
+ screen:expect([[
+ {6:+ }{9: 1 }{13:^This is a······························}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ |
+ ]])
+ end
end
+
-- CursorLine is applied correctly with screenrow motions #22232
- feed("jgk")
+ feed('jgk')
screen:expect_unchanged()
-- CursorLine is applied correctly when closing a fold when cursor is not at fold start
- feed("zo4Gzc")
+ feed('zo4Gzc')
screen:expect_unchanged()
- command("set cursorlineopt=line")
- if multigrid then
- screen:expect([[
- ## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [3:---------------------------------------------]|
- ## grid 2
- {7:+ }{8: 1 }{13:^+-- 4 lines: This is a················}|
- {7: }{8: 5 }in his cave. |
- {7: }{8: 6 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- ## grid 3
- |
- ]])
- else
- screen:expect([[
- {7:+ }{8: 1 }{13:^+-- 4 lines: This is a················}|
- {7: }{8: 5 }in his cave. |
- {7: }{8: 6 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- |
- ]])
- end
- command("set relativenumber cursorlineopt=number")
- if multigrid then
- screen:expect([[
- ## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [3:---------------------------------------------]|
- ## grid 2
- {6:+ }{9:1 }{5:^+-- 4 lines: This is a················}|
- {7: }{8: 1 }in his cave. |
- {7: }{8: 2 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- ## grid 3
- |
- ]])
- else
- screen:expect([[
- {6:+ }{9:1 }{5:^+-- 4 lines: This is a················}|
- {7: }{8: 1 }in his cave. |
- {7: }{8: 2 } |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- |
- ]])
+ command('set cursorlineopt=line')
+
+ if multigrid then
+ if foldtext then
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {7:+ }{8: 1 }{13:^+-- 4 lines: This is a················}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ else
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {7:+ }{8: 1 }{13:^This is a······························}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ end
+ else
+ if foldtext then
+ screen:expect([[
+ {7:+ }{8: 1 }{13:^+-- 4 lines: This is a················}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ |
+ ]])
+ else
+ screen:expect([[
+ {7:+ }{8: 1 }{13:^This is a······························}|
+ {7: }{8: 5 }in his cave. |
+ {7: }{8: 6 } |
+ {1:~ }|*4
+ |
+ ]])
+ end
+ end
+
+ command('set relativenumber cursorlineopt=number')
+
+ if multigrid then
+ if foldtext then
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {6:+ }{9:1 }{5:^+-- 4 lines: This is a················}|
+ {7: }{8: 1 }in his cave. |
+ {7: }{8: 2 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ else
+ screen:expect([[
+ ## grid 1
+ [2:---------------------------------------------]|*7
+ [3:---------------------------------------------]|
+ ## grid 2
+ {6:+ }{9:1 }{5:^This is a······························}|
+ {7: }{8: 1 }in his cave. |
+ {7: }{8: 2 } |
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ end
+ else
+ if foldtext then
+ screen:expect([[
+ {6:+ }{9:1 }{5:^+-- 4 lines: This is a················}|
+ {7: }{8: 1 }in his cave. |
+ {7: }{8: 2 } |
+ {1:~ }|*4
+ |
+ ]])
+ else
+ screen:expect([[
+ {6:+ }{9:1 }{5:^This is a······························}|
+ {7: }{8: 1 }in his cave. |
+ {7: }{8: 2 } |
+ {1:~ }|*4
+ |
+ ]])
+ end
end
end
describe("when 'cursorline' is set", function()
- it('with high-priority CursorLine', function()
- command("hi! CursorLine guibg=NONE guifg=Red gui=NONE")
- test_folded_cursorline()
- end)
-
- it('with low-priority CursorLine', function()
- command("hi! CursorLine guibg=NONE guifg=NONE gui=underline")
- local attrs = screen:get_default_attr_ids()
- attrs[12] = {underline = true}
- attrs[13] = {foreground = Screen.colors.DarkBlue, background = Screen.colors.LightGrey, underline = true}
- screen:set_default_attr_ids(attrs)
- test_folded_cursorline()
- end)
+ local function cursorline_tests(foldtext)
+ local sfx = not foldtext and ' (transparent foldtext)' or ''
+ it('with high-priority CursorLine' .. sfx, function()
+ command('hi! CursorLine guibg=NONE guifg=Red gui=NONE')
+ test_folded_cursorline(foldtext)
+ end)
+
+ it('with low-priority CursorLine' .. sfx, function()
+ command('hi! CursorLine guibg=NONE guifg=NONE gui=underline')
+ local attrs = screen:get_default_attr_ids()
+ attrs[12] = { underline = true }
+ attrs[13] = {
+ foreground = Screen.colors.DarkBlue,
+ background = Screen.colors.LightGrey,
+ underline = true,
+ }
+ screen:set_default_attr_ids(attrs)
+ test_folded_cursorline(foldtext)
+ end)
+ end
+
+ cursorline_tests(true)
+ cursorline_tests(false)
end)
- it("work with spell", function()
- command("set spell")
+ it('with spell', function()
+ command('set spell')
insert(content1)
- feed("gg")
- feed("zf3j")
+ feed('gg')
+ feed('zf3j')
if not multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
{5:^+-- 4 lines: This is a······················}|
in his cave. |
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
- ]]}
+ ]],
+ }
end
end)
- it("work with matches", function()
+ it('with matches', function()
insert(content1)
- command("highlight MyWord gui=bold guibg=red guifg=white")
+ command('highlight MyWord gui=bold guibg=red guifg=white')
command("call matchadd('MyWord', '\\V' . 'test', -1)")
- feed("gg")
- feed("zf3j")
+ feed('gg')
+ feed('zf3j')
if not multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
{5:^+-- 4 lines: This is a······················}|
in his cave. |
|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
- ]]}
+ ]],
+ }
end
end)
- it("works with multibyte fillchars", function()
+ it('with multibyte fillchars', function()
insert([[
aa
bb
@@ -309,22 +366,16 @@ describe("folded lines", function()
dd
ee
ff]])
- command("set fillchars+=foldopen:▾,foldsep:│,foldclose:▸")
+ command('set fillchars+=foldopen:▾,foldsep:│,foldclose:▸')
feed_command('1')
- command("set foldcolumn=2")
+ command('set foldcolumn=2')
feed('zf4j')
feed('zf2j')
feed('zO')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:▾▾}^aa |
@@ -350,17 +401,11 @@ describe("folded lines", function()
]])
end
- feed_command("set rightleft")
+ feed_command('set rightleft')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
a^a{7:▾▾}|
@@ -386,77 +431,47 @@ describe("folded lines", function()
]])
end
- feed_command("set norightleft")
+ feed_command('set norightleft')
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 0, 1)
+ api.nvim_input_mouse('left', 'press', '', 2, 0, 1)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:▾▸}{5:^+--- 5 lines: aa··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
:set norightleft |
]])
else
- meths.input_mouse('left', 'press', '', 0, 0, 1)
+ api.nvim_input_mouse('left', 'press', '', 0, 0, 1)
screen:expect([[
{7:▾▸}{5:^+--- 5 lines: aa··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
:set norightleft |
]])
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 0, 0)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:▸ }{5:^+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
:set norightleft |
]])
else
- meths.input_mouse('left', 'press', '', 0, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 0, 0)
screen:expect([[
{7:▸ }{5:^+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
:set norightleft |
]])
end
@@ -464,53 +479,35 @@ describe("folded lines", function()
-- Add a winbar to avoid double-clicks
command('setlocal winbar=!!!!!!')
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 1, 0)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{11:!!!!!! }|
{7:▾▸}{5:^+--- 5 lines: aa··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
:set norightleft |
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 0)
screen:expect([[
{11:!!!!!! }|
{7:▾▸}{5:^+--- 5 lines: aa··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
:set norightleft |
]])
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 1, 1)
+ api.nvim_input_mouse('left', 'press', '', 2, 1, 1)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{11:!!!!!! }|
@@ -524,7 +521,7 @@ describe("folded lines", function()
:set norightleft |
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 1)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 1)
screen:expect([[
{11:!!!!!! }|
{7:▾▾}^aa |
@@ -538,7 +535,7 @@ describe("folded lines", function()
end
end)
- it("works with split", function()
+ it('with split', function()
insert([[
aa
bb
@@ -547,12 +544,12 @@ describe("folded lines", function()
ee
ff]])
feed_command('2')
- command("set foldcolumn=1")
+ command('set foldcolumn=1')
feed('zf3j')
feed_command('1')
feed('zf2j')
feed('zO')
- feed_command("rightbelow new")
+ feed_command('rightbelow new')
insert([[
aa
bb
@@ -561,20 +558,17 @@ describe("folded lines", function()
ee
ff]])
feed_command('2')
- command("set foldcolumn=1")
+ command('set foldcolumn=1')
feed('zf3j')
feed_command('1')
feed('zf2j')
if multigrid then
- meths.input_mouse('left', 'press', '', 4, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 4, 0, 0)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*2
{2:[No Name] [+] }|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*3
{3:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
@@ -588,7 +582,7 @@ describe("folded lines", function()
{7:│}ff |
]])
else
- meths.input_mouse('left', 'press', '', 0, 3, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 3, 0)
screen:expect([[
{7:-}aa |
{7:-}bb |
@@ -602,15 +596,12 @@ describe("folded lines", function()
end
if multigrid then
- meths.input_mouse('left', 'press', '', 4, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 4, 1, 0)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*2
{2:[No Name] [+] }|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*3
{3:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
@@ -624,7 +615,7 @@ describe("folded lines", function()
{7:2}cc |
]])
else
- meths.input_mouse('left', 'press', '', 0, 4, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 4, 0)
screen:expect([[
{7:-}aa |
{7:-}bb |
@@ -638,15 +629,12 @@ describe("folded lines", function()
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 1, 0)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*2
{3:[No Name] [+] }|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*3
{2:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
@@ -660,7 +648,7 @@ describe("folded lines", function()
{7:2}cc |
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 0)
screen:expect([[
{7:-}aa |
{7:+}{5:^+--- 4 lines: bb···························}|
@@ -674,15 +662,12 @@ describe("folded lines", function()
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 0, 0)
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*2
{3:[No Name] [+] }|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*3
{2:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
@@ -696,7 +681,7 @@ describe("folded lines", function()
{7:2}cc |
]])
else
- meths.input_mouse('left', 'press', '', 0, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 0, 0)
screen:expect([[
{7:+}{5:^+-- 6 lines: aa····························}|
{1:~ }|
@@ -710,7 +695,7 @@ describe("folded lines", function()
end
end)
- it("works with vsplit", function()
+ it('with vsplit', function()
insert([[
aa
bb
@@ -719,12 +704,12 @@ describe("folded lines", function()
ee
ff]])
feed_command('2')
- command("set foldcolumn=1")
+ command('set foldcolumn=1')
feed('zf3j')
feed_command('1')
feed('zf2j')
feed('zO')
- feed_command("rightbelow vnew")
+ feed_command('rightbelow vnew')
insert([[
aa
bb
@@ -733,20 +718,15 @@ describe("folded lines", function()
ee
ff]])
feed_command('2')
- command("set foldcolumn=1")
+ command('set foldcolumn=1')
feed('zf3j')
feed_command('1')
feed('zf2j')
if multigrid then
- meths.input_mouse('left', 'press', '', 4, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 4, 0, 0)
screen:expect([[
## grid 1
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
+ [2:----------------------]{2:│}[4:----------------------]|*6
{2:[No Name] [+] }{3:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
@@ -762,12 +742,10 @@ describe("folded lines", function()
{7:-}^aa |
{7:+}{5:+--- 4 lines: bb····}|
{7:│}ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
]])
else
- meths.input_mouse('left', 'press', '', 0, 0, 23)
+ api.nvim_input_mouse('left', 'press', '', 0, 0, 23)
screen:expect([[
{7:-}aa {2:│}{7:-}^aa |
{7:-}bb {2:│}{7:+}{5:+--- 4 lines: bb····}|
@@ -781,15 +759,10 @@ describe("folded lines", function()
end
if multigrid then
- meths.input_mouse('left', 'press', '', 4, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 4, 1, 0)
screen:expect([[
## grid 1
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
+ [2:----------------------]{2:│}[4:----------------------]|*6
{2:[No Name] [+] }{3:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
@@ -810,7 +783,7 @@ describe("folded lines", function()
{7:│}ff |
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 23)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 23)
screen:expect([[
{7:-}aa {2:│}{7:-}^aa |
{7:-}bb {2:│}{7:-}bb |
@@ -824,24 +797,17 @@ describe("folded lines", function()
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 1, 0)
screen:expect([[
## grid 1
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
+ [2:----------------------]{2:│}[4:----------------------]|*6
{3:[No Name] [+] }{2:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
{7:-}aa |
{7:+}{5:^+--- 4 lines: bb····}|
{7:│}ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
## grid 3
:1 |
## grid 4
@@ -853,7 +819,7 @@ describe("folded lines", function()
{7:│}ff |
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 0)
screen:expect([[
{7:-}aa {2:│}{7:-}aa |
{7:+}{5:^+--- 4 lines: bb····}{2:│}{7:-}bb |
@@ -867,24 +833,15 @@ describe("folded lines", function()
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 0, 0)
screen:expect([[
## grid 1
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
- [2:----------------------]{2:│}[4:----------------------]|
+ [2:----------------------]{2:│}[4:----------------------]|*6
{3:[No Name] [+] }{2:[No Name] [+] }|
[3:---------------------------------------------]|
## grid 2
{7:+}{5:^+-- 6 lines: aa·····}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
:1 |
## grid 4
@@ -896,7 +853,7 @@ describe("folded lines", function()
{7:│}ff |
]])
else
- meths.input_mouse('left', 'press', '', 0, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 0, 0)
screen:expect([[
{7:+}{5:^+-- 6 lines: aa·····}{2:│}{7:-}aa |
{1:~ }{2:│}{7:-}bb |
@@ -910,7 +867,7 @@ describe("folded lines", function()
end
end)
- it("works with tab", function()
+ it('with tabpages', function()
insert([[
aa
bb
@@ -919,23 +876,18 @@ describe("folded lines", function()
ee
ff]])
feed_command('2')
- command("set foldcolumn=2")
+ command('set foldcolumn=2')
feed('zf3j')
feed_command('1')
feed('zf2j')
feed('zO')
- feed_command("tab split")
+ feed_command('tab split')
if multigrid then
- meths.input_mouse('left', 'press', '', 4, 1, 1)
+ api.nvim_input_mouse('left', 'press', '', 4, 1, 1)
screen:expect([[
## grid 1
{10: + [No Name] }{11: + [No Name] }{2: }{10:X}|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*6
[3:---------------------------------------------]|
## grid 2 (hidden)
{7:- }aa |
@@ -951,35 +903,26 @@ describe("folded lines", function()
{7:- }^aa |
{7:│+}{5:+--- 4 lines: bb··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
]])
else
- meths.input_mouse('left', 'press', '', 0, 2, 1)
+ api.nvim_input_mouse('left', 'press', '', 0, 2, 1)
screen:expect([[
{10: + [No Name] }{11: + [No Name] }{2: }{10:X}|
{7:- }^aa |
{7:│+}{5:+--- 4 lines: bb··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
:tab split |
]])
end
if multigrid then
- meths.input_mouse('left', 'press', '', 4, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 4, 0, 0)
screen:expect([[
## grid 1
{10: + [No Name] }{11: + [No Name] }{2: }{10:X}|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*6
[3:---------------------------------------------]|
## grid 2 (hidden)
{7:- }aa |
@@ -993,138 +936,90 @@ describe("folded lines", function()
:tab split |
## grid 4
{7:+ }{5:^+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 0)
screen:expect([[
{10: + [No Name] }{11: + [No Name] }{2: }{10:X}|
{7:+ }{5:^+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
:tab split |
]])
end
- feed_command("tabnext")
+ feed_command('tabnext')
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 1, 1)
+ api.nvim_input_mouse('left', 'press', '', 2, 1, 1)
screen:expect([[
## grid 1
{11: + [No Name] }{10: + [No Name] }{2: }{10:X}|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*6
[3:---------------------------------------------]|
## grid 2
{7:- }^aa |
{7:│+}{5:+--- 4 lines: bb··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
## grid 3
:tabnext |
## grid 4 (hidden)
{7:+ }{5:+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]])
else
- meths.input_mouse('left', 'press', '', 0, 2, 1)
+ api.nvim_input_mouse('left', 'press', '', 0, 2, 1)
screen:expect([[
{11: + [No Name] }{10: + [No Name] }{2: }{10:X}|
{7:- }^aa |
{7:│+}{5:+--- 4 lines: bb··························}|
{7:│ }ff |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
:tabnext |
]])
end
if multigrid then
- meths.input_mouse('left', 'press', '', 2, 0, 0)
+ api.nvim_input_mouse('left', 'press', '', 2, 0, 0)
screen:expect([[
## grid 1
{11: + [No Name] }{10: + [No Name] }{2: }{10:X}|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*6
[3:---------------------------------------------]|
## grid 2
{7:+ }{5:^+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
:tabnext |
## grid 4 (hidden)
{7:+ }{5:+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
]])
else
- meths.input_mouse('left', 'press', '', 0, 1, 0)
+ api.nvim_input_mouse('left', 'press', '', 0, 1, 0)
screen:expect([[
{11: + [No Name] }{10: + [No Name] }{2: }{10:X}|
{7:+ }{5:^+-- 6 lines: aa···························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
:tabnext |
]])
end
end)
- it("works with multibyte text", function()
- eq(true, meths.get_option_value('arabicshape', {}))
+ it('with multibyte text', function()
+ eq(true, api.nvim_get_option_value('arabicshape', {}))
insert([[
å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢͟ العَرَبِيَّة
möre text]])
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ ﺎﻠﻋَﺮَﺒِﻳَّﺓ |
möre tex^t |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
|
]])
@@ -1132,11 +1027,7 @@ describe("folded lines", function()
screen:expect([[
å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ ﺎﻠﻋَﺮَﺒِﻳَّﺓ |
möre tex^t |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
|
]])
end
@@ -1145,215 +1036,119 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:^+-- 2 lines: å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ ﺎﻠﻋَﺮَﺒِﻳَّﺓ·················}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
]])
else
screen:expect([[
{5:^+-- 2 lines: å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ ﺎﻠﻋَﺮَﺒِﻳَّﺓ·················}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
]])
end
- feed_command("set noarabicshape")
+ feed_command('set noarabicshape')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:^+-- 2 lines: å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ العَرَبِيَّة·················}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
:set noarabicshape |
]])
else
screen:expect([[
{5:^+-- 2 lines: å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ العَرَبِيَّة·················}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
:set noarabicshape |
]])
end
- feed_command("set number foldcolumn=2")
+ feed_command('set number foldcolumn=2')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:+ }{8: 1 }{5:^+-- 2 lines: å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ العَرَبِيَّة···········}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
:set number foldcolumn=2 |
]])
else
screen:expect([[
{7:+ }{8: 1 }{5:^+-- 2 lines: å 语 x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ العَرَبِيَّة···········}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
:set number foldcolumn=2 |
]])
end
-- Note: too much of the folded line gets cut off.This is a vim bug.
- feed_command("set rightleft")
+ feed_command('set rightleft')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:···········ةيَّبِرَعَلا x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å :senil 2 --^+}{8: 1 }{7: +}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*6
## grid 3
:set rightleft |
]])
else
screen:expect([[
{5:···········ةيَّبِرَعَلا x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å :senil 2 --^+}{8: 1 }{7: +}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*6
:set rightleft |
]])
end
- feed_command("set nonumber foldcolumn=0")
+ feed_command('set nonumber foldcolumn=0')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:·················ةيَّبِرَعَلا x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å :senil 2 --^+}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*6
## grid 3
:set nonumber foldcolumn=0 |
]])
else
screen:expect([[
{5:·················ةيَّبِرَعَلا x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å :senil 2 --^+}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*6
:set nonumber foldcolumn=0 |
]])
end
- feed_command("set arabicshape")
+ feed_command('set arabicshape')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:·················ﺔﻴَّﺑِﺮَﻌَﻟﺍ x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å :senil 2 --^+}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*6
## grid 3
:set arabicshape |
]])
else
screen:expect([[
{5:·················ﺔﻴَّﺑِﺮَﻌَﻟﺍ x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å :senil 2 --^+}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*6
:set arabicshape |
]])
end
@@ -1362,22 +1157,12 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
ﺔﻴَّﺑِﺮَﻌَ^ﻟﺍ x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å|
txet eröm|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*5
## grid 3
:set arabicshape |
]])
@@ -1385,11 +1170,7 @@ describe("folded lines", function()
screen:expect([[
ﺔﻴَّﺑِﺮَﻌَ^ﻟﺍ x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å|
txet eröm|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*5
:set arabicshape |
]])
end
@@ -1398,22 +1179,12 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
ةيَّبِرَعَ^لا x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å|
txet eröm|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*5
## grid 3
:set noarabicshape |
]])
@@ -1421,229 +1192,179 @@ describe("folded lines", function()
screen:expect([[
ةيَّبِرَعَ^لا x̨̣̘̫̲͚͎̎͂̀̂͛͛̾͢ 语 å|
txet eröm|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*5
:set noarabicshape |
]])
end
-
end)
- it("work in cmdline window", function()
- feed_command("set foldmethod=manual")
- feed_command("let x = 1")
- feed_command("/alpha")
- feed_command("/omega")
+ it('in cmdline window', function()
+ feed_command('set foldmethod=manual foldcolumn=1')
+ feed_command('let x = 1')
+ feed_command('/alpha')
+ feed_command('/omega')
- feed("<cr>q:")
+ feed('<cr>q:')
if multigrid then
screen:expect([[
## grid 1
[2:---------------------------------------------]|
{2:[No Name] }|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*4
{3:[Command Line] }|
[3:---------------------------------------------]|
## grid 2
- |
+ {7: } |
## grid 3
: |
## grid 4
- {1::}set foldmethod=manual |
- {1::}let x = 1 |
- {1::}^ |
+ {1::}{7: }set foldmethod=manual foldcolumn=1 |
+ {1::}{7: }let x = 1 |
+ {1::}{7: }^ |
{1:~ }|
]])
else
screen:expect([[
- |
+ {7: } |
{2:[No Name] }|
- {1::}set foldmethod=manual |
- {1::}let x = 1 |
- {1::}^ |
+ {1::}{7: }set foldmethod=manual foldcolumn=1 |
+ {1::}{7: }let x = 1 |
+ {1::}{7: }^ |
{1:~ }|
{3:[Command Line] }|
: |
]])
end
- feed("kzfk")
+ feed('kzfk')
if multigrid then
screen:expect([[
## grid 1
[2:---------------------------------------------]|
{2:[No Name] }|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
- [4:---------------------------------------------]|
+ [4:---------------------------------------------]|*4
{3:[Command Line] }|
[3:---------------------------------------------]|
## grid 2
- |
+ {7: } |
## grid 3
: |
## grid 4
- {1::}{5:^+-- 2 lines: set foldmethod=manual·········}|
- {1::} |
- {1:~ }|
- {1:~ }|
+ {1::}{7:+}{5:^+-- 2 lines: set foldmethod=manual foldcol}|
+ {1::}{7: } |
+ {1:~ }|*2
]])
else
screen:expect([[
- |
+ {7: } |
{2:[No Name] }|
- {1::}{5:^+-- 2 lines: set foldmethod=manual·········}|
- {1::} |
- {1:~ }|
- {1:~ }|
+ {1::}{7:+}{5:^+-- 2 lines: set foldmethod=manual foldcol}|
+ {1::}{7: } |
+ {1:~ }|*2
{3:[Command Line] }|
: |
]])
end
- feed("<cr>")
+ feed('<cr>')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
- ^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {7: }^ |
+ {1:~ }|*6
## grid 3
: |
]])
else
screen:expect([[
- ^ |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {7: }^ |
+ {1:~ }|*6
: |
]])
end
- feed("/<c-f>")
+ feed('/<c-f>')
if multigrid then
screen:expect([[
## grid 1
[2:---------------------------------------------]|
{2:[No Name] }|
- [5:---------------------------------------------]|
- [5:---------------------------------------------]|
- [5:---------------------------------------------]|
- [5:---------------------------------------------]|
+ [5:---------------------------------------------]|*4
{3:[Command Line] }|
[3:---------------------------------------------]|
## grid 2
- |
+ {7: } |
## grid 3
/ |
## grid 5
- {1:/}alpha |
- {1:/}{6:omega} |
- {1:/}^ |
+ {1:/}{7: }alpha |
+ {1:/}{7: }{6:omega} |
+ {1:/}{7: }^ |
{1:~ }|
]])
else
screen:expect([[
- |
+ {7: } |
{2:[No Name] }|
- {1:/}alpha |
- {1:/}{6:omega} |
- {1:/}^ |
+ {1:/}{7: }alpha |
+ {1:/}{7: }{6:omega} |
+ {1:/}{7: }^ |
{1:~ }|
{3:[Command Line] }|
/ |
]])
end
- feed("ggzfG")
+ feed('ggzfG')
if multigrid then
screen:expect([[
## grid 1
[2:---------------------------------------------]|
{2:[No Name] }|
- [5:---------------------------------------------]|
- [5:---------------------------------------------]|
- [5:---------------------------------------------]|
- [5:---------------------------------------------]|
+ [5:---------------------------------------------]|*4
{3:[Command Line] }|
[3:---------------------------------------------]|
## grid 2
- |
+ {7: } |
## grid 3
/ |
## grid 5
- {1:/}{5:^+-- 3 lines: alpha·························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:/}{7:+}{5:^+-- 3 lines: alpha························}|
+ {1:~ }|*3
]])
else
screen:expect([[
- |
+ {7: } |
{2:[No Name] }|
- {1:/}{5:^+-- 3 lines: alpha·························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:/}{7:+}{5:^+-- 3 lines: alpha························}|
+ {1:~ }|*3
{3:[Command Line] }|
/ |
]])
end
-
end)
- it("work with autoresize", function()
+ it('foldcolumn autoresize', function()
+ fn.setline(1, 'line 1')
+ fn.setline(2, 'line 2')
+ fn.setline(3, 'line 3')
+ fn.setline(4, 'line 4')
- funcs.setline(1, 'line 1')
- funcs.setline(2, 'line 2')
- funcs.setline(3, 'line 3')
- funcs.setline(4, 'line 4')
-
- feed("zfj")
- command("set foldcolumn=0")
+ feed('zfj')
+ command('set foldcolumn=0')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:^+-- 2 lines: line 1·························}|
line 3 |
line 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
]])
@@ -1652,34 +1373,22 @@ describe("folded lines", function()
{5:^+-- 2 lines: line 1·························}|
line 3 |
line 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
]])
end
-- should adapt to the current nesting of folds (e.g., 1)
- command("set foldcolumn=auto:1")
+ command('set foldcolumn=auto:1')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:+}{5:^+-- 2 lines: line 1························}|
{7: }line 3 |
{7: }line 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
]])
@@ -1688,267 +1397,140 @@ describe("folded lines", function()
{7:+}{5:^+-- 2 lines: line 1························}|
{7: }line 3 |
{7: }line 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
]])
end
- command("set foldcolumn=auto")
+ command('set foldcolumn=auto')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:+}{5:^+-- 2 lines: line 1························}|
{7: }line 3 |
{7: }line 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
- ]], unchanged=true}
+ ]],
+ unchanged = true,
+ }
else
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
{7:+}{5:^+-- 2 lines: line 1························}|
{7: }line 3 |
{7: }line 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
- ]], unchanged=true}
+ ]],
+ unchanged = true,
+ }
end
-- fdc should not change with a new fold as the maximum is 1
- feed("zf3j")
+ feed('zf3j')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:+}{5:^+-- 4 lines: line 1························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
]])
else
screen:expect([[
{7:+}{5:^+-- 4 lines: line 1························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
]])
end
- command("set foldcolumn=auto:1")
- if multigrid then screen:expect{grid=[[
+ command('set foldcolumn=auto:1')
+ if multigrid then
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:+}{5:^+-- 4 lines: line 1························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
- ]], unchanged=true}
+ ]],
+ unchanged = true,
+ }
else
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
{7:+}{5:^+-- 4 lines: line 1························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
- ]], unchanged=true}
+ ]],
+ unchanged = true,
+ }
end
-- relax the maximum fdc thus fdc should expand to
-- accommodate the current number of folds
- command("set foldcolumn=auto:4")
+ command('set foldcolumn=auto:4')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{7:+ }{5:^+-- 4 lines: line 1·······················}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
]])
else
screen:expect([[
{7:+ }{5:^+-- 4 lines: line 1·······················}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
]])
end
end)
- it('does not crash when foldtext is longer than columns #12988', function()
+ it('no crash when foldtext is longer than columns #12988', function()
exec([[
function! MyFoldText() abort
return repeat('-', &columns + 100)
endfunction
]])
command('set foldtext=MyFoldText()')
- feed("i<cr><esc>")
- feed("vkzf")
+ feed('i<cr><esc>')
+ feed('vkzf')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:^---------------------------------------------}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
]])
else
screen:expect([[
{5:^---------------------------------------------}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
]])
end
assert_alive()
end)
- it('work correctly with :move #18668', function()
- screen:try_resize(45, 12)
- exec([[
- set foldmethod=expr foldexpr=indent(v:lnum)
- let content = ['', '', 'Line1', ' Line2', ' Line3',
- \ 'Line4', ' Line5', ' Line6',
- \ 'Line7', ' Line8', ' Line9']
- call append(0, content)
- normal! zM
- call cursor(4, 1)
- move 2
- move 1
- ]])
- if multigrid then
- screen:expect([[
- ## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [3:---------------------------------------------]|
- ## grid 2
- |
- {5:^+-- 2 lines: Line2··························}|
- |
- Line1 |
- Line4 |
- {5:+-- 2 lines: Line5··························}|
- Line7 |
- {5:+-- 2 lines: Line8··························}|
- |
- {1:~ }|
- {1:~ }|
- ## grid 3
- |
- ]])
- else
- screen:expect([[
- |
- {5:^+-- 2 lines: Line2··························}|
- |
- Line1 |
- Line4 |
- {5:+-- 2 lines: Line5··························}|
- Line7 |
- {5:+-- 2 lines: Line8··························}|
- |
- {1:~ }|
- {1:~ }|
- |
- ]])
- end
- end)
-
it('fold text is shown when text has been scrolled to the right #19123', function()
insert(content1)
command('set number nowrap')
@@ -1957,13 +1539,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{8: 1 }^This is a |
@@ -1971,8 +1547,7 @@ describe("folded lines", function()
{8: 3 }{5:+-- 2 lines: sentence composed by·······}|
{8: 5 }in his cave. |
{8: 6 } |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
|
]])
@@ -1983,8 +1558,7 @@ describe("folded lines", function()
{8: 3 }{5:+-- 2 lines: sentence composed by·······}|
{8: 5 }in his cave. |
{8: 6 } |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
]])
end
@@ -1993,13 +1567,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{8: 1 }^his is a |
@@ -2007,8 +1575,7 @@ describe("folded lines", function()
{8: 3 }{5:+-- 2 lines: sentence composed by·······}|
{8: 5 }n his cave. |
{8: 6 } |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
|
]])
@@ -2019,34 +1586,52 @@ describe("folded lines", function()
{8: 3 }{5:+-- 2 lines: sentence composed by·······}|
{8: 5 }n his cave. |
{8: 6 } |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
]])
end
end)
it('fold attached virtual lines are drawn and scrolled correctly #21837', function()
- funcs.setline(1, 'line 1')
- funcs.setline(2, 'line 2')
- funcs.setline(3, 'line 3')
- funcs.setline(4, 'line 4')
- feed("zfj")
- local ns = meths.create_namespace('ns')
- meths.buf_set_extmark(0, ns, 0, 0, { virt_lines_above = true, virt_lines = {{{"virt_line above line 1", ""}}} })
- meths.buf_set_extmark(0, ns, 1, 0, { virt_lines = {{{"virt_line below line 2", ""}}} })
- meths.buf_set_extmark(0, ns, 2, 0, { virt_lines_above = true, virt_lines = {{{"virt_line above line 3", ""}}} })
- meths.buf_set_extmark(0, ns, 3, 0, { virt_lines = {{{"virt_line below line 4", ""}}} })
- if multigrid then
- screen:expect{grid=[[
- ## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ fn.setline(1, 'line 1')
+ fn.setline(2, 'line 2')
+ fn.setline(3, 'line 3')
+ fn.setline(4, 'line 4')
+ feed('zfj')
+ local ns = api.nvim_create_namespace('ns')
+ api.nvim_buf_set_extmark(
+ 0,
+ ns,
+ 0,
+ 0,
+ { virt_lines_above = true, virt_lines = { { { 'virt_line above line 1', '' } } } }
+ )
+ api.nvim_buf_set_extmark(
+ 0,
+ ns,
+ 1,
+ 0,
+ { virt_lines = { { { 'virt_line below line 2', '' } } } }
+ )
+ api.nvim_buf_set_extmark(
+ 0,
+ ns,
+ 2,
+ 0,
+ { virt_lines_above = true, virt_lines = { { { 'virt_line above line 3', '' } } } }
+ )
+ api.nvim_buf_set_extmark(
+ 0,
+ ns,
+ 3,
+ 0,
+ { virt_lines = { { { 'virt_line below line 4', '' } } } }
+ )
+ if multigrid then
+ screen:expect {
+ grid = [[
+ ## grid 1
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:^+-- 2 lines: line 1·························}|
@@ -2054,13 +1639,22 @@ describe("folded lines", function()
line 3 |
line 4 |
virt_line below line 4 |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 0, botline = 5, curline = 0, curcol = 0, linecount = 4, sum_scroll_delta = 0};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 0,
+ botline = 5,
+ curline = 0,
+ curcol = 0,
+ linecount = 4,
+ sum_scroll_delta = 0,
+ },
+ },
+ }
else
screen:expect([[
{5:^+-- 2 lines: line 1·························}|
@@ -2068,62 +1662,53 @@ describe("folded lines", function()
line 3 |
line 4 |
virt_line below line 4 |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
]])
end
feed('jzfj')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:+-- 2 lines: line 1·························}|
{5:^+-- 2 lines: line 3·························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 0, botline = 5, curline = 2, curcol = 0, linecount = 4, sum_scroll_delta = 0};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 0,
+ botline = 5,
+ curline = 2,
+ curcol = 0,
+ linecount = 4,
+ sum_scroll_delta = 0,
+ },
+ },
+ }
else
screen:expect([[
{5:+-- 2 lines: line 1·························}|
{5:^+-- 2 lines: line 3·························}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
|
]])
end
feed('kzo<C-Y>')
- funcs.setline(5, 'line 5')
+ fn.setline(5, 'line 5')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
virt_line above line 1 |
@@ -2135,9 +1720,19 @@ describe("folded lines", function()
{1:~ }|
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 0, botline = 6, curline = 0, curcol = 0, linecount = 5, sum_scroll_delta = -1};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 0,
+ botline = 6,
+ curline = 0,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = -1,
+ },
+ },
+ }
else
screen:expect([[
virt_line above line 1 |
@@ -2151,7 +1746,7 @@ describe("folded lines", function()
]])
end
- meths.input_mouse('left', 'press', '', multigrid and 2 or 0, 4, 0)
+ api.nvim_input_mouse('left', 'press', '', multigrid and 2 or 0, 4, 0)
eq({
screencol = 1,
screenrow = 5,
@@ -2161,20 +1756,21 @@ describe("folded lines", function()
line = 3,
column = 1,
coladd = 0,
- }, funcs.getmousepos())
-
- meths.buf_set_extmark(0, ns, 1, 0, { virt_lines = {{{"more virt_line below line 2", ""}}} })
+ }, fn.getmousepos())
+
+ api.nvim_buf_set_extmark(
+ 0,
+ ns,
+ 1,
+ 0,
+ { virt_lines = { { { 'more virt_line below line 2', '' } } } }
+ )
feed('G<C-E>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
line 1 |
@@ -2186,9 +1782,19 @@ describe("folded lines", function()
{1:~ }|
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 0, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 0};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 0,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 0,
+ },
+ },
+ }
else
screen:expect([[
line 1 |
@@ -2204,15 +1810,10 @@ describe("folded lines", function()
feed('<C-E>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
line 2 |
@@ -2220,13 +1821,22 @@ describe("folded lines", function()
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 1, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 1};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 1,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 1,
+ },
+ },
+ }
else
screen:expect([[
line 2 |
@@ -2234,312 +1844,301 @@ describe("folded lines", function()
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
]])
end
feed('<C-E>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
virt_line below line 2 |
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 2};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 2,
+ },
+ },
+ }
else
screen:expect([[
virt_line below line 2 |
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
|
]])
end
feed('<C-E>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 3};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 3,
+ },
+ },
+ }
else
screen:expect([[
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
]])
end
feed('<C-E>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 4};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 4,
+ },
+ },
+ }
else
screen:expect([[
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
|
]])
end
feed('<C-E>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 4, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 5};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 4,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 5,
+ },
+ },
+ }
else
screen:expect([[
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*6
|
]])
end
feed('3<C-Y>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
virt_line below line 2 |
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
## grid 3
|
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 2};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 2,
+ },
+ },
+ }
else
screen:expect([[
virt_line below line 2 |
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^line 5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
|
]])
end
- meths.input_mouse('left', 'press', '3', multigrid and 2 or 0, 3, 0)
+ api.nvim_input_mouse('left', 'press', '3', multigrid and 2 or 0, 3, 0)
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
virt_line below line 2 |
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^l{16:ine 5} |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
## grid 3
{11:-- VISUAL LINE --} |
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 2};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 2,
+ },
+ },
+ }
else
screen:expect([[
virt_line below line 2 |
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^l{16:ine 5} |
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*3
{11:-- VISUAL LINE --} |
]])
end
- meths.input_mouse('left', 'drag', '3', multigrid and 2 or 0, 7, 0)
+ api.nvim_input_mouse('left', 'drag', '3', multigrid and 2 or 0, 7, 0)
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^l{16:ine 5} |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
{11:-- VISUAL LINE --} |
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 0, linecount = 5, sum_scroll_delta = 3};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 3,
+ },
+ },
+ }
else
screen:expect([[
more virt_line below line 2 |
{5:+-- 2 lines: line 3·························}|
^l{16:ine 5} |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
{11:-- VISUAL LINE --} |
]])
end
- meths.input_mouse('left', 'drag', '3', multigrid and 2 or 0, 7, 5)
+ api.nvim_input_mouse('left', 'drag', '3', multigrid and 2 or 0, 7, 5)
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{5:+-- 2 lines: line 3·························}|
{16:line }^5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
## grid 3
{11:-- VISUAL LINE --} |
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 2, botline = 6, curline = 4, curcol = 5, linecount = 5, sum_scroll_delta = 4};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 2,
+ botline = 6,
+ curline = 4,
+ curcol = 5,
+ linecount = 5,
+ sum_scroll_delta = 4,
+ },
+ },
+ }
else
screen:expect([[
{5:+-- 2 lines: line 3·························}|
{16:line }^5 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*5
{11:-- VISUAL LINE --} |
]])
end
@@ -2547,12 +2146,10 @@ describe("folded lines", function()
feed('<Esc>gg')
command('botright 1split | wincmd w')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*4
{3:[No Name] [+] }|
[4:---------------------------------------------]|
{2:[No Name] [+] }|
@@ -2566,10 +2163,28 @@ describe("folded lines", function()
|
## grid 4
line 1 |
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 5, sum_scroll_delta = 0};
- [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 5, sum_scroll_delta = 0};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 0,
+ botline = 3,
+ curline = 0,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 0,
+ },
+ [4] = {
+ win = 1001,
+ topline = 0,
+ botline = 2,
+ curline = 0,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 0,
+ },
+ },
+ }
else
screen:expect([[
^line 1 |
@@ -2585,12 +2200,10 @@ describe("folded lines", function()
feed('<C-Y>')
if multigrid then
- screen:expect{grid=[[
+ screen:expect {
+ grid = [[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*4
{3:[No Name] [+] }|
[4:---------------------------------------------]|
{2:[No Name] [+] }|
@@ -2604,10 +2217,28 @@ describe("folded lines", function()
|
## grid 4
line 1 |
- ]], win_viewport={
- [2] = {win = {id = 1000}, topline = 0, botline = 3, curline = 0, curcol = 0, linecount = 5, sum_scroll_delta = -1};
- [4] = {win = {id = 1001}, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 5, sum_scroll_delta = 0};
- }}
+ ]],
+ win_viewport = {
+ [2] = {
+ win = 1000,
+ topline = 0,
+ botline = 3,
+ curline = 0,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = -1,
+ },
+ [4] = {
+ win = 1001,
+ topline = 0,
+ botline = 2,
+ curline = 0,
+ curcol = 0,
+ linecount = 5,
+ sum_scroll_delta = 0,
+ },
+ },
+ }
else
screen:expect([[
virt_line above line 1 |
@@ -2623,7 +2254,7 @@ describe("folded lines", function()
end)
it('Folded and Visual highlights are combined #19691', function()
- command('hi! Visual guibg=Red')
+ command('hi! Visual guifg=NONE guibg=Red')
insert([[
" foofoofoofoofoofoo
" 口 {{{1
@@ -2640,13 +2271,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{14:" foofoofoofoofo}ofoo |
@@ -2654,8 +2279,7 @@ describe("folded lines", function()
{14:" barbarbarbarba}rbar |
{15:+-- 3 lines: " }{5:口···························}|
{14:" bazbazbazbazb}^azbaz |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL BLOCK --} |
]])
@@ -2666,8 +2290,7 @@ describe("folded lines", function()
{14:" barbarbarbarba}rbar |
{15:+-- 3 lines: " }{5:口···························}|
{14:" bazbazbazbazb}^azbaz |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL BLOCK --} |
]])
end
@@ -2676,13 +2299,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{14:" foofoofoofoofoo}foo |
@@ -2690,8 +2307,7 @@ describe("folded lines", function()
{14:" barbarbarbarbar}bar |
{15:+-- 3 lines: " 口}{5:···························}|
{14:" bazbazbazbazba}^zbaz |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL BLOCK --} |
]])
@@ -2702,8 +2318,7 @@ describe("folded lines", function()
{14:" barbarbarbarbar}bar |
{15:+-- 3 lines: " 口}{5:···························}|
{14:" bazbazbazbazba}^zbaz |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL BLOCK --} |
]])
end
@@ -2712,13 +2327,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{14:" foofoofoofoofoof}oo |
@@ -2726,8 +2335,7 @@ describe("folded lines", function()
{14:" barbarbarbarbarb}ar |
{15:+-- 3 lines: " 口}{5:···························}|
{14:" bazbazbazbazbaz}^baz |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL BLOCK --} |
]])
@@ -2738,8 +2346,7 @@ describe("folded lines", function()
{14:" barbarbarbarbarb}ar |
{15:+-- 3 lines: " 口}{5:···························}|
{14:" bazbazbazbazbaz}^baz |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL BLOCK --} |
]])
end
@@ -2748,13 +2355,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{14:" foofoofoofoofoofoo} |
@@ -2762,8 +2363,7 @@ describe("folded lines", function()
{14:" barbarbarbarbarbar} |
{15:+-- 3 lines: " 口··}{5:·························}|
{14:" bazbazbazbazbazba}^z |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL BLOCK --} |
]])
@@ -2774,8 +2374,7 @@ describe("folded lines", function()
{14:" barbarbarbarbarbar} |
{15:+-- 3 lines: " 口··}{5:·························}|
{14:" bazbazbazbazbazba}^z |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL BLOCK --} |
]])
end
@@ -2784,13 +2383,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
" foofoofoofoofo{14:ofoo} |
@@ -2798,8 +2391,7 @@ describe("folded lines", function()
" barbarbarbarba{14:rbar} |
{5:+-- 3 lines: " }{15:口··}{5:·························}|
" bazbazbazbazba^z{14:baz} |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL BLOCK --} |
]])
@@ -2810,8 +2402,7 @@ describe("folded lines", function()
" barbarbarbarba{14:rbar} |
{5:+-- 3 lines: " }{15:口··}{5:·························}|
" bazbazbazbazba^z{14:baz} |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL BLOCK --} |
]])
end
@@ -2820,13 +2411,7 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
" foofoofoofoofoo{14:foo} |
@@ -2834,8 +2419,7 @@ describe("folded lines", function()
" barbarbarbarbar{14:bar} |
{5:+-- 3 lines: " }{15:口··}{5:·························}|
" bazbazbazbazbaz^b{14:az} |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL BLOCK --} |
]])
@@ -2846,8 +2430,7 @@ describe("folded lines", function()
" barbarbarbarbar{14:bar} |
{5:+-- 3 lines: " }{15:口··}{5:·························}|
" bazbazbazbazbaz^b{14:az} |
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL BLOCK --} |
]])
end
@@ -2864,22 +2447,13 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{2:line} 1 |
{5:+-- 2 lines: line 2·························}|
{6:line} 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
/line^ |
]])
@@ -2888,34 +2462,22 @@ describe("folded lines", function()
{2:line} 1 |
{5:+-- 2 lines: line 2·························}|
{6:line} 4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
/line^ |
]])
end
feed('<Esc>')
- funcs.matchadd('Search', 'line')
+ fn.matchadd('Search', 'line')
if multigrid then
screen:expect([[
## grid 1
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
- [2:---------------------------------------------]|
+ [2:---------------------------------------------]|*7
[3:---------------------------------------------]|
## grid 2
{6:line} 1 |
{5:+-- 2 lines: line 2·························}|
{6:line} ^4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
]])
@@ -2924,28 +2486,29 @@ describe("folded lines", function()
{6:line} 1 |
{5:+-- 2 lines: line 2·························}|
{6:line} ^4 |
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
]])
end
end)
- it('support foldtext with virtual text format', function()
+ it('foldtext with virtual text format', function()
screen:try_resize(30, 7)
insert(content1)
- command("hi! CursorLine guibg=NONE guifg=Red gui=NONE")
+ command('hi! CursorLine guibg=NONE guifg=Red gui=NONE')
command('hi F0 guibg=Red guifg=Black')
command('hi F1 guifg=White')
- meths.set_option_value('cursorline', true, {})
- meths.set_option_value('foldcolumn', '4', {})
- meths.set_option_value('foldtext', '['
- .. '["▶", ["F0", "F1"]], '
- .. '[v:folddashes], '
- .. '["\t", "Search"], '
- .. '[getline(v:foldstart), "NonText"]]', {})
+ api.nvim_set_option_value('cursorline', true, {})
+ api.nvim_set_option_value('foldcolumn', '4', {})
+ api.nvim_set_option_value(
+ 'foldtext',
+ '['
+ .. '["▶", ["F0", "F1"]], '
+ .. '[v:folddashes], '
+ .. '["\t", "Search"], '
+ .. '[getline(v:foldstart), "NonText"]]',
+ {}
+ )
command('3,4fold')
command('5,6fold')
@@ -2953,20 +2516,12 @@ describe("folded lines", function()
if multigrid then
screen:expect([[
## grid 1
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
+ [2:------------------------------]|*6
[3:------------------------------]|
## grid 2
{7: }This is a |
{7:+ }{4:^▶}{13:-}{17: }{18:valid English}{13:·····}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
## grid 3
|
]])
@@ -2974,33 +2529,24 @@ describe("folded lines", function()
screen:expect([[
{7: }This is a |
{7:+ }{4:^▶}{13:-}{17: }{18:valid English}{13:·····}|
- {1:~ }|
- {1:~ }|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*4
|
]])
end
- eq('▶-\tvalid English', funcs.foldtextresult(2))
+ eq('▶-\tvalid English', fn.foldtextresult(2))
feed('zo')
if multigrid then
screen:expect([[
## grid 1
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
+ [2:------------------------------]|*6
[3:------------------------------]|
## grid 2
{7: }This is a |
{7:- }valid English |
{7:│+ }{4:▶}{5:--}{19: }{18:sentence composed }|
{7:│+ }{4:^▶}{13:--}{17: }{18:in his cave.}{13:······}|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
|
]])
@@ -3010,33 +2556,26 @@ describe("folded lines", function()
{7:- }valid English |
{7:│+ }{4:▶}{5:--}{19: }{18:sentence composed }|
{7:│+ }{4:^▶}{13:--}{17: }{18:in his cave.}{13:······}|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
|
]])
end
- eq('▶--\tsentence composed by', funcs.foldtextresult(3))
- eq('▶--\tin his cave.', funcs.foldtextresult(5))
+ eq('▶--\tsentence composed by', fn.foldtextresult(3))
+ eq('▶--\tin his cave.', fn.foldtextresult(5))
- command('hi! Visual guibg=Red')
+ command('hi! Visual guifg=NONE guibg=Red')
feed('V2k')
if multigrid then
screen:expect([[
## grid 1
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
+ [2:------------------------------]|*6
[3:------------------------------]|
## grid 2
{7: }This is a |
{7:- }^v{14:alid English} |
{7:│+ }{4:▶}{15:--}{19: }{20:sentence composed }|
{7:│+ }{4:▶}{15:--}{19: }{20:in his cave.}{15:······}|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
## grid 3
{11:-- VISUAL LINE --} |
]])
@@ -3046,30 +2585,23 @@ describe("folded lines", function()
{7:- }^v{14:alid English} |
{7:│+ }{4:▶}{15:--}{19: }{20:sentence composed }|
{7:│+ }{4:▶}{15:--}{19: }{20:in his cave.}{15:······}|
- {1:~ }|
- {1:~ }|
+ {1:~ }|*2
{11:-- VISUAL LINE --} |
]])
end
- meths.set_option_value('rightleft', true, {})
+ api.nvim_set_option_value('rightleft', true, {})
if multigrid then
screen:expect([[
## grid 1
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
- [2:------------------------------]|
+ [2:------------------------------]|*6
[3:------------------------------]|
## grid 2
a si sihT{7: }|
{14:hsilgnE dila}^v{7: -}|
{20: desopmoc ecnetnes}{19: }{15:--}{4:▶}{7: +│}|
{15:······}{20:.evac sih ni}{19: }{15:--}{4:▶}{7: +│}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*2
## grid 3
{11:-- VISUAL LINE --} |
]])
@@ -3079,15 +2611,128 @@ describe("folded lines", function()
{14:hsilgnE dila}^v{7: -}|
{20: desopmoc ecnetnes}{19: }{15:--}{4:▶}{7: +│}|
{15:······}{20:.evac sih ni}{19: }{15:--}{4:▶}{7: +│}|
- {1: ~}|
- {1: ~}|
+ {1: ~}|*2
+ {11:-- VISUAL LINE --} |
+ ]])
+ end
+ end)
+
+ it('transparent foldtext', function()
+ screen:try_resize(30, 7)
+ insert(content1)
+ command('hi! CursorLine guibg=NONE guifg=Red gui=NONE')
+ command('hi F0 guibg=Red guifg=Black')
+ command('hi F1 guifg=White')
+ api.nvim_set_option_value('cursorline', true, {})
+ api.nvim_set_option_value('foldcolumn', '4', {})
+ api.nvim_set_option_value('foldtext', '', {})
+
+ command('3,4fold')
+ command('5,6fold')
+ command('2,6fold')
+ if multigrid then
+ screen:expect([[
+ ## grid 1
+ [2:------------------------------]|*6
+ [3:------------------------------]|
+ ## grid 2
+ {7: }This is a |
+ {7:+ }{13:^valid English·············}|
+ {1:~ }|*4
+ ## grid 3
+ |
+ ]])
+ else
+ screen:expect([[
+ {7: }This is a |
+ {7:+ }{13:^valid English·············}|
+ {1:~ }|*4
+ |
+ ]])
+ end
+
+ feed('zo')
+ if multigrid then
+ screen:expect([[
+ ## grid 1
+ [2:------------------------------]|*6
+ [3:------------------------------]|
+ ## grid 2
+ {7: }This is a |
+ {7:- }valid English |
+ {7:│+ }{5:sentence composed by······}|
+ {7:│+ }{13:^in his cave.··············}|
+ {1:~ }|*2
+ ## grid 3
+ |
+ ]])
+ else
+ screen:expect([[
+ {7: }This is a |
+ {7:- }valid English |
+ {7:│+ }{5:sentence composed by······}|
+ {7:│+ }{13:^in his cave.··············}|
+ {1:~ }|*2
+ |
+ ]])
+ end
+
+ command('hi! Visual guifg=NONE guibg=Red')
+ feed('V2k')
+ if multigrid then
+ screen:expect([[
+ ## grid 1
+ [2:------------------------------]|*6
+ [3:------------------------------]|
+ ## grid 2
+ {7: }This is a |
+ {7:- }^v{14:alid English} |
+ {7:│+ }{15:sentence composed by······}|
+ {7:│+ }{15:in his cave.··············}|
+ {1:~ }|*2
+ ## grid 3
+ {11:-- VISUAL LINE --} |
+ ]])
+ else
+ screen:expect([[
+ {7: }This is a |
+ {7:- }^v{14:alid English} |
+ {7:│+ }{15:sentence composed by······}|
+ {7:│+ }{15:in his cave.··············}|
+ {1:~ }|*2
+ {11:-- VISUAL LINE --} |
+ ]])
+ end
+
+ api.nvim_set_option_value('rightleft', true, {})
+ if multigrid then
+ screen:expect([[
+ ## grid 1
+ [2:------------------------------]|*6
+ [3:------------------------------]|
+ ## grid 2
+ a si sihT{7: }|
+ {14:hsilgnE dila}^v{7: -}|
+ {15:······yb desopmoc ecnetnes}{7: +│}|
+ {15:··············.evac sih ni}{7: +│}|
+ {1: ~}|*2
+ ## grid 3
+ {11:-- VISUAL LINE --} |
+ ]])
+ else
+ screen:expect([[
+ a si sihT{7: }|
+ {14:hsilgnE dila}^v{7: -}|
+ {15:······yb desopmoc ecnetnes}{7: +│}|
+ {15:··············.evac sih ni}{7: +│}|
+ {1: ~}|*2
{11:-- VISUAL LINE --} |
]])
end
end)
end
- describe("with ext_multigrid", function()
+ describe('with ext_multigrid', function()
with_ext_multigrid(true)
end)