From 7ac79bae4159b6fe98f2d5117217bac7897fd9b7 Mon Sep 17 00:00:00 2001 From: Dominik Jain Date: Sun, 1 Mar 2026 14:02:46 +0100 Subject: [PATCH] Marksman: Set document symbols cache fingerprint to account for override --- src/solidlsp/language_servers/marksman.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/solidlsp/language_servers/marksman.py b/src/solidlsp/language_servers/marksman.py index c2288ed0..c5d039e3 100644 --- a/src/solidlsp/language_servers/marksman.py +++ b/src/solidlsp/language_servers/marksman.py @@ -6,6 +6,7 @@ Contains various configurations and settings specific to Markdown. import logging import os import pathlib +from collections.abc import Hashable from overrides import override @@ -113,6 +114,10 @@ class Marksman(SolidLanguageServer): def is_ignored_dirname(self, dirname: str) -> bool: return super().is_ignored_dirname(dirname) or dirname in ["node_modules", ".obsidian", ".vitepress", ".vuepress"] + def _document_symbols_cache_fingerprint(self) -> Hashable | None: + request_document_symbols_override_version = 1 + return request_document_symbols_override_version + @override def request_document_symbols(self, relative_file_path: str, file_buffer: LSPFileBuffer | None = None) -> DocumentSymbols: """Override to remap Marksman's heading symbol kinds from String to Namespace. @@ -125,6 +130,8 @@ class Marksman(SolidLanguageServer): """ document_symbols = super().request_document_symbols(relative_file_path, file_buffer=file_buffer) + # NOTE: When changing this method, also update the cache fingerprint method above + def remap_heading_kinds(symbol: UnifiedSymbolInformation) -> None: if symbol["kind"] == SymbolKind.String: symbol["kind"] = SymbolKind.Namespace