mirror of
https://gitlab.gnome.org/jwestman/blueprint-compiler.git
synced 2025-05-04 15:59:08 -04:00
lsp: Add document outline
This commit is contained in:
parent
950b141d26
commit
e087aeb44f
24 changed files with 469 additions and 28 deletions
|
@ -58,6 +58,16 @@ class ExtScaleMark(AstNode):
|
|||
else:
|
||||
return None
|
||||
|
||||
@property
|
||||
def document_symbol(self) -> DocumentSymbol:
|
||||
return DocumentSymbol(
|
||||
str(self.value),
|
||||
SymbolKind.Field,
|
||||
self.range,
|
||||
self.group.tokens["mark"].range,
|
||||
self.label.string if self.label else None,
|
||||
)
|
||||
|
||||
@docs("position")
|
||||
def position_docs(self) -> T.Optional[str]:
|
||||
if member := self.root.gir.get_type("PositionType", "Gtk").members.get(
|
||||
|
@ -88,6 +98,15 @@ class ExtScaleMarks(AstNode):
|
|||
def marks(self) -> T.List[ExtScaleMark]:
|
||||
return self.children
|
||||
|
||||
@property
|
||||
def document_symbol(self) -> DocumentSymbol:
|
||||
return DocumentSymbol(
|
||||
"marks",
|
||||
SymbolKind.Array,
|
||||
self.range,
|
||||
self.group.tokens["marks"].range,
|
||||
)
|
||||
|
||||
@validate("marks")
|
||||
def container_is_size_group(self):
|
||||
validate_parent_type(self, "Gtk", "Scale", "scale marks")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue