diff --git a/crates/languages/src/typescript.rs b/crates/languages/src/typescript.rs index 3a0291feb5d5a33d5ca23ff77fae0ddb289a197c..e549aaf997bc75e794d87dcdbe0a2a16a10d8c92 100644 --- a/crates/languages/src/typescript.rs +++ b/crates/languages/src/typescript.rs @@ -379,6 +379,11 @@ impl LspAdapter for EsLintLspAdapter { } } + let working_directory = eslint_user_settings + .get("workingDirectory") + .cloned() + .unwrap_or_else(|| json!({"mode": "auto"})); + let problems = eslint_user_settings .get("problems") .cloned() @@ -400,7 +405,7 @@ impl LspAdapter for EsLintLspAdapter { "rulesCustomizations": rules_customizations, "run": "onType", "nodePath": node_path, - "workingDirectory": {"mode": "auto"}, + "workingDirectory": working_directory, "workspaceFolder": { "uri": workspace_root, "name": workspace_root.file_name() diff --git a/docs/src/languages/javascript.md b/docs/src/languages/javascript.md index 7e74cbbfaebb41443dbd30611711672b1ba42cab..e2b69a0961b054ea727a9092d56727eb5f464607 100644 --- a/docs/src/languages/javascript.md +++ b/docs/src/languages/javascript.md @@ -153,6 +153,24 @@ You can configure ESLint's `rulesCustomizations` setting: } ``` +### Configure ESLint's `workingDirectory`: + +You can configure ESLint's `workingDirectory` setting: + +```json +{ + "lsp": { + "eslint": { + "settings": { + "workingDirectory": { + "mode": "auto" + } + } + } + } +} +``` + ## See also - [Yarn documentation](./yarn.md) for a walkthrough of configuring your project to use Yarn.