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 ; block
) )
somefunccall("somecalcfunc()") 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 logging import DEBUG, basicConfig, getLogger
from pathlib import Path from pathlib import Path
from typing import Any from typing import Any
from cattrs import Converter
from lsprotocol.types import ( from lsprotocol.types import (
TEXT_DOCUMENT_DID_CHANGE, TEXT_DOCUMENT_DID_CHANGE,
TEXT_DOCUMENT_DID_CLOSE, TEXT_DOCUMENT_DID_CLOSE,
TEXT_DOCUMENT_DID_OPEN, TEXT_DOCUMENT_DID_OPEN,
INITIALIZE, INITIALIZE,
TEXT_DOCUMENT_DID_SAVE,
TEXT_DOCUMENT_DOCUMENT_SYMBOL, TEXT_DOCUMENT_DOCUMENT_SYMBOL,
TEXT_DOCUMENT_INLAY_HINT, TEXT_DOCUMENT_INLAY_HINT,
Diagnostic, Diagnostic,
@ -22,18 +20,14 @@ from lsprotocol.types import (
InlayHint, InlayHint,
InlayHintKind, InlayHintKind,
InlayHintParams, InlayHintParams,
MessageType,
NotebookDocumentSyncOptions, NotebookDocumentSyncOptions,
PublishDiagnosticsNotification,
PublishDiagnosticsParams, PublishDiagnosticsParams,
ShowMessageParams,
TextDocumentSyncKind, TextDocumentSyncKind,
) )
from pygls.lsp.server import LanguageServer 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.helpers import parse_file
from skillls.types import URI, Node 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_CHANGE)
@server.feature(TEXT_DOCUMENT_DID_SAVE)
def on_change(server: SkillLanguageServer, params: DidChangeTextDocumentParams) -> None: def on_change(server: SkillLanguageServer, params: DidChangeTextDocumentParams) -> None:
try: try:
server.scopes[params.text_document.uri] = parse_file( server.scopes[params.text_document.uri] = parse_file(
@ -147,8 +142,7 @@ def on_change(server: SkillLanguageServer, params: DidChangeTextDocumentParams)
@server.feature(TEXT_DOCUMENT_INLAY_HINT) @server.feature(TEXT_DOCUMENT_INLAY_HINT)
def on_inlay(server: SkillLanguageServer, params: InlayHintParams) -> list[InlayHint]: def on_inlay(server: SkillLanguageServer, params: InlayHintParams) -> list[InlayHint]:
hints: list[InlayHint] = [] hints: list[InlayHint] = []
uri = params.text_document.uri
for uri in server.opened_files:
for node in server.scopes.get(uri, []): for node in server.scopes.get(uri, []):
hints.append( hints.append(
InlayHint( InlayHint(