mirror of
https://github.com/neovim/neovim.git
synced 2025-09-16 08:18:17 +00:00
screen: use UTF-8 representation
Store text in ScreenLines as UTF-8, so it can be sent as-is to the UI layer. `utfc_char2bytes(off,buf)` is removed, as `ScreenLines[off]` now already contains this representation. To recover the codepoints that the screen arrays previously contained, use utfc_ptr2char (or utf_ptr2char to ignore composing chars). NB: This commit does NOT change how screen.c processes incoming UTF-8 data from buffers, cmdline, messages etc. Any algorithm that operates on UCS-4 (like arabic shaping, treatment of non-printable chars) is left unchanged for now.
This commit is contained in:
@@ -108,12 +108,13 @@ retnomove:
|
||||
goto retnomove; // ugly goto...
|
||||
|
||||
// Remember the character under the mouse, it might be a '-' or '+' in the
|
||||
// fold column.
|
||||
// fold column. NB: only works for ASCII chars!
|
||||
if (row >= 0 && row < Rows && col >= 0 && col <= Columns
|
||||
&& ScreenLines != NULL)
|
||||
mouse_char = ScreenLines[LineOffset[row] + (unsigned)col];
|
||||
else
|
||||
&& ScreenLines != NULL) {
|
||||
mouse_char = ScreenLines[LineOffset[row] + (unsigned)col][0];
|
||||
} else {
|
||||
mouse_char = ' ';
|
||||
}
|
||||
|
||||
old_curwin = curwin;
|
||||
old_cursor = curwin->w_cursor;
|
||||
|
Reference in New Issue
Block a user