language: Rename extension classes

Rename extension classes to match the syntax reference.
This commit is contained in:
James Westman 2023-04-09 16:33:10 -05:00
parent 9e82a2fb2a
commit 10806bce1e
11 changed files with 46 additions and 41 deletions

View file

@ -1,5 +1,5 @@
from .gtk_list_item_factory import ListItemFactory from .gtk_list_item_factory import ExtListItemFactory
from .adw_message_dialog import Responses from .adw_message_dialog import ExtAdwMessageDialog
from .attributes import BaseAttribute, BaseTypedAttribute from .attributes import BaseAttribute, BaseTypedAttribute
from .binding import Binding from .binding import Binding
from .contexts import ValueTypeCtx from .contexts import ValueTypeCtx
@ -15,14 +15,19 @@ from .expression import (
from .gobject_object import Object, ObjectContent from .gobject_object import Object, ObjectContent
from .gobject_property import Property from .gobject_property import Property
from .gobject_signal import Signal from .gobject_signal import Signal
from .gtk_a11y import A11y from .gtk_a11y import ExtAccessibility
from .gtk_combo_box_text import Items from .gtk_combo_box_text import ExtComboBoxItems
from .gtk_file_filter import mime_types, patterns, suffixes, Filters from .gtk_file_filter import (
from .gtk_layout import Layout ext_file_filter_mime_types,
ext_file_filter_patterns,
ext_file_filter_suffixes,
Filters,
)
from .gtk_layout import ExtLayout
from .gtk_menu import menu, Menu, MenuAttribute from .gtk_menu import menu, Menu, MenuAttribute
from .gtk_size_group import Widgets from .gtk_size_group import ExtSizeGroupWidgets
from .gtk_string_list import Strings from .gtk_string_list import ExtStringListStrings
from .gtk_styles import Styles from .gtk_styles import ExtStyles
from .gtkbuilder_child import Child, ChildType, ChildInternal, ChildExtension from .gtkbuilder_child import Child, ChildType, ChildInternal, ChildExtension
from .gtkbuilder_template import Template from .gtkbuilder_template import Template
from .imports import GtkDirective, Import from .imports import GtkDirective, Import
@ -48,17 +53,17 @@ from .common import *
OBJECT_CONTENT_HOOKS.children = [ OBJECT_CONTENT_HOOKS.children = [
Signal, Signal,
Property, Property,
A11y, ExtAccessibility,
Styles, ExtAdwMessageDialog,
Layout, ExtComboBoxItems,
mime_types, ext_file_filter_mime_types,
patterns, ext_file_filter_patterns,
suffixes, ext_file_filter_suffixes,
Widgets, ExtLayout,
Items, ExtListItemFactory,
Strings, ExtSizeGroupWidgets,
ListItemFactory, ExtStringListStrings,
Responses, ExtStyles,
Child, Child,
] ]

View file

@ -67,7 +67,7 @@ class Response(AstNode):
) )
class Responses(AstNode): class ExtAdwMessageDialog(AstNode):
grammar = [ grammar = [
Keyword("responses"), Keyword("responses"),
Match("[").expected(), Match("[").expected(),

View file

@ -159,7 +159,7 @@ class A11yProperty(BaseTypedAttribute):
return _get_docs(self.root.gir, self.tokens["name"]) return _get_docs(self.root.gir, self.tokens["name"])
class A11y(AstNode): class ExtAccessibility(AstNode):
grammar = [ grammar = [
Keyword("accessibility"), Keyword("accessibility"),
"{", "{",
@ -190,7 +190,7 @@ def a11y_completer(ast_node, match_variables):
@completer( @completer(
applies_in=[A11y], applies_in=[ExtAccessibility],
matches=new_statement_patterns, matches=new_statement_patterns,
) )
def a11y_name_completer(ast_node, match_variables): def a11y_name_completer(ast_node, match_variables):

View file

@ -49,7 +49,7 @@ item = Group(
) )
class Items(AstNode): class ExtComboBoxItems(AstNode):
grammar = [ grammar = [
Keyword("items"), Keyword("items"),
"[", "[",

View file

@ -67,9 +67,9 @@ def create_node(tag_name: str, singular: str):
) )
mime_types = create_node("mime-types", "mime-type") ext_file_filter_mime_types = create_node("mime-types", "mime-type")
patterns = create_node("patterns", "pattern") ext_file_filter_patterns = create_node("patterns", "pattern")
suffixes = create_node("suffixes", "suffix") ext_file_filter_suffixes = create_node("suffixes", "suffix")
@completer( @completer(

View file

@ -55,7 +55,7 @@ layout_prop = Group(
) )
class Layout(AstNode): class ExtLayout(AstNode):
grammar = Sequence( grammar = Sequence(
Keyword("layout"), Keyword("layout"),
"{", "{",

View file

@ -5,7 +5,7 @@ from .common import *
from .contexts import ScopeCtx from .contexts import ScopeCtx
class ListItemFactory(AstNode): class ExtListItemFactory(AstNode):
grammar = [Keyword("template"), ObjectContent] grammar = [Keyword("template"), ObjectContent]
@property @property

View file

@ -44,7 +44,7 @@ class Widget(AstNode):
) )
class Widgets(AstNode): class ExtSizeGroupWidgets(AstNode):
grammar = [ grammar = [
Keyword("widgets"), Keyword("widgets"),
"[", "[",

View file

@ -32,7 +32,7 @@ class Item(AstNode):
return self.children[StringValue][0] return self.children[StringValue][0]
class Strings(AstNode): class ExtStringListStrings(AstNode):
grammar = [ grammar = [
Keyword("strings"), Keyword("strings"),
"[", "[",

View file

@ -26,7 +26,7 @@ class StyleClass(AstNode):
grammar = UseQuoted("name") grammar = UseQuoted("name")
class Styles(AstNode): class ExtStyles(AstNode):
grammar = [ grammar = [
Keyword("styles"), Keyword("styles"),
"[", "[",

View file

@ -46,7 +46,7 @@ class XmlOutput(OutputFormat):
xml.end_tag() xml.end_tag()
def _emit_object_or_template( def _emit_object_or_template(
self, obj: T.Union[Object, Template, ListItemFactory], xml: XmlEmitter self, obj: T.Union[Object, Template, ExtListItemFactory], xml: XmlEmitter
): ):
for child in obj.content.children: for child in obj.content.children:
if isinstance(child, Property): if isinstance(child, Property):
@ -274,7 +274,7 @@ class XmlOutput(OutputFormat):
xml.end_tag() xml.end_tag()
def _emit_extensions(self, extension, xml: XmlEmitter): def _emit_extensions(self, extension, xml: XmlEmitter):
if isinstance(extension, A11y): if isinstance(extension, ExtAccessibility):
xml.start_tag("accessibility") xml.start_tag("accessibility")
for prop in extension.properties: for prop in extension.properties:
self._emit_attribute(prop.tag_name, "name", prop.name, prop.value, xml) self._emit_attribute(prop.tag_name, "name", prop.name, prop.value, xml)
@ -288,19 +288,19 @@ class XmlOutput(OutputFormat):
xml.end_tag() xml.end_tag()
xml.end_tag() xml.end_tag()
elif isinstance(extension, Items): elif isinstance(extension, ExtComboBoxItems):
xml.start_tag("items") xml.start_tag("items")
for prop in extension.children: for prop in extension.children:
self._emit_attribute("item", "id", prop.name, prop.value, xml) self._emit_attribute("item", "id", prop.name, prop.value, xml)
xml.end_tag() xml.end_tag()
elif isinstance(extension, Layout): elif isinstance(extension, ExtLayout):
xml.start_tag("layout") xml.start_tag("layout")
for prop in extension.children: for prop in extension.children:
self._emit_attribute("property", "name", prop.name, prop.value, xml) self._emit_attribute("property", "name", prop.name, prop.value, xml)
xml.end_tag() xml.end_tag()
elif isinstance(extension, Responses): elif isinstance(extension, ExtAdwMessageDialog):
xml.start_tag("responses") xml.start_tag("responses")
for response in extension.responses: for response in extension.responses:
xml.start_tag( xml.start_tag(
@ -314,7 +314,7 @@ class XmlOutput(OutputFormat):
xml.end_tag() xml.end_tag()
xml.end_tag() xml.end_tag()
elif isinstance(extension, Strings): elif isinstance(extension, ExtStringListStrings):
xml.start_tag("items") xml.start_tag("items")
for string in extension.children: for string in extension.children:
value = string.child value = string.child
@ -322,7 +322,7 @@ class XmlOutput(OutputFormat):
xml.put_text(value.string) xml.put_text(value.string)
xml.end_tag() xml.end_tag()
xml.end_tag() xml.end_tag()
elif isinstance(extension, ListItemFactory): elif isinstance(extension, ExtListItemFactory):
child_xml = XmlEmitter() child_xml = XmlEmitter()
child_xml.start_tag("interface") child_xml.start_tag("interface")
child_xml.start_tag("template", **{"class": "GtkListItem"}) child_xml.start_tag("template", **{"class": "GtkListItem"})
@ -333,13 +333,13 @@ class XmlOutput(OutputFormat):
xml.put_cdata(child_xml.result) xml.put_cdata(child_xml.result)
xml.end_tag() xml.end_tag()
elif isinstance(extension, Styles): elif isinstance(extension, ExtStyles):
xml.start_tag("style") xml.start_tag("style")
for prop in extension.children: for prop in extension.children:
xml.put_self_closing("class", name=prop.tokens["name"]) xml.put_self_closing("class", name=prop.tokens["name"])
xml.end_tag() xml.end_tag()
elif isinstance(extension, Widgets): elif isinstance(extension, ExtSizeGroupWidgets):
xml.start_tag("widgets") xml.start_tag("widgets")
for prop in extension.children: for prop in extension.children:
xml.put_self_closing("widget", name=prop.tokens["name"]) xml.put_self_closing("widget", name=prop.tokens["name"])