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
|
@ -31,13 +31,23 @@ class Item(AstNode):
|
|||
]
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
def name(self) -> T.Optional[str]:
|
||||
return self.tokens["name"]
|
||||
|
||||
@property
|
||||
def value(self) -> StringValue:
|
||||
return self.children[StringValue][0]
|
||||
|
||||
@property
|
||||
def document_symbol(self) -> DocumentSymbol:
|
||||
return DocumentSymbol(
|
||||
self.value.range.text,
|
||||
SymbolKind.String,
|
||||
self.range,
|
||||
self.value.range,
|
||||
self.name,
|
||||
)
|
||||
|
||||
@validate("name")
|
||||
def unique_in_parent(self):
|
||||
if self.name is not None:
|
||||
|
@ -54,6 +64,15 @@ class ExtComboBoxItems(AstNode):
|
|||
"]",
|
||||
]
|
||||
|
||||
@property
|
||||
def document_symbol(self) -> DocumentSymbol:
|
||||
return DocumentSymbol(
|
||||
"items",
|
||||
SymbolKind.Array,
|
||||
self.range,
|
||||
self.group.tokens["items"].range,
|
||||
)
|
||||
|
||||
@validate("items")
|
||||
def container_is_combo_box_text(self):
|
||||
validate_parent_type(self, "Gtk", "ComboBoxText", "combo box items")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue