diff --git a/crates/oxc_language_server/src/main.rs b/crates/oxc_language_server/src/main.rs index 8a4d63eb1..8594bfc70 100644 --- a/crates/oxc_language_server/src/main.rs +++ b/crates/oxc_language_server/src/main.rs @@ -9,6 +9,7 @@ use globset::Glob; use ignore::gitignore::Gitignore; use log::{debug, error, info}; use oxc_linter::{FixKind, LinterBuilder, Oxlintrc}; +use rustc_hash::FxBuildHasher; use serde::{Deserialize, Serialize}; use tokio::sync::{Mutex, OnceCell, RwLock, SetError}; use tower_lsp::lsp_types::{NumberOrString, Position, Range}; @@ -27,11 +28,13 @@ use tower_lsp::{ Client, LanguageServer, LspService, Server, }; +type FxDashMap = DashMap; + struct Backend { client: Client, root_uri: OnceCell>, server_linter: RwLock, - diagnostics_report_map: DashMap>, + diagnostics_report_map: FxDashMap>, options: Mutex, gitignore_glob: Mutex>, } @@ -561,7 +564,7 @@ async fn main() { let stdout = tokio::io::stdout(); let server_linter = ServerLinter::new(); - let diagnostics_report_map = DashMap::new(); + let diagnostics_report_map = FxDashMap::default(); let (service, socket) = LspService::build(|client| Backend { client,