rhysd / neovim-component

<neovim-editor> WebComponent to embed Neovim to your app with great ease
https://github.com/rhysd/NyaoVim
MIT License
193 stars 18 forks source link

Generate cursor shape from mode_info_set event #43

Closed chitoku-k closed 7 years ago

chitoku-k commented 7 years ago

What was a problem?

Related to #42, which did not properly handle all of the cursor shapes.

How this PR fixes the problem?

This PR handles mode_info_set event which includes the detail relationships between the mode and cursor shape. The component will generally detect the correct cursor shape and apply it. All cursor shapes that can be seen are currently supported (see below).

The newly added method updateCursorSize is called every time the mode is changed and clips the cursor. The cursor shape is no longer processed by redrawImpl because of complexity.

I did not see any rendering issues with electron@^1.6 so the package has been updated. If you still found it buggy, please discard the commit or let me know what is/are exactly broken.

Check lists

rhysd commented 7 years ago

Could you please revert 9b7df03?

rhysd commented 7 years ago

I did not see any rendering issues with electron@^1.6 so the package has been updated. If you still found it buggy, please discard the commit or let me know what is/are exactly broken.

I'll take a screencast for this. It seems that we need to tweak pixels in the case of high DPI monitor.

rhysd commented 7 years ago

tmp

I only input 'aaaa....' but width of rending area looks wrong. This may be a bug of canvas because canvas with HW acceleration is a bit buggy in Chromium... This does not happen in Electron 1.4.

And Electron 1.4 is still maintained. So we don't need to rush to update the version.

rhysd commented 7 years ago

I tried this branch. But cursor shape does not change as previous.

tmp

Steps:

  1. Open app with npm run example
  2. Enter insert mode with i
  3. Enter some text
  4. Escape from insert mode
  5. Enter replace mode with R
  6. Enter some text

Log:

Line height is changed to  1.3
Drawing cursor is delayed by 10ms
Title is set to  Neovim
Screen size is updated:  800 600
Actual font size is updated:  8.4013671875 18.5
Screen size is updated:  1600 1200
Screen is resized: (32 lines, 95 cols)
Focus changed:  true
nvim attached: 2728 32x95 ["--embed"]
Focus changed:  false
Foreground color is updated:  #fffeeb
Background color is updated:  #132132
Special color is updated:  #fffeeb
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 18.5)
Highlight is updated:  Object {fg: "#536273", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 38) 95 Object {line: 1, col: 0}
Cursor is moved to (798.1298828125, 18.5)
Cursor is moved to (0, 37)
drawText(): (0, 75) 95 Object {line: 2, col: 0}
Cursor is moved to (798.1298828125, 37)
Cursor is moved to (0, 55.5)
drawText(): (0, 112) 95 Object {line: 3, col: 0}
Cursor is moved to (798.1298828125, 55.5)
Cursor is moved to (0, 74)
drawText(): (0, 149) 95 Object {line: 4, col: 0}
Cursor is moved to (798.1298828125, 74)
Cursor is moved to (0, 92.5)
drawText(): (0, 186) 95 Object {line: 5, col: 0}
Cursor is moved to (798.1298828125, 92.5)
Cursor is moved to (0, 111)
drawText(): (0, 223) 95 Object {line: 6, col: 0}
Cursor is moved to (798.1298828125, 111)
Cursor is moved to (0, 129.5)
drawText(): (0, 260) 95 Object {line: 7, col: 0}
Cursor is moved to (798.1298828125, 129.5)
Cursor is moved to (0, 148)
drawText(): (0, 297) 95 Object {line: 8, col: 0}
Cursor is moved to (798.1298828125, 148)
Cursor is moved to (0, 166.5)
drawText(): (0, 334) 95 Object {line: 9, col: 0}
Cursor is moved to (798.1298828125, 166.5)
Cursor is moved to (0, 185)
drawText(): (0, 371) 95 Object {line: 10, col: 0}
Cursor is moved to (798.1298828125, 185)
Cursor is moved to (0, 203.5)
drawText(): (0, 408) 95 Object {line: 11, col: 0}
Cursor is moved to (798.1298828125, 203.5)
Cursor is moved to (0, 222)
drawText(): (0, 445) 95 Object {line: 12, col: 0}
Cursor is moved to (798.1298828125, 222)
Cursor is moved to (0, 240.5)
drawText(): (0, 482) 95 Object {line: 13, col: 0}
Cursor is moved to (798.1298828125, 240.5)
Cursor is moved to (0, 259)
drawText(): (0, 519) 95 Object {line: 14, col: 0}
Cursor is moved to (798.1298828125, 259)
Cursor is moved to (0, 277.5)
drawText(): (0, 556) 95 Object {line: 15, col: 0}
Cursor is moved to (798.1298828125, 277.5)
Cursor is moved to (0, 296)
drawText(): (0, 593) 95 Object {line: 16, col: 0}
Cursor is moved to (798.1298828125, 296)
Cursor is moved to (0, 314.5)
drawText(): (0, 630) 95 Object {line: 17, col: 0}
Cursor is moved to (798.1298828125, 314.5)
Cursor is moved to (0, 333)
drawText(): (0, 667) 95 Object {line: 18, col: 0}
Cursor is moved to (798.1298828125, 333)
Cursor is moved to (0, 351.5)
drawText(): (0, 704) 95 Object {line: 19, col: 0}
Cursor is moved to (798.1298828125, 351.5)
Cursor is moved to (0, 370)
drawText(): (0, 741) 95 Object {line: 20, col: 0}
Cursor is moved to (798.1298828125, 370)
Cursor is moved to (0, 388.5)
drawText(): (0, 778) 95 Object {line: 21, col: 0}
Cursor is moved to (798.1298828125, 388.5)
Cursor is moved to (0, 407)
drawText(): (0, 815) 95 Object {line: 22, col: 0}
Cursor is moved to (798.1298828125, 407)
Cursor is moved to (0, 425.5)
drawText(): (0, 852) 95 Object {line: 23, col: 0}
Cursor is moved to (798.1298828125, 425.5)
Cursor is moved to (0, 444)
drawText(): (0, 889) 95 Object {line: 24, col: 0}
Cursor is moved to (798.1298828125, 444)
Cursor is moved to (0, 462.5)
drawText(): (0, 926) 95 Object {line: 25, col: 0}
Cursor is moved to (798.1298828125, 462.5)
Cursor is moved to (0, 481)
drawText(): (0, 963) 95 Object {line: 26, col: 0}
Cursor is moved to (798.1298828125, 481)
Cursor is moved to (0, 499.5)
drawText(): (0, 1000) 95 Object {line: 27, col: 0}
Cursor is moved to (798.1298828125, 499.5)
Cursor is moved to (0, 518)
drawText(): (0, 1037) 95 Object {line: 28, col: 0}
Cursor is moved to (798.1298828125, 518)
Cursor is moved to (0, 536.5)
drawText(): (0, 1074) 95 Object {line: 29, col: 0}
Cursor is moved to (798.1298828125, 536.5)
Cursor is moved to (0, 555)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 1111) 1 Object {line: 30, col: 0}
Cursor is moved to (8.4013671875, 555)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 1111) 6 Object {line: 30, col: 1}
Cursor is moved to (58.8095703125, 555)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 1111) 1 Object {line: 30, col: 7}
Cursor is moved to (67.2109375, 555)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (134.421875, 1111) 1 Object {line: 30, col: 8}
Cursor is moved to (75.6123046875, 555)
Highlight is updated:  Object {fg: "#646f7c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (151.224609375, 1111) 1 Object {line: 30, col: 9}
Cursor is moved to (84.013671875, 555)
Highlight is updated:  Object {fg: "#fffeee", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (168.02734375, 1111) 53 Object {line: 30, col: 10}
Cursor is moved to (529.2861328125, 555)
Highlight is updated:  Object {fg: "#435060", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (1058.572265625, 1111) 1 Object {line: 30, col: 63}
Cursor is moved to (537.6875, 555)
Highlight is updated:  Object {fg: "#646f7c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (1075.375, 1111) 1 Object {line: 30, col: 64}
Cursor is moved to (546.0888671875, 555)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (1092.177734375, 1111) 13 Object {line: 30, col: 65}
Cursor is moved to (655.306640625, 555)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (1310.61328125, 1111) 1 Object {line: 30, col: 78}
Cursor is moved to (663.7080078125, 555)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (1327.416015625, 1111) 6 Object {line: 30, col: 79}
Cursor is moved to (714.1162109375, 555)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (1428.232421875, 1111) 5 Object {line: 30, col: 85}
Cursor is moved to (756.123046875, 555)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (1512.24609375, 1111) 5 Object {line: 30, col: 90}
Cursor is moved to (798.1298828125, 555)
Cursor is moved to (0, 0)
Focus changed:  true
Screen size is updated:  846 332
Screen is resized: (8 lines, 50 cols)
Foreground color is updated:  #fffeeb
Background color is updated:  #132132
Special color is updated:  #fffeeb
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 18.5)
Highlight is updated:  Object {fg: "#536273", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 38) 50 Object {line: 1, col: 0}
Cursor is moved to (420.068359375, 18.5)
Cursor is moved to (0, 37)
drawText(): (0, 75) 50 Object {line: 2, col: 0}
Cursor is moved to (420.068359375, 37)
Cursor is moved to (0, 55.5)
drawText(): (0, 112) 50 Object {line: 3, col: 0}
Cursor is moved to (420.068359375, 55.5)
Cursor is moved to (0, 74)
drawText(): (0, 149) 50 Object {line: 4, col: 0}
Cursor is moved to (420.068359375, 74)
Cursor is moved to (0, 92.5)
drawText(): (0, 186) 50 Object {line: 5, col: 0}
Cursor is moved to (420.068359375, 92.5)
Cursor is moved to (0, 111)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 223) 1 Object {line: 6, col: 0}
Cursor is moved to (8.4013671875, 111)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 223) 3 Object {line: 6, col: 1}
Cursor is moved to (33.60546875, 111)
Cursor is moved to (33.60546875, 111)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 223) 1 Object {line: 6, col: 4}
Cursor is moved to (42.0068359375, 111)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 223) 1 Object {line: 6, col: 5}
Cursor is moved to (50.408203125, 111)
Highlight is updated:  Object {fg: "#646f7c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (100.81640625, 223) 1 Object {line: 6, col: 6}
Cursor is moved to (58.8095703125, 111)
Highlight is updated:  Object {fg: "#fffeee", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 223) 24 Object {line: 6, col: 7}
Cursor is moved to (260.4423828125, 111)
Highlight is updated:  Object {fg: "#435060", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (520.884765625, 223) 1 Object {line: 6, col: 31}
Cursor is moved to (268.84375, 111)
Highlight is updated:  Object {fg: "#646f7c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (537.6875, 223) 1 Object {line: 6, col: 32}
Cursor is moved to (277.2451171875, 111)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (554.490234375, 223) 1 Object {line: 6, col: 33}
Cursor is moved to (285.646484375, 111)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (571.29296875, 223) 6 Object {line: 6, col: 34}
Cursor is moved to (336.0546875, 111)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (672.109375, 223) 5 Object {line: 6, col: 40}
Cursor is moved to (378.0615234375, 111)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (756.123046875, 223) 5 Object {line: 6, col: 45}
Cursor is moved to (420.068359375, 111)
Cursor is moved to (0, 0)
Screen size is updated:  844 332
Screen size is updated:  844 334
Screen is resized: (9 lines, 50 cols)
Foreground color is updated:  #fffeeb
Background color is updated:  #132132
Special color is updated:  #fffeeb
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 18.5)
Highlight is updated:  Object {fg: "#536273", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 38) 50 Object {line: 1, col: 0}
Cursor is moved to (420.068359375, 18.5)
Cursor is moved to (0, 37)
drawText(): (0, 75) 50 Object {line: 2, col: 0}
Cursor is moved to (420.068359375, 37)
Cursor is moved to (0, 55.5)
drawText(): (0, 112) 50 Object {line: 3, col: 0}
Cursor is moved to (420.068359375, 55.5)
Cursor is moved to (0, 74)
drawText(): (0, 149) 50 Object {line: 4, col: 0}
Cursor is moved to (420.068359375, 74)
Cursor is moved to (0, 92.5)
drawText(): (0, 186) 50 Object {line: 5, col: 0}
Cursor is moved to (420.068359375, 92.5)
Cursor is moved to (0, 111)
drawText(): (0, 223) 50 Object {line: 6, col: 0}
Cursor is moved to (420.068359375, 111)
Cursor is moved to (0, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 260) 1 Object {line: 7, col: 0}
Cursor is moved to (8.4013671875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 260) 3 Object {line: 7, col: 1}
Cursor is moved to (33.60546875, 129.5)
Cursor is moved to (33.60546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 260) 1 Object {line: 7, col: 4}
Cursor is moved to (42.0068359375, 129.5)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 260) 1 Object {line: 7, col: 5}
Cursor is moved to (50.408203125, 129.5)
Highlight is updated:  Object {fg: "#646f7c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (100.81640625, 260) 1 Object {line: 7, col: 6}
Cursor is moved to (58.8095703125, 129.5)
Highlight is updated:  Object {fg: "#fffeee", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 260) 24 Object {line: 7, col: 7}
Cursor is moved to (260.4423828125, 129.5)
Highlight is updated:  Object {fg: "#435060", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (520.884765625, 260) 1 Object {line: 7, col: 31}
Cursor is moved to (268.84375, 129.5)
Highlight is updated:  Object {fg: "#646f7c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (537.6875, 260) 1 Object {line: 7, col: 32}
Cursor is moved to (277.2451171875, 129.5)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (554.490234375, 260) 1 Object {line: 7, col: 33}
Cursor is moved to (285.646484375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (571.29296875, 260) 6 Object {line: 7, col: 34}
Cursor is moved to (336.0546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (672.109375, 260) 5 Object {line: 7, col: 40}
Cursor is moved to (378.0615234375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (756.123046875, 260) 5 Object {line: 7, col: 45}
Cursor is moved to (420.068359375, 129.5)
Cursor is moved to (0, 0)
Focus changed:  false
Highlight is updated:  Object {fg: "#fffeeb", bg: "#3a4b5c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 1) 50 Object {line: 0, col: 0}
Cursor is moved to (420.068359375, 0)
Cursor is moved to (0, 0)
Focus changed:  true
Keydown event: KeyboardEvent {isTrusted: true, key: "i", code: "KeyI", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "i"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 148)
Highlight is updated:  Object {fg: "#fedf81", bg: "#132132", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (0, 297) 12 Object {line: 8, col: 0}
Cursor is moved to (100.81640625, 148)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 260) 1 Object {line: 7, col: 0}
Cursor is moved to (8.4013671875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 260) 3 Object {line: 7, col: 1}
Cursor is moved to (33.60546875, 129.5)
Cursor is moved to (33.60546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 260) 1 Object {line: 7, col: 4}
Cursor is moved to (42.0068359375, 129.5)
Highlight is updated:  Object {fg: "#a8d2eb", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 260) 1 Object {line: 7, col: 5}
Cursor is moved to (50.408203125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (58.8095703125, 129.5)
Highlight is updated:  Object {fg: "#e7d5ff", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 260) 24 Object {line: 7, col: 7}
Cursor is moved to (260.4423828125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (277.2451171875, 129.5)
Highlight is updated:  Object {fg: "#a8d2eb", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (554.490234375, 260) 1 Object {line: 7, col: 33}
Cursor is moved to (285.646484375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (571.29296875, 260) 6 Object {line: 7, col: 34}
Cursor is moved to (336.0546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (672.109375, 260) 5 Object {line: 7, col: 40}
Cursor is moved to (378.0615234375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (756.123046875, 260) 5 Object {line: 7, col: 45}
Cursor is moved to (420.068359375, 129.5)
Cursor is moved to (0, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 1) 1 Object {line: 0, col: 0}
Cursor is moved to (8.4013671875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Clear until EOL: 0:1 length=823.333984375
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (142.8232421875, 129.5)
Highlight is updated:  Object {fg: "#e7d5ff", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (285.646484375, 260) 3 Object {line: 7, col: 17}
Cursor is moved to (168.02734375, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (369.66015625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (739.3203125, 260) 1 Object {line: 7, col: 44}
Cursor is moved to (378.0615234375, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (8.4013671875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (16.802734375, 1) 1 Object {line: 0, col: 1}
Cursor is moved to (16.802734375, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (16.802734375, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (33.60546875, 1) 1 Object {line: 0, col: 2}
Cursor is moved to (25.2041015625, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (25.2041015625, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (50.408203125, 1) 1 Object {line: 0, col: 3}
Cursor is moved to (33.60546875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (33.60546875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 1) 1 Object {line: 0, col: 4}
Cursor is moved to (42.0068359375, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (42.0068359375, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 1) 1 Object {line: 0, col: 5}
Cursor is moved to (50.408203125, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (50.408203125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: " ", code: "Space", location: 0, ctrlKey: false…}
Input to neovim: ""
Highlight is updated:  Object {fg: "#607080", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (100.81640625, 1) 1 Object {line: 0, col: 6}
Cursor is moved to (58.8095703125, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (58.8095703125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (50.408203125, 0)
drawText(): (100.81640625, 1) 2 Object {line: 0, col: 6}
Cursor is moved to (67.2109375, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (67.2109375, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (134.421875, 1) 1 Object {line: 0, col: 8}
Cursor is moved to (75.6123046875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (394.8642578125, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (789.728515625, 260) 2 Object {line: 7, col: 47}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (75.6123046875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (151.224609375, 1) 1 Object {line: 0, col: 9}
Cursor is moved to (84.013671875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (84.013671875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (168.02734375, 1) 1 Object {line: 0, col: 10}
Cursor is moved to (92.4150390625, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a8d2eb", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (92.4150390625, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "Escape", code: "Escape", location: 0, ctrlKey: false…}
Input to neovim: ""
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 148)
Clear until EOL: 8:0 length=840.13671875
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a9de9c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 260) 1 Object {line: 7, col: 0}
Cursor is moved to (8.4013671875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a9de9c", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 260) 3 Object {line: 7, col: 1}
Cursor is moved to (33.60546875, 129.5)
Cursor is moved to (33.60546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a9de9c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 260) 1 Object {line: 7, col: 4}
Cursor is moved to (42.0068359375, 129.5)
Highlight is updated:  Object {fg: "#a9de9c", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 260) 1 Object {line: 7, col: 5}
Cursor is moved to (50.408203125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (58.8095703125, 129.5)
Highlight is updated:  Object {fg: "#a9de9c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 260) 24 Object {line: 7, col: 7}
Cursor is moved to (260.4423828125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (277.2451171875, 129.5)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (554.490234375, 260) 1 Object {line: 7, col: 33}
Cursor is moved to (285.646484375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (571.29296875, 260) 6 Object {line: 7, col: 34}
Cursor is moved to (336.0546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (672.109375, 260) 5 Object {line: 7, col: 40}col: 50line: 7__proto__: Object
Cursor is moved to (378.0615234375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (756.123046875, 260) 5 Object {line: 7, col: 45}
Cursor is moved to (420.068359375, 129.5)
Cursor is moved to (84.013671875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "h", code: "KeyH", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "h"
Cursor is moved to (403.265625, 129.5)
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (75.6123046875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "h", code: "KeyH", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "h"
Cursor is moved to (394.8642578125, 129.5)
drawText(): (789.728515625, 260) 2 Object {line: 7, col: 47}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (67.2109375, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "h", code: "KeyH", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "h"
Cursor is moved to (403.265625, 129.5)
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (58.8095703125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "h", code: "KeyH", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "h"
Cursor is moved to (403.265625, 129.5)
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (50.408203125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "Shift", code: "ShiftLeft", location: 1, ctrlKey: false…}
Keydown event: KeyboardEvent {isTrusted: true, key: "R", code: "KeyR", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "R"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 148)
Highlight is updated:  Object {fg: "#fedf81", bg: "#132132", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (0, 297) 13 Object {line: 8, col: 0}
Cursor is moved to (109.2177734375, 148)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#ff6f57", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 260) 1 Object {line: 7, col: 0}
Cursor is moved to (8.4013671875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#ff6f57", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 260) 3 Object {line: 7, col: 1}
Cursor is moved to (33.60546875, 129.5)
Cursor is moved to (33.60546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#ff6f57", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 260) 1 Object {line: 7, col: 4}
Cursor is moved to (42.0068359375, 129.5)
Highlight is updated:  Object {fg: "#ff6f57", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 260) 1 Object {line: 7, col: 5}
Cursor is moved to (50.408203125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (58.8095703125, 129.5)
Highlight is updated:  Object {fg: "#ff6f57", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 260) 24 Object {line: 7, col: 7}
Cursor is moved to (260.4423828125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (277.2451171875, 129.5)
Highlight is updated:  Object {fg: "#fd8489", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (554.490234375, 260) 1 Object {line: 7, col: 33}
Cursor is moved to (285.646484375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (571.29296875, 260) 6 Object {line: 7, col: 34}
Cursor is moved to (336.0546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (672.109375, 260) 5 Object {line: 7, col: 40}
Cursor is moved to (378.0615234375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (756.123046875, 260) 5 Object {line: 7, col: 45}
Cursor is moved to (420.068359375, 129.5)
Cursor is moved to (50.408203125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (100.81640625, 1) 1 Object {line: 0, col: 6}
Cursor is moved to (58.8095703125, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (58.8095703125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 1) 1 Object {line: 0, col: 7}
Cursor is moved to (67.2109375, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (67.2109375, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (134.421875, 1) 1 Object {line: 0, col: 8}
Cursor is moved to (75.6123046875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (394.8642578125, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (789.728515625, 260) 2 Object {line: 7, col: 47}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (75.6123046875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "a", code: "KeyA", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "a"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (151.224609375, 1) 1 Object {line: 0, col: 9}
Cursor is moved to (84.013671875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (84.013671875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Cursor is moved to (403.265625, 129.5)
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (92.4150390625, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (184.830078125, 1) 1 Object {line: 0, col: 11}
Cursor is moved to (100.81640625, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (100.81640625, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (201.6328125, 1) 1 Object {line: 0, col: 12}
Cursor is moved to (109.2177734375, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (109.2177734375, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (218.435546875, 1) 1 Object {line: 0, col: 13}
Cursor is moved to (117.619140625, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (117.619140625, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (235.23828125, 1) 1 Object {line: 0, col: 14}
Cursor is moved to (126.0205078125, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (126.0205078125, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "b", code: "KeyB", location: 0, ctrlKey: false…}
Input event: Event {isTrusted: true, type: "input", target: input.neovim-input.style-scope.neovim-editor, currentTarget: input.neovim-input.style-scope.neovim-editor, eventPhase: 2…}
Input to neovim: "b"
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (252.041015625, 1) 1 Object {line: 0, col: 15}
Cursor is moved to (134.421875, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (403.265625, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fd8489", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (806.53125, 260) 1 Object {line: 7, col: 48}
Cursor is moved to (411.6669921875, 129.5)
Cursor is moved to (134.421875, 0)
Keydown event: KeyboardEvent {isTrusted: true, key: "Escape", code: "Escape", location: 0, ctrlKey: false…}
Input to neovim: ""
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 148)
Clear until EOL: 8:0 length=840.13671875
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a9de9c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 260) 1 Object {line: 7, col: 0}
Cursor is moved to (8.4013671875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a9de9c", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (16.802734375, 260) 3 Object {line: 7, col: 1}
Cursor is moved to (33.60546875, 129.5)
Cursor is moved to (33.60546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#a9de9c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (67.2109375, 260) 1 Object {line: 7, col: 4}
Cursor is moved to (42.0068359375, 129.5)
Highlight is updated:  Object {fg: "#a9de9c", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (84.013671875, 260) 1 Object {line: 7, col: 5}
Cursor is moved to (50.408203125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (58.8095703125, 129.5)
Highlight is updated:  Object {fg: "#a9de9c", bg: "#435060", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (117.619140625, 260) 24 Object {line: 7, col: 7}
Cursor is moved to (260.4423828125, 129.5)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (277.2451171875, 129.5)
Highlight is updated:  Object {fg: "#fedf81", bg: "#646f7c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (554.490234375, 260) 1 Object {line: 7, col: 33}
Cursor is moved to (285.646484375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (571.29296875, 260) 6 Object {line: 7, col: 34}
Cursor is moved to (336.0546875, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: true, italic: undefined…}
drawText(): (672.109375, 260) 5 Object {line: 7, col: 40}
Cursor is moved to (378.0615234375, 129.5)
Highlight is updated:  Object {fg: "#334152", bg: "#fedf81", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (756.123046875, 260) 5 Object {line: 7, col: 45}
Cursor is moved to (420.068359375, 129.5)
Cursor is moved to (126.0205078125, 0)
Focus changed:  false
Highlight is updated:  Object {fg: "#fffeeb", bg: "#132132", sp: "#fffeeb", bold: undefined, italic: undefined…}
Cursor is moved to (0, 0)
Highlight is updated:  Object {fg: "#fffeeb", bg: "#3a4b5c", sp: "#fffeeb", bold: undefined, italic: undefined…}
drawText(): (0, 1) 50 Object {line: 0, col: 0}
Cursor is moved to (420.068359375, 0)
Cursor is moved to (126.0205078125, 0)
Focus changed:  true
Focus changed:  false
Focus changed:  true
chitoku-k commented 7 years ago

I didn't see these broken phenomenon on my environments including high DPI one (iMac 5K Late 2015). Anyway, I reverted it.

It looks like this:

ezgif-1-803488e8ef

rhysd commented 7 years ago

Weird... I need to investigate the issue. Anyway, thank you for reverting.

chitoku-k commented 7 years ago

I appreciate all your reviews, thank you.

chitoku-k commented 7 years ago

Some plugins are known to override guicursor value. As this PR may be affected by native Neovim behavior, I would like to see whether we have the same value.

:set guicursor
" guicursor=n-v-c:block-Cursor/lCursor-blinkon0,i-ci:ver25-Cursor/lCursor,r-cr:hor20-Cursor/lCursor

I hope this helps.

rhysd commented 7 years ago

Oh, I see.

rhysd commented 7 years ago

I could confirm | type cursor on insert mode with your guicursor option. However, in replace mode, cursor was not changed as block type. Could you describe the steps to see replace mode cursor _?

chitoku-k commented 7 years ago

Both r{char} and Replace-mode seem to work. Just type r or R then the cursor will be immediately changed without any operation.

  1. Press r key
  2. Cursor will be changed to _
rhysd commented 7 years ago

Hmm, ok I'll try again tomorrow. Thank you for description. If I can't still reproduce it, I'll take a screencast gif.

rhysd commented 7 years ago

After some investigation, I could confirm _ shape cursor. I needed to upgrade Neovim version.