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"] + } + } + } +} +```