From 73b44aa2a800c07668b44c58658c2b67d578541e Mon Sep 17 00:00:00 2001 From: krassowski <5832902+krassowski@users.noreply.github.com> Date: Fri, 6 Jun 2025 10:58:30 +0100 Subject: [PATCH 1/2] Use upstream signature formatting code for pylsp --- .../codemirror/language/languages/python.ts | 4 +++ marimo/_server/lsp.py | 25 ------------------- pyproject.toml | 11 +------- 3 files changed, 5 insertions(+), 35 deletions(-) diff --git a/frontend/src/core/codemirror/language/languages/python.ts b/frontend/src/core/codemirror/language/languages/python.ts index 85364212cb7..19e1f1c97c1 100644 --- a/frontend/src/core/codemirror/language/languages/python.ts +++ b/frontend/src/core/codemirror/language/languages/python.ts @@ -123,6 +123,10 @@ const lspClient = once((lspConfig: LSPConfig) => { ...ignoredRuffRules, ], }, + signature: { + formatter: config?.enable_ruff ? "ruff" : "black", + line_length: 88 + } }, }, }; diff --git a/marimo/_server/lsp.py b/marimo/_server/lsp.py index e5403d0c2b3..24089d9f3f7 100644 --- a/marimo/_server/lsp.py +++ b/marimo/_server/lsp.py @@ -14,8 +14,6 @@ from marimo._messaging.ops import Alert from marimo._server.utils import find_free_port from marimo._tracer import server_tracer -from marimo._types.ids import CellId_t -from marimo._utils.formatter import DefaultFormatter, FormatError from marimo._utils.paths import marimo_package_path LOGGER = _loggers.marimo_logger() @@ -302,26 +300,3 @@ def any_lsp_server_running(config: MarimoConfig) -> bool: ) return (copilot_enabled is not False) or language_servers_enabled - -if DependencyManager.pylsp.has(): - from pylsp import hookimpl - - formatter = DefaultFormatter(line_length=88) - - def format_signature(signature: str) -> str: - try: - signature_as_func = f"def {signature.strip()}:\n pass" - dummy_cell_id = cast(CellId_t, "") - reformatted = formatter.format({dummy_cell_id: signature_as_func})[ - dummy_cell_id - ] - signature = reformatted.removeprefix("def ").removesuffix( - ":\n pass" - ) - except (ModuleNotFoundError, FormatError): - pass - return "```python\n" + signature + "\n```\n" - - @hookimpl - def pylsp_signatures_to_markdown(signatures: list[str]) -> str: - return format_signature("\n".join(signatures)) diff --git a/pyproject.toml b/pyproject.toml index caf8642e720..e41d159a646 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,9 +78,6 @@ homepage = "https://github.com/marimo-team/marimo" [project.entry-points."docstring_to_markdown"] marimo_converter = "marimo._utils.docs:MarimoConverter" -[project.entry-points."pylsp"] -marimo_plugin = "marimo._server.lsp" - [project.optional-dependencies] sql = [ "duckdb>=1.0.0", @@ -117,7 +114,7 @@ dev = [ ] lsp = [ - "python-lsp-server>=1.10.0", + "python-lsp-server>=1.13.0", "python-lsp-ruff>=2.0.0", ] @@ -195,7 +192,6 @@ dependencies = [ "sqlglot>=23.4", "sqlalchemy>=2.0.40", "loro>=1.5.0", - "python-lsp-server>=1.12.1", "pandas-stubs>=1.5.3.230321", "pyiceberg>=0.9.0", "litellm>=1.70.0", @@ -485,11 +481,6 @@ exclude = [ ] warn_unused_ignores = false -[[tool.mypy.overrides]] -module = "pylsp" -# until https://github.com/python-lsp/python-lsp-server/pull/641 is released -follow_untyped_imports = true - [tool.pytest.ini_options] minversion = "6.0" addopts = "-ra -q -v --ignore tests/_cli/ipynb_data --ignore tests/_ast/codegen_data --ignore tests/_ast/app_data" From d6940d62475f3efb7a5b6c0dfc2c9210b3a243a2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 6 Jun 2025 16:26:17 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- frontend/src/core/codemirror/language/languages/python.ts | 4 ++-- marimo/_server/lsp.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/frontend/src/core/codemirror/language/languages/python.ts b/frontend/src/core/codemirror/language/languages/python.ts index 19e1f1c97c1..2de4f8617a4 100644 --- a/frontend/src/core/codemirror/language/languages/python.ts +++ b/frontend/src/core/codemirror/language/languages/python.ts @@ -125,8 +125,8 @@ const lspClient = once((lspConfig: LSPConfig) => { }, signature: { formatter: config?.enable_ruff ? "ruff" : "black", - line_length: 88 - } + line_length: 88, + }, }, }, }; diff --git a/marimo/_server/lsp.py b/marimo/_server/lsp.py index 24089d9f3f7..db5998f00a6 100644 --- a/marimo/_server/lsp.py +++ b/marimo/_server/lsp.py @@ -299,4 +299,3 @@ def any_lsp_server_running(config: MarimoConfig) -> bool: for server in language_servers.values() ) return (copilot_enabled is not False) or language_servers_enabled -