Marksman: Set document symbols cache fingerprint to account for override

This commit is contained in:
Dominik Jain authored and Dominik Jain committed 2026-03-01 14:02:46 +01:00
1 parent 003a9e2a6d
commit 7ac79bae41
1 file changed
+7
@@ -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