From a756bd8c5406559f745286ab0fb471669ed20905 Mon Sep 17 00:00:00 2001 From: Aviad Shiber Date: Sat, 11 Apr 2026 21:37:25 +0300 Subject: [PATCH] fix: skip non-Java URIs in jdtls diagnostics callback MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit jdtls publishes diagnostics for directory URIs and build files during workspace initialization. The callback tried to read these as text documents, causing [Errno 21] Is a directory errors. Only run custom analysis on .java URIs — works for both Maven and Gradle. Co-Authored-By: Claude Opus 4.6 (1M context) --- pyproject.toml | 2 +- src/java_functional_lsp/__init__.py | 2 +- src/java_functional_lsp/server.py | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 2f4b0a7..28535e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "java-functional-lsp" -version = "0.7.5" +version = "0.7.6" description = "Java LSP server enforcing functional programming best practices — null safety, immutability, no exceptions" readme = "README.md" license = { text = "MIT" } diff --git a/src/java_functional_lsp/__init__.py b/src/java_functional_lsp/__init__.py index 4795437..5de1e74 100644 --- a/src/java_functional_lsp/__init__.py +++ b/src/java_functional_lsp/__init__.py @@ -1,3 +1,3 @@ """java-functional-lsp: A Java LSP server enforcing functional programming best practices.""" -__version__ = "0.7.5" +__version__ = "0.7.6" diff --git a/src/java_functional_lsp/server.py b/src/java_functional_lsp/server.py index 5ede8b2..bc35ea5 100644 --- a/src/java_functional_lsp/server.py +++ b/src/java_functional_lsp/server.py @@ -67,6 +67,8 @@ def __init__(self) -> None: def _on_jdtls_diagnostics(self, uri: str, diagnostics: list[Any]) -> None: """Called when jdtls publishes diagnostics — merge with custom and re-publish.""" + if not uri.endswith(".java"): + return try: _analyze_and_publish(uri) except Exception as e: