* feat: support added for multiple encodings
Actually, the only supported encoding was UTF-8.
In cases where the editor sends updates encoded in UTF-16,
the mirror of the user's workspace goes out of sync, leading to a server crash.
Furthermore, UTF-16 is the default and mandatory encoding for the protocol,
and servers must support it.
Therefore, it is imperative to ensure its support.
Now, to avoid any unnecessary conversion, the server negotiates the encoding
with the client during the initialization phase.
This allows the server to choose its preferred encoding in cases where it is available.
See: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocuments
* style: format added code using rustfmt
* feat: cargo clippy warnings fixed
* test: add some unit tests for the new `apply_content_change` function
* feat: review comments fixed
Use of the `document::PositionEncodingKind` enum everywhere it's
possible and TryFrom implemented on it.
Also, LspError are not used anymore.
* feat: review comments fixed, mostly style.
* test: fix invalid deserialization
* feat: install node or python only when needed
* feat: when action is rerun, run testbed with logs in debug
* feat(ci): update actions to node 20
* feat: log stdout & stderr from setup & build cmd as debug
* fix: bump helix revision
* fix: use helix fork for the time being
* fix(ci): install missing setuptools
* fix(ci): revert back to python 3.10
* fix(ci): disable lance
* Fix underflow on empty line
* Update crates/llm-ls/src/main.rs
Co-authored-by: Luc Georges <McPatate@users.noreply.github.com>
* Update crates/llm-ls/src/main.rs
Co-authored-by: Luc Georges <McPatate@users.noreply.github.com>
---------
Co-authored-by: Luc Georges <McPatate@users.noreply.github.com>
* feat: parallelise at hole level
* fix(ci): move strategy to testbed job
* feat: output json results file
* fix(ci): install jq
* fix(ci): add missing `runs-on`
* fix(ci): add dependency to testbed job
* fix(ci): invalid artifact key name
* fix(ci): add missing i in fastapi key
* feat(ci): make CI run different # of threads per repo
* fix(ci): results.json not in markdown
* feat: round output values
* fix: avoid creating zombie processes
* fix: check on word instead of line
* feat: recreate holes for long CI