Add working directories for eslint (#9738)
Hans
and
Thorsten Ball
created
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 <mrnugget@gmail.com>
Change summary
crates/languages/src/typescript.rs | 4 ++++
docs/src/languages/javascript.md | 16 ++++++++++++++++
2 files changed, 20 insertions(+)
Detailed changes
@@ -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,
},
@@ -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"]
+ }
+ }
+ }
+}
+```