mirror of
https://github.com/denoland/deno.git
synced 2024-12-21 23:04:45 -05:00
f23155bca7
Previously we locked the entire `FileSystemDocuments` even for lookups, causing contention. This was particularly bad because some of the hot ops (namely `op_resolve`) can end up hitting that lock under contention. This PR replaces the mutex with synchronization internal to `FileSystemDocuments` (an `AtomicBool` for the dirty flag, and then a `DashMap` for the actual documents). I need to think a bit more about whether or not this introduces any problematic race conditions. |
||
---|---|---|
.. | ||
testing | ||
analysis.rs | ||
cache.rs | ||
capabilities.rs | ||
client.rs | ||
code_lens.rs | ||
completions.rs | ||
config.rs | ||
diagnostics.rs | ||
documents.rs | ||
jsr.rs | ||
language_server.rs | ||
logging.rs | ||
lsp_custom.rs | ||
mod.rs | ||
npm.rs | ||
parent_process_checker.rs | ||
path_to_regex.rs | ||
performance.rs | ||
README.md | ||
refactor.rs | ||
registries.rs | ||
repl.rs | ||
search.rs | ||
semantic_tokens.rs | ||
text.rs | ||
tsc.rs | ||
urls.rs |
Deno Language Server
The Deno Language Server provides a server implementation of the
Language Server Protocol
which is specifically tailored to provide a Deno view of code. It is
integrated into the command line and can be started via the lsp
sub-command.
This documentation has been moved to the Deno manual.