Skip to content

Latest commit

 

History

History
46 lines (31 loc) · 1.93 KB

BUGS.md

File metadata and controls

46 lines (31 loc) · 1.93 KB

Know issues

Document / Syntax

We would like to introduce an incremental parsing phase (see tree-sitter). Because, when you have tokens (which may be as simple as words) or an AST, completion / suggestion / highlighting / validation become easy. So we need to send events to a lexer/parser, update Document accordingly. And fix Completer / Hinter / Highlighter API such as they have access to Document.

See lex_document.

Repaint / Refresh

Currently, performance is poor because, most of the time, we refresh the whole line (and prompt). We would like to transform events on prompt/line/hint into partial repaint.

See termwiz design (Surface). See replxx refresh delay (_lastRefreshTime) or python-prompt-toolkit max_render_postpone_time. https://docs.rs/xi-unicode/0.3.0/xi_unicode/struct.LineBreakIterator.html https://github.com/xi-editor/xi-editor/blob/master/rust/core-lib/src/linewrap.rs vt100

Action / Command

We would like to support user defined actions that interact nicely with undo manager and kill-ring. To do so, we need to refactor current key event dispatch.

See replxx design (ACTION_RESULT, action_trait_t).

Line wrapping (should be fixed with versions >= 6.1.2)

On Unix platform, we assume that auto_right_margin (am) is enabled. And on Windows, we activate ENABLE_WRAP_AT_EOL_OUTPUT. But on Windows 10, ENABLE_WRAP_AT_EOL_OUTPUT and ENABLE_VIRTUAL_TERMINAL_PROCESSING seems to be incompatible.

Colors

We assume that ANSI colors are supported. Which is not the case on Windows (except on Windows 10)!

Emoji

kkawakam#184 https://docs.rs/xi-unicode/0.3.0/xi_unicode/trait.EmojiExt.html https://docs.rs/termwiz/0.11.0/termwiz/cell/fn.grapheme_column_width.html