Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-05-15 | perf(lsp): Cache semantic tokens for open documents (#23799) | Nathan Whitaker | |
VScode will typically send a `textDocument/semanticTokens/full` request followed by `textDocument/semanticTokens/range`, and occassionally request semantic tokens even when we know nothing has changed. Semantic tokens also get refreshed on each change. Computing semantic tokens is relatively heavy in TSC, so we should avoid it as much as possible. Caches the semantic tokens for open documents, to avoid making TSC do unnecessary work. Results in a noticeable improvement in local benchmarking before: ``` Starting Deno benchmark -> Start benchmarking lsp - Simple Startup/Shutdown (10 runs, mean: 383ms) - Big Document/Several Edits (5 runs, mean: 1079ms) - Find/Replace (10 runs, mean: 59ms) - Code Lens (10 runs, mean: 440ms) - deco-cx/apps Multiple Edits + Navigation (5 runs, mean: 9921ms) <- End benchmarking lsp ``` after: ``` Starting Deno benchmark -> Start benchmarking lsp - Simple Startup/Shutdown (10 runs, mean: 395ms) - Big Document/Several Edits (5 runs, mean: 1024ms) - Find/Replace (10 runs, mean: 56ms) - Code Lens (10 runs, mean: 438ms) - deco-cx/apps Multiple Edits + Navigation (5 runs, mean: 8927ms) <- End benchmarking lsp ``` | |||
2024-01-01 | chore: update copyright to 2024 (#21753) | David Sherret | |
2023-01-14 | chore: use rustfmt imports_granularity option (#17421) | Divy Srivastava | |
Closes https://github.com/denoland/deno/issues/2699 Closes https://github.com/denoland/deno/issues/2347 Uses unstable rustfmt features. Since dprint invokes `rustfmt` we do not need to switch the cargo toolchain to nightly. Do we care about formatting stability of our codebase across Rust versions? (I don't) | |||
2023-01-02 | chore: update copyright year to 2023 (#17247) | David Sherret | |
Yearly tradition of creating extra noise in git. | |||
2022-04-03 | refactor(lsp): migrate from lspower back to tower-lsp (#14163) | Jason | |
2022-03-23 | chore: remove all `pub(crate)`s from the cli crate (#14083) | David Sherret | |
2022-01-07 | chore: update copyright to 2022 (#13306) | Ryan Dahl | |
Co-authored-by: Erfan Safari <erfanshield@outlook.com> | |||
2021-11-23 | feat(lsp): add workspace symbol provider (#12787) | Kitson Kelly | |
2021-04-20 | feat(lsp): Implement textDocument/semanticTokens/full (#10233) | Jean Pierre | |
Co-authored-by: Kitson Kelly <me@kitsonkelly.com> |