aboutsummaryrefslogtreecommitdiff
path: root/test/functional/terminal/cursor_spec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/functional/terminal/cursor_spec.lua')
-rw-r--r--test/functional/terminal/cursor_spec.lua403
1 files changed, 297 insertions, 106 deletions
diff --git a/test/functional/terminal/cursor_spec.lua b/test/functional/terminal/cursor_spec.lua
index f223cdd417..83408e41b3 100644
--- a/test/functional/terminal/cursor_spec.lua
+++ b/test/functional/terminal/cursor_spec.lua
@@ -1,13 +1,12 @@
local t = require('test.testutil')
local n = require('test.functional.testnvim')()
-local Screen = require('test.functional.ui.screen')
local tt = require('test.functional.testterm')
local feed, clear = n.feed, n.clear
local testprg, command = n.testprg, n.command
local eq, eval = t.eq, n.eval
local matches = t.matches
-local poke_eventloop = n.poke_eventloop
+local call = n.call
local hide_cursor = tt.hide_cursor
local show_cursor = tt.show_cursor
local is_os = t.is_os
@@ -16,16 +15,27 @@ local skip = t.skip
describe(':terminal cursor', function()
local screen
+ local terminal_mode_idx ---@type number
+
before_each(function()
clear()
screen = tt.setup_screen()
+
+ if terminal_mode_idx == nil then
+ for i, v in ipairs(screen._mode_info) do
+ if v.name == 'terminal' then
+ terminal_mode_idx = i
+ end
+ end
+ assert(terminal_mode_idx)
+ end
end)
it('moves the screen cursor when focused', function()
tt.feed_data('testing cursor')
screen:expect([[
tty ready |
- testing cursor{1: } |
+ testing cursor^ |
|*4
{3:-- TERMINAL --} |
]])
@@ -35,7 +45,7 @@ describe(':terminal cursor', function()
feed('<c-\\><c-n>')
screen:expect([[
tty ready |
- {2:^ } |
+ ^ |
|*5
]])
end)
@@ -49,7 +59,7 @@ describe(':terminal cursor', function()
screen:expect([[
{7: 1 }tty ready |
{7: 2 }^rows: 6, cols: 46 |
- {7: 3 }{2: } |
+ {7: 3 } |
{7: 4 } |
{7: 5 } |
{7: 6 } |
@@ -61,7 +71,7 @@ describe(':terminal cursor', function()
screen:expect([[
{7: 1 }tty ready |
{7: 2 }^rows: 6, cols: 46 |
- {7: 3 }{2: } |
+ {7: 3 } |
{7: 4 } |
{7: 5 } |
{7: 6 } |
@@ -72,7 +82,7 @@ describe(':terminal cursor', function()
screen:expect([[
{7: 1 }tty ready |
{7: 2 }rows: 6, cols: 46 |
- {7: 3 }{1: } |
+ {7: 3 }^ |
{7: 4 } |
{7: 5 } |
{7: 6 } |
@@ -82,8 +92,8 @@ describe(':terminal cursor', function()
end)
describe('when invisible', function()
- it('is not highlighted and is detached from screen cursor', function()
- skip(is_os('win'))
+ it('is not highlighted', function()
+ skip(is_os('win'), '#31587')
hide_cursor()
screen:expect([[
tty ready |
@@ -93,59 +103,259 @@ describe(':terminal cursor', function()
show_cursor()
screen:expect([[
tty ready |
- {1: } |
+ ^ |
|*4
{3:-- TERMINAL --} |
]])
-- same for when the terminal is unfocused
feed('<c-\\><c-n>')
hide_cursor()
+ screen:expect({
+ grid = [[
+ tty ready |
+ ^ |
+ |*5
+ ]],
+ unchanged = true,
+ })
+ show_cursor()
+ screen:expect({
+ grid = [[
+ tty ready |
+ ^ |
+ |*5
+ ]],
+ unchanged = true,
+ })
+ end)
+
+ it('becomes visible when exiting Terminal mode', function()
+ skip(is_os('win'), '#31587')
+ hide_cursor()
+ screen:expect([[
+ tty ready |
+ |*5
+ {3:-- TERMINAL --} |
+ ]])
+ feed('<c-\\><c-n>')
screen:expect([[
tty ready |
^ |
|*5
]])
- show_cursor()
+ feed('i')
screen:expect([[
tty ready |
- {2:^ } |
|*5
+ {3:-- TERMINAL --} |
]])
end)
end)
-end)
-describe('cursor with customized highlighting', function()
- local screen
+ it('can be modified by application #3681 #31685', function()
+ skip(is_os('win'), '#31587')
- before_each(function()
- clear()
- command('highlight TermCursor ctermfg=45 ctermbg=46 cterm=NONE')
- command('highlight TermCursorNC ctermfg=55 ctermbg=56 cterm=NONE')
- screen = Screen.new(50, 7, { rgb = false })
- screen:set_default_attr_ids({
- [1] = { foreground = 45, background = 46 },
- [2] = { foreground = 55, background = 56 },
- [3] = { bold = true },
+ local states = {
+ [1] = { blink = true, shape = 'block' },
+ [2] = { blink = false, shape = 'block' },
+ [3] = { blink = true, shape = 'horizontal' },
+ [4] = { blink = false, shape = 'horizontal' },
+ [5] = { blink = true, shape = 'vertical' },
+ [6] = { blink = false, shape = 'vertical' },
+ }
+
+ for k, v in pairs(states) do
+ tt.feed_csi(('%d q'):format(k))
+ screen:expect({
+ grid = [[
+ tty ready |
+ ^ |
+ |*4
+ {3:-- TERMINAL --} |
+ ]],
+ condition = function()
+ if v.blink then
+ eq(500, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(500, screen._mode_info[terminal_mode_idx].blinkoff)
+ else
+ eq(0, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(0, screen._mode_info[terminal_mode_idx].blinkoff)
+ end
+
+ eq(v.shape, screen._mode_info[terminal_mode_idx].cursor_shape)
+
+ -- Cell percentages are hard coded for each shape in terminal.c
+ if v.shape == 'horizontal' then
+ eq(20, screen._mode_info[terminal_mode_idx].cell_percentage)
+ elseif v.shape == 'vertical' then
+ eq(25, screen._mode_info[terminal_mode_idx].cell_percentage)
+ end
+ end,
+ })
+ end
+
+ feed([[<C-\><C-N>]])
+
+ screen:expect([[
+ tty ready |
+ ^ |
+ |*5
+ ]])
+
+ -- Cursor returns to default on TermLeave
+ eq(500, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(500, screen._mode_info[terminal_mode_idx].blinkoff)
+ eq('block', screen._mode_info[terminal_mode_idx].cursor_shape)
+ end)
+
+ it('can be modified per terminal', function()
+ skip(is_os('win'), '#31587')
+
+ -- Set cursor to vertical bar with blink
+ tt.feed_csi('5 q')
+ screen:expect({
+ grid = [[
+ tty ready |
+ ^ |
+ |*4
+ {3:-- TERMINAL --} |
+ ]],
+ condition = function()
+ eq(500, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(500, screen._mode_info[terminal_mode_idx].blinkoff)
+ eq('vertical', screen._mode_info[terminal_mode_idx].cursor_shape)
+ end,
+ })
+
+ tt.hide_cursor()
+ screen:expect({
+ grid = [[
+ tty ready |
+ |
+ |*4
+ {3:-- TERMINAL --} |
+ ]],
+ condition = function()
+ eq(500, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(500, screen._mode_info[terminal_mode_idx].blinkoff)
+ eq('vertical', screen._mode_info[terminal_mode_idx].cursor_shape)
+ end,
})
- command('call termopen(["' .. testprg('tty-test') .. '"])')
+
+ -- Exit terminal mode to reset terminal cursor settings to default and
+ -- create a new terminal window
+ feed([[<C-\><C-N>]])
+ command('set statusline=~~~')
+ command('new')
+ call('jobstart', { testprg('tty-test') }, { term = true })
feed('i')
- poke_eventloop()
+ screen:expect({
+ grid = [[
+ tty ready |
+ ^ |
+ {17:~~~ }|
+ rows: 2, cols: 50 |
+ |
+ {18:~~~ }|
+ {3:-- TERMINAL --} |
+ ]],
+ condition = function()
+ -- New terminal, cursor resets to defaults
+ eq(500, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(500, screen._mode_info[terminal_mode_idx].blinkoff)
+ eq('block', screen._mode_info[terminal_mode_idx].cursor_shape)
+ end,
+ })
+
+ -- Set cursor to underline, no blink
+ tt.feed_csi('4 q')
+ screen:expect({
+ grid = [[
+ tty ready |
+ ^ |
+ {17:~~~ }|
+ rows: 2, cols: 50 |
+ |
+ {18:~~~ }|
+ {3:-- TERMINAL --} |
+ ]],
+ condition = function()
+ eq(0, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(0, screen._mode_info[terminal_mode_idx].blinkoff)
+ eq('horizontal', screen._mode_info[terminal_mode_idx].cursor_shape)
+ end,
+ })
+
+ -- Switch back to first terminal, cursor should still be hidden
+ command('wincmd p')
+ screen:expect({
+ grid = [[
+ tty ready |
+ |
+ {18:~~~ }|
+ rows: 2, cols: 50 |
+ |
+ {17:~~~ }|
+ {3:-- TERMINAL --} |
+ ]],
+ condition = function()
+ eq(500, screen._mode_info[terminal_mode_idx].blinkon)
+ eq(500, screen._mode_info[terminal_mode_idx].blinkoff)
+ eq('vertical', screen._mode_info[terminal_mode_idx].cursor_shape)
+ end,
+ })
end)
- it('overrides the default highlighting', function()
+ it('can be positioned arbitrarily', function()
+ clear()
+ screen = tt.setup_child_nvim({
+ '-u',
+ 'NONE',
+ '-i',
+ 'NONE',
+ '--cmd',
+ n.nvim_set .. ' noshowmode',
+ })
+ screen:expect([[
+ ^ |
+ ~ |*4
+ |
+ {3:-- TERMINAL --} |
+ ]])
+
+ feed('i<Tab>')
screen:expect([[
- tty ready |
- {1: } |
- |*4
+ ^ |
+ ~ |*4
+ |
{3:-- TERMINAL --} |
]])
- feed('<c-\\><c-n>')
+ end)
+
+ it('preserves guicursor value on TermLeave #31612', function()
+ eq(3, screen._mode_info[terminal_mode_idx].hl_id)
+
+ -- Change 'guicursor' while terminal mode is active
+ command('set guicursor+=t:Error')
+
+ local error_hl_id = call('hlID', 'Error')
+
+ screen:expect({
+ condition = function()
+ eq(error_hl_id, screen._mode_info[terminal_mode_idx].hl_id)
+ end,
+ })
+
+ -- Exit terminal mode
+ feed([[<C-\><C-N>]])
+
screen:expect([[
tty ready |
- {2:^ } |
+ ^ |
|*5
]])
+
+ eq(error_hl_id, screen._mode_info[terminal_mode_idx].hl_id)
end)
end)
@@ -171,19 +381,10 @@ describe('buffer cursor position is correct in terminal without number column',
}, {
cols = 70,
})
- screen:set_default_attr_ids({
- [1] = { foreground = 253, background = 11 },
- [2] = { reverse = true },
- [3] = { bold = true },
- [4] = { background = 11 },
- })
- -- Also check for real cursor position, as it is used for stuff like input methods
- screen._handle_busy_start = function() end
- screen._handle_busy_stop = function() end
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :{2:^ } |
+ :^ |
{3:-- TERMINAL --} |
]])
end
@@ -200,7 +401,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaaa{2:^ } |
+ :aaaaaaaa^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 9 }, eval('nvim_win_get_cursor(0)'))
@@ -208,7 +409,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaa^a{4: } |
+ :aaaaaaa^a |
|
]])
eq({ 6, 8 }, eval('nvim_win_get_cursor(0)'))
@@ -219,7 +420,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaa{2:^a}a |
+ :aaaaaa^aa |
{3:-- TERMINAL --} |
]])
eq({ 6, 7 }, eval('nvim_win_get_cursor(0)'))
@@ -227,7 +428,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaa^a{4:a}a |
+ :aaaaa^aaa |
|
]])
eq({ 6, 6 }, eval('nvim_win_get_cursor(0)'))
@@ -238,7 +439,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :a{2:^a}aaaaaa |
+ :a^aaaaaaa |
{3:-- TERMINAL --} |
]])
eq({ 6, 2 }, eval('nvim_win_get_cursor(0)'))
@@ -246,7 +447,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^a{4:a}aaaaaa |
+ :^aaaaaaaa |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -263,7 +464,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµµµµ{2:^ } |
+ :µµµµµµµµ^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 17 }, eval('nvim_win_get_cursor(0)'))
@@ -271,7 +472,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµµµ^µ{4: } |
+ :µµµµµµµ^µ |
|
]])
eq({ 6, 15 }, eval('nvim_win_get_cursor(0)'))
@@ -282,7 +483,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµµ{2:^µ}µ |
+ :µµµµµµ^µµ |
{3:-- TERMINAL --} |
]])
eq({ 6, 13 }, eval('nvim_win_get_cursor(0)'))
@@ -290,7 +491,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µµµµµ^µ{4:µ}µ |
+ :µµµµµ^µµµ |
|
]])
eq({ 6, 11 }, eval('nvim_win_get_cursor(0)'))
@@ -301,7 +502,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ{2:^µ}µµµµµµ |
+ :µ^µµµµµµµ |
{3:-- TERMINAL --} |
]])
eq({ 6, 3 }, eval('nvim_win_get_cursor(0)'))
@@ -309,7 +510,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^µ{4:µ}µµµµµµ |
+ :^µµµµµµµµ |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -326,7 +527,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳{2:^ } |
+ :µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 33 }, eval('nvim_win_get_cursor(0)'))
@@ -334,7 +535,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳{4: } |
+ :µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳ |
|
]])
eq({ 6, 29 }, eval('nvim_win_get_cursor(0)'))
@@ -346,7 +547,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳µ̳{2:^µ̳}µ̳ |
+ :µ̳µ̳µ̳µ̳µ̳µ̳^µ̳µ̳ |
{3:-- TERMINAL --} |
]])
eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
@@ -354,7 +555,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳µ̳µ̳µ̳µ̳^µ̳{4:µ̳}µ̳ |
+ :µ̳µ̳µ̳µ̳µ̳^µ̳µ̳µ̳ |
|
]])
eq({ 6, 21 }, eval('nvim_win_get_cursor(0)'))
@@ -366,7 +567,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :µ̳{2:^µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ :µ̳^µ̳µ̳µ̳µ̳µ̳µ̳µ̳ |
{3:-- TERMINAL --} |
]])
eq({ 6, 5 }, eval('nvim_win_get_cursor(0)'))
@@ -374,7 +575,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^µ̳{4:µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ :^µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳ |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -391,7 +592,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦哦哦哦{2:^ } |
+ :哦哦哦哦哦哦哦哦^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
@@ -399,7 +600,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦哦哦^哦{4: } |
+ :哦哦哦哦哦哦哦^哦 |
|
]])
eq({ 6, 22 }, eval('nvim_win_get_cursor(0)'))
@@ -410,7 +611,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦哦{2:^哦}哦 |
+ :哦哦哦哦哦哦^哦哦 |
{3:-- TERMINAL --} |
]])
eq({ 6, 19 }, eval('nvim_win_get_cursor(0)'))
@@ -418,7 +619,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦哦哦哦哦^哦{4:哦}哦 |
+ :哦哦哦哦哦^哦哦哦 |
|
]])
eq({ 6, 16 }, eval('nvim_win_get_cursor(0)'))
@@ -429,7 +630,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :哦{2:^哦}哦哦哦哦哦哦 |
+ :哦^哦哦哦哦哦哦哦 |
{3:-- TERMINAL --} |
]])
eq({ 6, 4 }, eval('nvim_win_get_cursor(0)'))
@@ -437,7 +638,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :^哦{4:哦}哦哦哦哦哦哦 |
+ :^哦哦哦哦哦哦哦哦 |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -450,7 +651,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaaa {2:^ } |
+ :aaaaaaaa ^ |
{3:-- TERMINAL --} |
]])
matches('^:aaaaaaaa [ ]*$', eval('nvim_get_current_line()'))
@@ -459,7 +660,7 @@ describe('buffer cursor position is correct in terminal without number column',
screen:expect([[
|*4
Entering Ex mode. Type "visual" to go to Normal mode. |
- :aaaaaaaa ^ {4: } |
+ :aaaaaaaa ^ |
|
]])
eq({ 6, 12 }, eval('nvim_win_get_cursor(0)'))
@@ -488,30 +689,20 @@ describe('buffer cursor position is correct in terminal with number column', fun
}, {
cols = 70,
})
- screen:set_default_attr_ids({
- [1] = { foreground = 253, background = 11 },
- [2] = { reverse = true },
- [3] = { bold = true },
- [4] = { background = 11 },
- [7] = { foreground = 130 },
- })
- -- Also check for real cursor position, as it is used for stuff like input methods
- screen._handle_busy_start = function() end
- screen._handle_busy_stop = function() end
screen:expect([[
{7: 1 } |
{7: 2 } |
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:{2:^ } |
+ {7: 6 }:^ |
{3:-- TERMINAL --} |
]])
end
before_each(function()
clear()
- command('set number')
+ command('au TermOpen * set number')
end)
describe('in a line with no multibyte chars or trailing spaces,', function()
@@ -527,7 +718,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaaa{2:^ } |
+ {7: 6 }:aaaaaaaa^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 9 }, eval('nvim_win_get_cursor(0)'))
@@ -538,7 +729,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaa^a{4: } |
+ {7: 6 }:aaaaaaa^a |
|
]])
eq({ 6, 8 }, eval('nvim_win_get_cursor(0)'))
@@ -552,7 +743,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaa{2:^a}a |
+ {7: 6 }:aaaaaa^aa |
{3:-- TERMINAL --} |
]])
eq({ 6, 7 }, eval('nvim_win_get_cursor(0)'))
@@ -563,7 +754,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaa^a{4:a}a |
+ {7: 6 }:aaaaa^aaa |
|
]])
eq({ 6, 6 }, eval('nvim_win_get_cursor(0)'))
@@ -577,7 +768,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:a{2:^a}aaaaaa |
+ {7: 6 }:a^aaaaaaa |
{3:-- TERMINAL --} |
]])
eq({ 6, 2 }, eval('nvim_win_get_cursor(0)'))
@@ -588,7 +779,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^a{4:a}aaaaaa |
+ {7: 6 }:^aaaaaaaa |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -608,7 +799,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµµµµ{2:^ } |
+ {7: 6 }:µµµµµµµµ^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 17 }, eval('nvim_win_get_cursor(0)'))
@@ -619,7 +810,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµµµ^µ{4: } |
+ {7: 6 }:µµµµµµµ^µ |
|
]])
eq({ 6, 15 }, eval('nvim_win_get_cursor(0)'))
@@ -633,7 +824,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµµ{2:^µ}µ |
+ {7: 6 }:µµµµµµ^µµ |
{3:-- TERMINAL --} |
]])
eq({ 6, 13 }, eval('nvim_win_get_cursor(0)'))
@@ -644,7 +835,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µµµµµ^µ{4:µ}µ |
+ {7: 6 }:µµµµµ^µµµ |
|
]])
eq({ 6, 11 }, eval('nvim_win_get_cursor(0)'))
@@ -658,7 +849,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ{2:^µ}µµµµµµ |
+ {7: 6 }:µ^µµµµµµµ |
{3:-- TERMINAL --} |
]])
eq({ 6, 3 }, eval('nvim_win_get_cursor(0)'))
@@ -669,7 +860,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^µ{4:µ}µµµµµµ |
+ {7: 6 }:^µµµµµµµµ |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -689,7 +880,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳{2:^ } |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 33 }, eval('nvim_win_get_cursor(0)'))
@@ -700,7 +891,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳{4: } |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳µ̳^µ̳ |
|
]])
eq({ 6, 29 }, eval('nvim_win_get_cursor(0)'))
@@ -715,7 +906,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳{2:^µ̳}µ̳ |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳µ̳^µ̳µ̳ |
{3:-- TERMINAL --} |
]])
eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
@@ -726,7 +917,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳µ̳µ̳µ̳µ̳^µ̳{4:µ̳}µ̳ |
+ {7: 6 }:µ̳µ̳µ̳µ̳µ̳^µ̳µ̳µ̳ |
|
]])
eq({ 6, 21 }, eval('nvim_win_get_cursor(0)'))
@@ -741,7 +932,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:µ̳{2:^µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ {7: 6 }:µ̳^µ̳µ̳µ̳µ̳µ̳µ̳µ̳ |
{3:-- TERMINAL --} |
]])
eq({ 6, 5 }, eval('nvim_win_get_cursor(0)'))
@@ -752,7 +943,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^µ̳{4:µ̳}µ̳µ̳µ̳µ̳µ̳µ̳ |
+ {7: 6 }:^µ̳µ̳µ̳µ̳µ̳µ̳µ̳µ̳ |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -772,7 +963,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦哦哦哦{2:^ } |
+ {7: 6 }:哦哦哦哦哦哦哦哦^ |
{3:-- TERMINAL --} |
]])
eq({ 6, 25 }, eval('nvim_win_get_cursor(0)'))
@@ -783,7 +974,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦哦哦^哦{4: } |
+ {7: 6 }:哦哦哦哦哦哦哦^哦 |
|
]])
eq({ 6, 22 }, eval('nvim_win_get_cursor(0)'))
@@ -797,7 +988,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦哦{2:^哦}哦 |
+ {7: 6 }:哦哦哦哦哦哦^哦哦 |
{3:-- TERMINAL --} |
]])
eq({ 6, 19 }, eval('nvim_win_get_cursor(0)'))
@@ -808,7 +999,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦哦哦哦哦^哦{4:哦}哦 |
+ {7: 6 }:哦哦哦哦哦^哦哦哦 |
|
]])
eq({ 6, 16 }, eval('nvim_win_get_cursor(0)'))
@@ -822,7 +1013,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:哦{2:^哦}哦哦哦哦哦哦 |
+ {7: 6 }:哦^哦哦哦哦哦哦哦 |
{3:-- TERMINAL --} |
]])
eq({ 6, 4 }, eval('nvim_win_get_cursor(0)'))
@@ -833,7 +1024,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:^哦{4:哦}哦哦哦哦哦哦 |
+ {7: 6 }:^哦哦哦哦哦哦哦哦 |
|
]])
eq({ 6, 1 }, eval('nvim_win_get_cursor(0)'))
@@ -849,7 +1040,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaaa {2:^ } |
+ {7: 6 }:aaaaaaaa ^ |
{3:-- TERMINAL --} |
]])
matches('^:aaaaaaaa [ ]*$', eval('nvim_get_current_line()'))
@@ -861,7 +1052,7 @@ describe('buffer cursor position is correct in terminal with number column', fun
{7: 3 } |
{7: 4 } |
{7: 5 }Entering Ex mode. Type "visual" to go to Normal mode. |
- {7: 6 }:aaaaaaaa ^ {4: } |
+ {7: 6 }:aaaaaaaa ^ |
|
]])
eq({ 6, 12 }, eval('nvim_win_get_cursor(0)'))