From 96a1af7b0f939d7c85e8519164086da47c7077ca Mon Sep 17 00:00:00 2001 From: Hans Date: Thu, 28 Mar 2024 14:01:19 +0800 Subject: [PATCH] Add working directories for eslint (#9738) Fix #9648 Release notes: - Added ability to configure ESLint's `workingDirectories` in settings. Example: `{"lsp":{"eslint":{"settings":{"workingDirectories":["./client","./server"]}}}}`. #9648 --------- Co-authored-by: Thorsten Ball --- crates/languages/src/typescript.rs | 4 ++++ docs/src/languages/javascript.md | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/crates/languages/src/typescript.rs b/crates/languages/src/typescript.rs index a05e33641d0eac8ed26d6c1cb7fe28897bab934c..f25ea57eca833e44b97a3b9ee61ec18360d0e4d5 100644 --- a/crates/languages/src/typescript.rs +++ b/crates/languages/src/typescript.rs @@ -277,6 +277,9 @@ impl LspAdapter for EsLintLspAdapter { let use_flat_config = Self::FLAT_CONFIG_FILE_NAMES .iter() .any(|file| workspace_root.join(file).is_file()); + let working_directories = eslint_user_settings + .get("workingDirectories") + .unwrap_or(&Value::Null); json!({ "": { @@ -292,6 +295,7 @@ impl LspAdapter for EsLintLspAdapter { }, "problems": {}, "codeActionOnSave": code_action_on_save, + "workingDirectories": working_directories, "experimental": { "useFlatConfig": use_flat_config, }, diff --git a/docs/src/languages/javascript.md b/docs/src/languages/javascript.md index a5d8fa0971acbc901e2a8fbd51a8cdb51ac6654e..d1ed08590919dde6d9bed7b1cedd410c5cc7ccd7 100644 --- a/docs/src/languages/javascript.md +++ b/docs/src/languages/javascript.md @@ -85,3 +85,19 @@ You can configure ESLint's `nodePath` setting (requires Zed `0.127.0`): } } ``` + +#### Configure ESLint's `workingDirectories`: + +You can configure ESLint's `workingDirectories` setting (requires Zed `0.130.x`): + +```json +{ + "lsp": { + "eslint": { + "settings": { + "workingDirectories": ["./client", "./server"] + } + } + } +} +```