diff options
Diffstat (limited to 'test/functional/terminal/cursor_spec.lua')
-rw-r--r-- | test/functional/terminal/cursor_spec.lua | 355 |
1 files changed, 267 insertions, 88 deletions
diff --git a/test/functional/terminal/cursor_spec.lua b/test/functional/terminal/cursor_spec.lua index 4d25fe62ad..d4d08fb24c 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 @@ -25,7 +24,7 @@ describe(':terminal cursor', function() tt.feed_data('testing cursor') screen:expect([[ tty ready | - testing cursor{1: } | + testing cursor^ | |*4 {3:-- TERMINAL --} | ]]) @@ -35,7 +34,7 @@ describe(':terminal cursor', function() feed('<c-\\><c-n>') screen:expect([[ tty ready | - {2:^ } | + ^ | |*5 ]]) end) @@ -49,7 +48,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 +60,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 +71,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 +81,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,58 +92,238 @@ 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', function() + skip(is_os('win'), '#31587') + local idx ---@type number + for i, v in ipairs(screen._mode_info) do + if v.name == 'terminal' then + idx = i + end + end + assert(idx) - 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[idx].blinkon) + eq(500, screen._mode_info[idx].blinkoff) + else + eq(0, screen._mode_info[idx].blinkon) + eq(0, screen._mode_info[idx].blinkoff) + end + eq(v.shape, screen._mode_info[idx].cursor_shape) + end, + }) + end + + feed([[<C-\><C-N>]]) + + screen:expect([[ + tty ready | + ^ | + |*5 + ]]) + + -- Cursor returns to default on TermLeave + eq(500, screen._mode_info[idx].blinkon) + eq(500, screen._mode_info[idx].blinkoff) + eq('block', screen._mode_info[idx].cursor_shape) + end) + + it('can be modified per terminal', function() + skip(is_os('win'), '#31587') + local idx ---@type number + for i, v in ipairs(screen._mode_info) do + if v.name == 'terminal' then + idx = i + end + end + assert(idx) + + -- 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[idx].blinkon) + eq(500, screen._mode_info[idx].blinkoff) + eq('vertical', screen._mode_info[idx].cursor_shape) + end, + }) + + tt.hide_cursor() + screen:expect({ + grid = [[ + tty ready | + | + |*4 + {3:-- TERMINAL --} | + ]], + condition = function() + eq(500, screen._mode_info[idx].blinkon) + eq(500, screen._mode_info[idx].blinkoff) + eq('vertical', screen._mode_info[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('termopen', { testprg('tty-test') }) 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[idx].blinkon) + eq(500, screen._mode_info[idx].blinkoff) + eq('block', screen._mode_info[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[idx].blinkon) + eq(0, screen._mode_info[idx].blinkoff) + eq('horizontal', screen._mode_info[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[idx].blinkon) + eq(500, screen._mode_info[idx].blinkoff) + eq('vertical', screen._mode_info[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([[ - tty ready | - {1: } | - |*4 + ^ | + ~ |*4 + | {3:-- TERMINAL --} | ]]) - feed('<c-\\><c-n>') + + feed('i<Tab>') screen:expect([[ - tty ready | - {2:^ } | - |*5 + ^ | + ~ |*4 + | + {3:-- TERMINAL --} | ]]) end) end) @@ -183,7 +362,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 --} | ]]) end @@ -200,7 +379,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 +387,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 +398,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 +406,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 +417,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 +425,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 +442,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 +450,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 +461,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 +469,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 +480,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 +488,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 +505,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 +513,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 +525,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 +533,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 +545,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 +553,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 +570,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 +578,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 +589,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 +597,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 +608,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 +616,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 +629,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 +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. | - :aaaaaaaa ^ {4: } | + :aaaaaaaa ^ | | ]]) eq({ 6, 12 }, eval('nvim_win_get_cursor(0)')) @@ -504,7 +683,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 --} | ]]) end @@ -527,7 +706,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 +717,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 +731,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 +742,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 +756,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 +767,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 +787,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 +798,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 +812,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 +823,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 +837,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 +848,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 +868,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 +879,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 +894,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 +905,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 +920,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 +931,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 +951,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 +962,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 +976,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 +987,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 +1001,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 +1012,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 +1028,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 +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 ^ {4: } | + {7: 6 }:aaaaaaaa ^ | | ]]) eq({ 6, 12 }, eval('nvim_win_get_cursor(0)')) |