add parent diags

This commit is contained in:
AcerecA 2025-11-23 17:12:58 +01:00
parent 8730493857
commit 4e28f71dc9
2 changed files with 12 additions and 20 deletions

View File

@ -40,5 +40,3 @@ let( (inner inner2)
; block
)
somefunccall("somecalcfunc()")

View File

@ -1,14 +1,12 @@
from collections.abc import Callable
from dataclasses import dataclass, field
from logging import DEBUG, basicConfig, getLogger
from pathlib import Path
from typing import Any
from cattrs import Converter
from lsprotocol.types import (
TEXT_DOCUMENT_DID_CHANGE,
TEXT_DOCUMENT_DID_CLOSE,
TEXT_DOCUMENT_DID_OPEN,
INITIALIZE,
TEXT_DOCUMENT_DID_SAVE,
TEXT_DOCUMENT_DOCUMENT_SYMBOL,
TEXT_DOCUMENT_INLAY_HINT,
Diagnostic,
@ -22,18 +20,14 @@ from lsprotocol.types import (
InlayHint,
InlayHintKind,
InlayHintParams,
MessageType,
NotebookDocumentSyncOptions,
PublishDiagnosticsNotification,
PublishDiagnosticsParams,
ShowMessageParams,
TextDocumentSyncKind,
)
from pygls.lsp.server import LanguageServer
from pygls.protocol import LanguageServerProtocol, default_converter
from skillls.checker import ParenMismatchError, ParenMismatchErrorKind
from skillls.checker import ParenMismatchError
from skillls.helpers import parse_file
from skillls.types import URI, Node
@ -131,6 +125,7 @@ def on_close(server: SkillLanguageServer, params: DidCloseTextDocumentParams) ->
@server.feature(TEXT_DOCUMENT_DID_CHANGE)
@server.feature(TEXT_DOCUMENT_DID_SAVE)
def on_change(server: SkillLanguageServer, params: DidChangeTextDocumentParams) -> None:
try:
server.scopes[params.text_document.uri] = parse_file(
@ -147,17 +142,16 @@ def on_change(server: SkillLanguageServer, params: DidChangeTextDocumentParams)
@server.feature(TEXT_DOCUMENT_INLAY_HINT)
def on_inlay(server: SkillLanguageServer, params: InlayHintParams) -> list[InlayHint]:
hints: list[InlayHint] = []
for uri in server.opened_files:
for node in server.scopes.get(uri, []):
hints.append(
InlayHint(
label=node.node,
kind=InlayHintKind.Type,
padding_left=True,
position=node.location.end,
)
uri = params.text_document.uri
for node in server.scopes.get(uri, []):
hints.append(
InlayHint(
label=node.node,
kind=InlayHintKind.Type,
padding_left=True,
position=node.location.end,
)
)
return hints