14 releases
new 0.4.2 | Mar 10, 2025 |
---|---|
0.4.0 | Jul 11, 2024 |
0.3.2 | Oct 22, 2023 |
0.2.5 | Apr 13, 2023 |
0.1.0 | Nov 20, 2022 |
#32 in Text editors
9,235 downloads per month
Used in 4 crates
(3 directly)
35KB
728 lines
lsp-textdocument
A LSP text documents manager that helps mapping of textual content.
Introduction
You may not be able to manage your text documents comfortably when developing an LSP service. There are two reasons why we develop hard.
- Always given a URL variable only, so we need to read the contents of the file ourselves.
- Need map offsets from string index to text dimensional coordinates.
By listening to the notification from the LSP client, lsp-textdocument
can help you automatically manage text documents.
This crate is base on vscode-languageserver-textdocument.
Example usage
Basic usage
use lsp_textdocument::TextDocuments;
fn main() {
let text_documents = TextDocument::new();
...
let text = text_documents.get_document_content(&url, None);
}
with lsp-server
with tower-lsp
Contact us via issues if you require this with tower-lsp
Attention
- The text documents position-encoding only supports
UTF-16
Dependencies
~1.3–2.2MB
~45K SLoC