From 5eca26183100359c7b5e1c768470bbd401d4becb Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Thu, 7 Nov 2024 17:17:57 +0100 Subject: [PATCH] ci: 20.0.0 --- CHANGELOG.md | 2 ++ .../zigbrains/lsp/ZigLanguageServerFactory.kt | 20 +++++++++++++++++++ gradle.properties | 2 +- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 385e10e0..85717ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ Changelog structure reference: ## [Unreleased] +## [20.0.0] + ### Added - Debugging diff --git a/core/src/main/kotlin/com/falsepattern/zigbrains/lsp/ZigLanguageServerFactory.kt b/core/src/main/kotlin/com/falsepattern/zigbrains/lsp/ZigLanguageServerFactory.kt index 7e648348..1f10bebe 100644 --- a/core/src/main/kotlin/com/falsepattern/zigbrains/lsp/ZigLanguageServerFactory.kt +++ b/core/src/main/kotlin/com/falsepattern/zigbrains/lsp/ZigLanguageServerFactory.kt @@ -29,11 +29,15 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.util.Key import com.intellij.platform.ide.progress.ModalTaskOwner import com.intellij.platform.ide.progress.runWithModalProgressBlocking +import com.intellij.psi.PsiFile import com.intellij.util.application import com.redhat.devtools.lsp4ij.LanguageServerEnablementSupport import com.redhat.devtools.lsp4ij.LanguageServerFactory import com.redhat.devtools.lsp4ij.LanguageServerManager import com.redhat.devtools.lsp4ij.ServerStatus +import com.redhat.devtools.lsp4ij.client.features.LSPClientFeatures +import com.redhat.devtools.lsp4ij.client.features.LSPFormattingFeature +import com.redhat.devtools.lsp4ij.client.features.LSPInlayHintFeature import com.redhat.devtools.lsp4ij.server.StreamConnectionProvider import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking @@ -51,6 +55,22 @@ class ZigLanguageServerFactory: LanguageServerFactory, LanguageServerEnablementS } } + @Suppress("UnstableApiUsage") + override fun createClientFeatures(): LSPClientFeatures { + val features = LSPClientFeatures() + features.formattingFeature = object: LSPFormattingFeature() { + override fun isExistingFormatterOverrideable(file: PsiFile): Boolean { + return true + } + } + features.inlayHintFeature = object: LSPInlayHintFeature() { + override fun isEnabled(file: PsiFile): Boolean { + return features.project.zlsSettings.state.inlayHints + } + } + return features + } + override fun isEnabled(project: Project): Boolean { return (project.getUserData(ENABLED_KEY) ?: true) && project.zlsSettings.validate() } diff --git a/gradle.properties b/gradle.properties index 4f818dc0..7bcf32a1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ pluginName=ZigBrains pluginRepositoryUrl=https://github.com/FalsePattern/ZigBrains -pluginVersion=20.0.0-dev +pluginVersion=20.0.0 pluginSinceBuild=243 pluginUntilBuild=