From 43a845cbbf4ddb4d4eebe7e28bb00466eb634cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20Pf=C3=A4ffle?= <67913738+rpfaeffle@users.noreply.github.com> Date: Sat, 17 Feb 2024 10:33:05 +0100 Subject: [PATCH] Add default settings to display Svelte inlay hints (#7943) Fixes: #7913. Release Notes: - Added default settings for Svelte language server to display inlay hints ([#7913](https://github.com/zed-industries/zed/issues/7913)). --- crates/zed/src/languages/svelte.rs | 31 ++++++++++++++++- docs/src/languages/svelte.md | 53 ++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/crates/zed/src/languages/svelte.rs b/crates/zed/src/languages/svelte.rs index 35b223a594..45fd1b0457 100644 --- a/crates/zed/src/languages/svelte.rs +++ b/crates/zed/src/languages/svelte.rs @@ -91,8 +91,37 @@ impl LspAdapter for SvelteLspAdapter { } fn initialization_options(&self) -> Option { + let config = json!({ + "inlayHints": { + "parameterNames": { + "enabled": "all", + "suppressWhenArgumentMatchesName": false + }, + "parameterTypes": { + "enabled": true + }, + "variableTypes": { + "enabled": true, + "suppressWhenTypeMatchesName": false + }, + "propertyDeclarationTypes": { + "enabled": true + }, + "functionLikeReturnType": { + "enabled": true + }, + "enumMemberValues": { + "enabled": true + } + } + }); + Some(json!({ - "provideFormatter": true + "provideFormatter": true, + "configuration": { + "typescript": config, + "javascript": config + } })) } diff --git a/docs/src/languages/svelte.md b/docs/src/languages/svelte.md index c1907096fb..d8474b539a 100644 --- a/docs/src/languages/svelte.md +++ b/docs/src/languages/svelte.md @@ -2,3 +2,56 @@ - Tree Sitter: [tree-sitter-svelte](https://github.com/Himujjal/tree-sitter-svelte) - Language Server: [svelte](https://github.com/sveltejs/language-tools/tree/master/packages/language-server) + +## Inlay Hints + +Zed sets the following initialization options for inlay Hints: + +```json +"inlayHints": { + "parameterNames": { + "enabled": "all", + "suppressWhenArgumentMatchesName": false + }, + "parameterTypes": { + "enabled": true + }, + "variableTypes": { + "enabled": true, + "suppressWhenTypeMatchesName": false + }, + "propertyDeclarationTypes": { + "enabled": true + }, + "functionLikeReturnType": { + "enabled": true + }, + "enumMemberValues": { + "enabled": true + } +} +``` + +to make the language server send back inlay hints when Zed has them enabled in the settings. + +Use + +```json +"lsp": { + "$LANGUAGE_SERVER_NAME": { + "initialization_options": { + "configuration": { + "typescript": { + ...... + }, + "javascript": { + ...... + } + } + } + } +} + +to override these settings. + +See https://github.com/microsoft/vscode/blob/main/extensions/typescript-language-features/package.json for more information.