diff --git a/app/src/main/assets/data/common/gradle-plugin.zip b/app/src/main/assets/data/common/gradle-plugin.zip index 6d7ac571b..22ba8b455 100644 Binary files a/app/src/main/assets/data/common/gradle-plugin.zip and b/app/src/main/assets/data/common/gradle-plugin.zip differ diff --git a/app/src/main/java/com/itsaky/androidide/language/java/JavaAnalyzer.java b/app/src/main/java/com/itsaky/androidide/language/java/JavaAnalyzer.java index acc5913e6..4a72e28f2 100644 --- a/app/src/main/java/com/itsaky/androidide/language/java/JavaAnalyzer.java +++ b/app/src/main/java/com/itsaky/androidide/language/java/JavaAnalyzer.java @@ -27,6 +27,7 @@ import com.itsaky.androidide.utils.Logger; import com.itsaky.lsp.api.ILanguageServer; import com.itsaky.lsp.models.AnalyzeParams; import com.itsaky.lsp.models.DiagnosticItem; +import com.itsaky.lsp.models.DiagnosticResult; import com.itsaky.lsp.models.Position; import com.itsaky.lsp.models.Range; @@ -79,6 +80,10 @@ public class JavaAnalyzer extends AbstractCodeAnalyzer { JavaAnalyzer.this.diagnostics = result.getDiagnostics (); JavaAnalyzer.this.helper = new HighlightRangeHelper (result.getSemanticHighlights ()); + + if (languageServer.getClient () != null) { + languageServer.getClient ().publishDiagnostics (new DiagnosticResult (file.toPath (), JavaAnalyzer.this.diagnostics)); + } }); } diff --git a/lsp/api/src/main/java/com/itsaky/lsp/api/ILanguageServer.java b/lsp/api/src/main/java/com/itsaky/lsp/api/ILanguageServer.java index 730f96eb3..56952fee7 100644 --- a/lsp/api/src/main/java/com/itsaky/lsp/api/ILanguageServer.java +++ b/lsp/api/src/main/java/com/itsaky/lsp/api/ILanguageServer.java @@ -74,6 +74,13 @@ public interface ILanguageServer { */ void connectClient (@Nullable ILanguageClient client); + /** + * Get the instance of the language client connected to this server. + * @return The language client. + */ + @Nullable + ILanguageClient getClient (); + /** * Apply settings to the language server. Its up to the language server how it * applies these settings to the language service providers. diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java b/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java index a1babc6ae..bfe258f1f 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java @@ -141,6 +141,12 @@ public class JavaLanguageServer implements ILanguageServer, IDocumentHandler { this.client = client; } + @Nullable + @Override + public ILanguageClient getClient () { + return this.client; + } + @Override public void applySettings (@Nullable IServerSettings settings) { this.settings = settings;