java-functional-lsp 0.9.16__tar.gz → 0.9.17__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/PKG-INFO +1 -1
  2. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/pyproject.toml +1 -1
  3. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/__init__.py +1 -1
  4. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/cli.py +7 -1
  5. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_cli.py +16 -0
  6. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.claude-plugin/plugin.json +0 -0
  7. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.githooks/pre-commit +0 -0
  8. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.githooks/pre-push +0 -0
  9. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/CODEOWNERS +0 -0
  10. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
  11. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
  12. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  13. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/SECURITY.md +0 -0
  14. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/dependabot.yml +0 -0
  15. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/release-drafter.yml +0 -0
  16. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/workflows/publish.yml +0 -0
  17. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/workflows/release-drafter.yml +0 -0
  18. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/workflows/stale.yml +0 -0
  19. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/workflows/test.yml +0 -0
  20. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/workflows/update-homebrew.yml +0 -0
  21. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.github/workflows/vscode-ext.yml +0 -0
  22. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/.gitignore +0 -0
  23. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/CONTRIBUTING.md +0 -0
  24. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/LICENSE +0 -0
  25. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/README.md +0 -0
  26. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/SKILL.md +0 -0
  27. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/commands/lint-java.md +0 -0
  28. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/intellij/README.md +0 -0
  29. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/intellij/lsp4ij-template.json +0 -0
  30. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/vscode/.vscodeignore +0 -0
  31. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/vscode/README.md +0 -0
  32. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/vscode/package-lock.json +0 -0
  33. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/vscode/package.json +0 -0
  34. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/vscode/src/extension.ts +0 -0
  35. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/editors/vscode/tsconfig.json +0 -0
  36. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/hooks/hooks.json +0 -0
  37. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/hooks/java_linter_reminder.py +0 -0
  38. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/scripts/ensure-lsp.sh +0 -0
  39. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/scripts/generate-formula.py +0 -0
  40. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/__main__.py +0 -0
  41. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/__init__.py +0 -0
  42. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/base.py +0 -0
  43. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/exception_checker.py +0 -0
  44. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/functional_checker.py +0 -0
  45. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/mutation_checker.py +0 -0
  46. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/null_checker.py +0 -0
  47. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/analyzers/spring_checker.py +0 -0
  48. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/fixes.py +0 -0
  49. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/merkle.py +0 -0
  50. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/proxy.py +0 -0
  51. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/src/java_functional_lsp/server.py +0 -0
  52. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/__init__.py +0 -0
  53. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/conftest.py +0 -0
  54. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_base.py +0 -0
  55. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_config.py +0 -0
  56. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_e2e.py +0 -0
  57. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_e2e_jdtls.py +0 -0
  58. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_exception_checker.py +0 -0
  59. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_fixes.py +0 -0
  60. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_functional_checker.py +0 -0
  61. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_merkle.py +0 -0
  62. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_merkle_proxy.py +0 -0
  63. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_mutation_checker.py +0 -0
  64. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_null_checker.py +0 -0
  65. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_proxy.py +0 -0
  66. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_server.py +0 -0
  67. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_spring_checker.py +0 -0
  68. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/tests/test_suppress.py +0 -0
  69. {java_functional_lsp-0.9.16 → java_functional_lsp-0.9.17}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: java-functional-lsp
3
- Version: 0.9.16
3
+ Version: 0.9.17
4
4
  Summary: Java LSP server enforcing functional programming best practices — null safety, immutability, no exceptions
5
5
  Project-URL: Homepage, https://github.com/aviadshiber/java-functional-lsp
6
6
  Project-URL: Repository, https://github.com/aviadshiber/java-functional-lsp
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "java-functional-lsp"
7
- version = "0.9.16"
7
+ version = "0.9.17"
8
8
  description = "Java LSP server enforcing functional programming best practices — null safety, immutability, no exceptions"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -1,3 +1,3 @@
1
1
  """java-functional-lsp: A Java LSP server enforcing functional programming best practices."""
2
2
 
3
- __version__ = "0.9.16"
3
+ __version__ = "0.9.17"
@@ -7,6 +7,7 @@ import sys
7
7
  from pathlib import Path
8
8
  from typing import Any
9
9
 
10
+ from . import __version__
10
11
  from .analyzers.base import Analyzer, Diagnostic, Severity, get_parser, is_excluded
11
12
  from .analyzers.exception_checker import ExceptionChecker
12
13
  from .analyzers.functional_checker import FunctionalChecker
@@ -69,7 +70,8 @@ def format_diagnostic(path: Path, d: Diagnostic) -> str:
69
70
  _USAGE = """\
70
71
  Usage: java-functional-lsp check <file.java> [file2.java ...]
71
72
  java-functional-lsp check --dir <directory>
72
- java-functional-lsp (start LSP server on stdio)"""
73
+ java-functional-lsp (start LSP server on stdio)
74
+ java-functional-lsp --version"""
73
75
 
74
76
 
75
77
  def _collect_files(args: list[str]) -> list[Path]:
@@ -103,6 +105,10 @@ def main() -> None:
103
105
  print(_USAGE)
104
106
  sys.exit(0)
105
107
 
108
+ if args and args[0] in ("-v", "--version"):
109
+ print(f"java-functional-lsp {__version__}")
110
+ sys.exit(0)
111
+
106
112
  if not args or args[0] != "check":
107
113
  # No args or unknown command — start LSP server on stdio
108
114
  from .server import main as lsp_main
@@ -79,3 +79,19 @@ class TestHelp:
79
79
  main()
80
80
  assert exc.value.code == 0
81
81
  assert "check" in capsys.readouterr().out
82
+
83
+
84
+ class TestVersion:
85
+ def test_version_flag(self, capsys: pytest.CaptureFixture[str]) -> None:
86
+ with patch("sys.argv", ["java-functional-lsp", "--version"]):
87
+ with pytest.raises(SystemExit) as exc:
88
+ main()
89
+ assert exc.value.code == 0
90
+ assert "java-functional-lsp" in capsys.readouterr().out
91
+
92
+ def test_version_short_flag(self, capsys: pytest.CaptureFixture[str]) -> None:
93
+ with patch("sys.argv", ["java-functional-lsp", "-v"]):
94
+ with pytest.raises(SystemExit) as exc:
95
+ main()
96
+ assert exc.value.code == 0
97
+ assert "java-functional-lsp" in capsys.readouterr().out