helix-mirror/helix-term
Pascal Kuthe 8cb7cdfd7a discard stale completion requests
Completion requests are computed asynchronously to avoid common micro
freezes while editing. This means that once a completion request
completes, the state of the editor might have changed. Currently,
there is a check to ensure we are still in insert mode. However,
we also need to ensure that the view and document hasn't changed
to avoid accidentally using a savepoint with the wrong view/document.

Furthermore, the editor might request a new completion while the
previous completion request hasn't complemented yet. This can
lead to weird flickering or an outdated completion request replacing
a newer completion that has already completed (the LSP server
is not required to process completion requests in order). This change
also needed to ensure determinism/linear ordering so that completion
popup always correspond to the last completion request.
2023-03-09 13:01:02 +09:00
..
src discard stale completion requests 2023-03-09 13:01:02 +09:00
tests Make m textobject look for pairs enclosing selections (#3344) 2023-02-10 13:52:57 -06:00
.gitignore Initial import. 2020-05-20 18:14:51 +09:00
build.rs feat(lsp): pass client_info on initialization (#4904) 2022-12-08 21:57:03 -06:00
Cargo.toml build(deps): bump grep-regex from 0.1.10 to 0.1.11 (#6215) 2023-03-06 19:18:28 -06:00