diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml
index 7716a0297bc..5d70e50b52c 100644
--- a/doc/classes/Button.xml
+++ b/doc/classes/Button.xml
@@ -58,37 +58,37 @@
-
+
[StyleBox] used when the [Button] is disabled.
-
+
[StyleBox] used when the [Button] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
-
+
[Font] of the [Button]'s text.
-
+
Default text [Color] of the [Button].
-
+
Text [Color] used when the [Button] is disabled.
-
+
Text [Color] used when the [Button] is being hovered.
-
+
Text [Color] used when the [Button] is being pressed.
-
+
[StyleBox] used when the [Button] is being hovered.
-
+
The horizontal space between [Button]'s icon and text.
-
+
Default [StyleBox] for the [Button].
-
+
[StyleBox] used when the [Button] is being pressed.
diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml
index e0303dc2b45..e00b9e2f8e8 100644
--- a/doc/classes/CheckBox.xml
+++ b/doc/classes/CheckBox.xml
@@ -18,67 +18,67 @@
-
+
The vertical offset used when rendering the check icons (in pixels).
-
+
The check icon to display when the [CheckBox] is checked.
-
+
-
+
The [StyleBox] to display as a background when the [CheckBox] is disabled.
-
+
The [StyleBox] to display as a background when the [CheckBox] is focused.
-
+
The [Font] to use for the [CheckBox] text.
-
+
The [CheckBox] text's font color.
-
+
The [CheckBox] text's font color when it's disabled.
-
+
The [CheckBox] text's font color when it's hovered.
-
+
The [CheckBox] text's font color when it's hovered and pressed.
-
+
The [CheckBox] text's font color when it's pressed.
-
+
The [StyleBox] to display as a background when the [CheckBox] is hovered.
-
+
The [StyleBox] to display as a background when the [CheckBox] is hovered and pressed.
-
+
The separation between the check icon and the text (in pixels).
-
+
The [StyleBox] to display as a background.
-
+
The [StyleBox] to display as a background when the [CheckBox] is pressed.
-
+
If the [CheckBox] is configured as a radio button, the icon to display when the [CheckBox] is checked.
-
+
-
+
If the [CheckBox] is configured as a radio button, the icon to display when the [CheckBox] is unchecked.
-
+
-
+
The check icon to display when the [CheckBox] is unchecked.
-
+
diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml
index 5fe97ef116f..d5c288c3a38 100644
--- a/doc/classes/CheckButton.xml
+++ b/doc/classes/CheckButton.xml
@@ -18,58 +18,58 @@
-
+
The vertical offset used when rendering the toggle icons (in pixels).
-
+
The [StyleBox] to display as a background when the [CheckButton] is disabled.
-
+
The [StyleBox] to display as a background when the [CheckButton] is focused.
-
+
The [Font] to use for the [CheckButton] text.
-
+
The [CheckButton] text's font color.
-
+
The [CheckButton] text's font color when it's disabled.
-
+
The [CheckButton] text's font color when it's hovered.
-
+
The [CheckButton] text's font color when it's hovered and pressed.
-
+
The [CheckButton] text's font color when it's pressed.
-
+
The [StyleBox] to display as a background when the [CheckButton] is hovered.
-
+
The [StyleBox] to display as a background when the [CheckButton] is hovered and pressed.
-
+
The separation between the toggle icon and the text (in pixels).
-
+
The [StyleBox] to display as a background.
-
+
The icon to display when the [CheckButton] is unchecked.
-
+
The icon to display when the [CheckButton] is unchecked and disabled.
-
+
The icon to display when the [CheckButton] is checked.
-
+
The icon to display when the [CheckButton] is checked and disabled.
-
+
The [StyleBox] to display as a background when the [CheckButton] is pressed.
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index 49d5b8ee82d..178e19c2fe4 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -80,34 +80,34 @@
-
+
The icon for the "Add Preset" button.
-
+
Custom texture for the hue selection slider on the right.
-
+
-
+
The width of the hue selection slider.
-
+
-
+
The margin around the [ColorPicker].
-
+
The indicator used to signalize that the color value is outside the 0-1 range.
-
+
-
+
The icon for the screen color picker button.
-
+
The height of the saturation-value selection box.
-
+
The width of the saturation-value selection box.
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index f7691648dc4..3723576b264 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -55,40 +55,40 @@
-
+
The background of the color preview rect on the button.
-
+
[StyleBox] used when the [ColorPickerButton] is disabled.
-
+
[StyleBox] used when the [ColorPickerButton] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
-
+
[Font] of the [ColorPickerButton]'s text.
-
+
Default text [Color] of the [ColorPickerButton].
-
+
Text [Color] used when the [ColorPickerButton] is disabled.
-
+
Text [Color] used when the [ColorPickerButton] is being hovered.
-
+
Text [Color] used when the [ColorPickerButton] is being pressed.
-
+
[StyleBox] used when the [ColorPickerButton] is being hovered.
-
+
The horizontal space between [ColorPickerButton]'s icon and text.
-
+
Default [StyleBox] for the [ColorPickerButton].
-
+
[StyleBox] used when the [ColorPickerButton] is being pressed.
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml
index 06ae3fad9f3..bfbbaca1205 100644
--- a/doc/classes/FileDialog.xml
+++ b/doc/classes/FileDialog.xml
@@ -123,28 +123,28 @@
-
+
Custom icon for files.
-
+
The color modulation applied to the file icon.
-
+
The color tint for disabled files (when the [FileDialog] is used in open folder mode).
-
+
Custom icon for folders.
-
+
The color modulation applied to the folder icon.
-
+
Custom icon for the parent folder arrow.
-
+
Custom icon for the reload button.
-
+
Custom icon for the toggle hidden button.
diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index e270274fc8e..4606151a7d7 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -262,45 +262,45 @@
-
+
-
+
-
+
-
+
The background drawn under the grid.
-
+
Color of major grid lines.
-
+
Color of minor grid lines.
-
+
-
+
The icon for the zoom out button.
-
+
The icon for the zoom in button.
-
+
The horizontal range within which a port can be grabbed (on both sides).
-
+
The vertical range within which a port can be grabbed (on both sides).
-
+
The icon for the zoom reset button.
-
+
The fill color of the selection rectangle.
-
+
The outline color of the selection rectangle.
-
+
The icon for the snap toggle button.
diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml
index 5a4c3838d54..786aef2660c 100644
--- a/doc/classes/GraphNode.xml
+++ b/doc/classes/GraphNode.xml
@@ -264,59 +264,59 @@
-
+
The background used when [member overlay] is set to [constant OVERLAY_BREAKPOINT].
-
+
The icon for the close button, visible when [member show_close] is enabled.
-
+
The color modulation applied to the close button icon.
-
+
The vertical offset of the close button.
-
+
The [StyleBox] used when [member comment] is enabled.
-
+
The [StyleBox] used when [member comment] is enabled and the [GraphNode] is focused.
-
+
-
+
-
+
The default background for [GraphNode].
-
+
The icon used for representing ports.
-
+
Horizontal offset for the ports.
-
+
The background used when [member overlay] is set to [constant OVERLAY_POSITION].
-
+
The icon used for resizer, visible when [member resizable] is enabled.
-
+
The color modulation applied to the resizer icon.
-
+
The background used when the [GraphNode] is selected.
-
+
The vertical distance between ports.
-
+
Color of the title text.
-
+
Font used for the title text.
-
+
Vertical offset of the title text.
diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml
index 3fce616b54b..873d54491db 100644
--- a/doc/classes/GridContainer.xml
+++ b/doc/classes/GridContainer.xml
@@ -22,10 +22,10 @@
-
+
The horizontal separation of children nodes.
-
+
The vertical separation of children nodes.
diff --git a/doc/classes/HBoxContainer.xml b/doc/classes/HBoxContainer.xml
index 118e4ec50e8..d131c0bf86a 100644
--- a/doc/classes/HBoxContainer.xml
+++ b/doc/classes/HBoxContainer.xml
@@ -13,7 +13,7 @@
-
+
The horizontal space between the [HBoxContainer]'s elements.
diff --git a/doc/classes/HScrollBar.xml b/doc/classes/HScrollBar.xml
index cbffadb5e86..79d524899ab 100644
--- a/doc/classes/HScrollBar.xml
+++ b/doc/classes/HScrollBar.xml
@@ -13,31 +13,31 @@
-
+
Icon used as a button to scroll the [ScrollBar] left. Supports custom step using the [member ScrollBar.custom_step] property.
-
+
Displayed when the mouse cursor hovers over the decrement button.
-
+
Used as texture for the grabber, the draggable element representing current scroll.
-
+
Used when the mouse hovers over the grabber.
-
+
Used when the grabber is being dragged.
-
+
Icon used as a button to scroll the [ScrollBar] right. Supports custom step using the [member ScrollBar.custom_step] property.
-
+
Displayed when the mouse cursor hovers over the increment button.
-
+
Used as background of this [ScrollBar].
-
+
Used as background when the [ScrollBar] has the GUI focus.
diff --git a/doc/classes/HSeparator.xml b/doc/classes/HSeparator.xml
index 73da28f39c4..fe3e6bcc2f6 100644
--- a/doc/classes/HSeparator.xml
+++ b/doc/classes/HSeparator.xml
@@ -13,10 +13,10 @@
-
+
The height of the area covered by the separator. Effectively works like a minimum height.
-
+
The style for the separator line. Works best with [StyleBoxLine].
diff --git a/doc/classes/HSlider.xml b/doc/classes/HSlider.xml
index 04b4f35588b..be22635e355 100644
--- a/doc/classes/HSlider.xml
+++ b/doc/classes/HSlider.xml
@@ -14,24 +14,24 @@
-
+
The texture for the grabber (the draggable element).
-
+
The background of the area to the left of the grabber.
-
+
-
+
The texture for the grabber when it's disabled.
-
+
The texture for the grabber when it's focused.
-
+
The background for the whole slider. Determines the height of the [code]grabber_area[/code].
-
+
The texture for the ticks, visible when [member Slider.tick_count] is greater than 0.
diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml
index 81a599c4a15..bfc216a739a 100644
--- a/doc/classes/HSplitContainer.xml
+++ b/doc/classes/HSplitContainer.xml
@@ -13,15 +13,15 @@
-
+
Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible.
-
+
-
+
The icon used for the grabber drawn in the middle area.
-
+
The space between sides of the container.
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index d8b9081875c..f3b8848cc80 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -407,46 +407,46 @@
-
+
Default [StyleBox] for the [ItemList], i.e. used when the control is not being focused.
-
+
[StyleBox] used when the [ItemList] is being focused.
-
+
[StyleBox] used for the cursor, when the [ItemList] is being focused.
-
+
[StyleBox] used for the cursor, when the [ItemList] is not being focused.
-
+
[Font] of the item's text.
-
+
Default text [Color] of the item.
-
+
Text [Color] used when the item is selected.
-
+
[Color] of the guideline. The guideline is a line drawn between each row of items.
-
+
The horizontal spacing between items.
-
+
The spacing between item's icon and text.
-
+
The vertical spacing between each line of text.
-
+
[StyleBox] for the selected items, used when the [ItemList] is not being focused.
-
+
[StyleBox] for the selected items, used when the [ItemList] is being focused.
-
+
The vertical spacing between items.
diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml
index 98e8c9b564f..6279ee0ce4b 100644
--- a/doc/classes/Label.xml
+++ b/doc/classes/Label.xml
@@ -97,31 +97,31 @@
-
+
[Font] used for the [Label]'s text.
-
+
Default text [Color] of the [Label].
-
+
[Color] of the text's shadow effect.
-
+
The tint of [Font]'s outline. See [member DynamicFont.outline_color].
-
+
Vertical space between lines in multiline [Label].
-
+
Background [StyleBox] for the [Label].
-
+
Boolean value. If set to 1 ([code]true[/code]), the shadow will be displayed around the whole text as an outline.
-
+
The horizontal offset of the text's shadow.
-
+
The vertical offset of the text's shadow.
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index 85db1f28f1b..c499cd34dcc 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -231,43 +231,43 @@
-
+
Texture for the clear button. See [member clear_button_enabled].
-
+
Color used as default tint for the clear button.
-
+
Color used for the clear button when it's pressed.
-
+
Color of the [LineEdit]'s visual cursor (caret).
-
+
Background used when [LineEdit] has GUI focus.
-
+
Font used for the text.
-
+
Default font color.
-
+
Font color for selected text (inside the selection rectangle).
-
+
Font color when editing is disabled.
-
+
Minimum horizontal space for the text (not counting the clear button and content margins). This value is measured in count of space characters (i.e. this amount of space characters can be displayed without scrolling).
-
+
Default background for the [LineEdit].
-
+
Background used when [LineEdit] is in read-only mode ([member editable] is set to [code]false[/code]).
-
+
Color of the selection rectangle.
diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml
index 5ff49bd41e3..0a2a0b9c5a3 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -33,22 +33,22 @@
-
+
[StyleBox] used when the [LinkButton] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
-
+
[Font] of the [LinkButton]'s text.
-
+
Default text [Color] of the [LinkButton].
-
+
Text [Color] used when the [LinkButton] is being hovered.
-
+
Text [Color] used when the [LinkButton] is being pressed.
-
+
The vertical space between the baseline of text and the underline.
diff --git a/doc/classes/MarginContainer.xml b/doc/classes/MarginContainer.xml
index 1beb1f8a2db..9970429c899 100644
--- a/doc/classes/MarginContainer.xml
+++ b/doc/classes/MarginContainer.xml
@@ -22,16 +22,16 @@
-
+
All direct children of [MarginContainer] will have a bottom margin of [code]margin_bottom[/code] pixels.
-
+
All direct children of [MarginContainer] will have a left margin of [code]margin_left[/code] pixels.
-
+
All direct children of [MarginContainer] will have a right margin of [code]margin_right[/code] pixels.
-
+
All direct children of [MarginContainer] will have a top margin of [code]margin_top[/code] pixels.
diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml
index 6e1faac0f55..26028aa6b7d 100644
--- a/doc/classes/MenuButton.xml
+++ b/doc/classes/MenuButton.xml
@@ -44,37 +44,37 @@
-
+
[StyleBox] used when the [MenuButton] is disabled.
-
+
[StyleBox] used when the [MenuButton] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
-
+
[Font] of the [MenuButton]'s text.
-
+
Default text [Color] of the [MenuButton].
-
+
Text [Color] used when the [MenuButton] is disabled.
-
+
Text [Color] used when the [MenuButton] is being hovered.
-
+
Text [Color] used when the [MenuButton] is being pressed.
-
+
[StyleBox] used when the [MenuButton] is being hovered.
-
+
The horizontal space between [MenuButton]'s icon and text.
-
+
Default [StyleBox] for the [MenuButton].
-
+
[StyleBox] used when the [MenuButton] is being pressed.
diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml
index 8cd4b2b4ec2..880763d95b4 100644
--- a/doc/classes/OptionButton.xml
+++ b/doc/classes/OptionButton.xml
@@ -186,43 +186,43 @@
-
+
The arrow icon to be drawn on the right end of the button.
-
+
The horizontal space between the arrow icon and the right edge of the button.
-
+
[StyleBox] used when the [OptionButton] is disabled.
-
+
[StyleBox] used when the [OptionButton] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
-
+
[Font] of the [OptionButton]'s text.
-
+
Default text [Color] of the [OptionButton].
-
+
Text [Color] used when the [OptionButton] is disabled.
-
+
Text [Color] used when the [OptionButton] is being hovered.
-
+
Text [Color] used when the [OptionButton] is being pressed.
-
+
[StyleBox] used when the [OptionButton] is being hovered.
-
+
The horizontal space between [OptionButton]'s icon and text.
-
+
Default [StyleBox] for the [OptionButton].
-
+
[StyleBox] used when the [OptionButton] is being pressed.
diff --git a/doc/classes/Panel.xml b/doc/classes/Panel.xml
index c0a24e710ff..87be16dc579 100644
--- a/doc/classes/Panel.xml
+++ b/doc/classes/Panel.xml
@@ -16,7 +16,7 @@
-
+
The style of this [Panel].
diff --git a/doc/classes/PanelContainer.xml b/doc/classes/PanelContainer.xml
index e4a49020e46..aeb86a271d9 100644
--- a/doc/classes/PanelContainer.xml
+++ b/doc/classes/PanelContainer.xml
@@ -14,7 +14,7 @@
-
+
The style of [PanelContainer]'s background.
diff --git a/doc/classes/PopupDialog.xml b/doc/classes/PopupDialog.xml
index 5277d409812..9e892c9c990 100644
--- a/doc/classes/PopupDialog.xml
+++ b/doc/classes/PopupDialog.xml
@@ -13,7 +13,7 @@
-
+
Sets a custom [StyleBox] for the panel of the [PopupDialog].
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index fc1a4429e86..266fec66ad1 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -496,61 +496,61 @@
-
+
[Texture] icon for the checked checkbox items.
-
+
[Font] used for the menu items.
-
+
The default text [Color] for menu items' names.
-
+
The text [Color] used for shortcuts and accelerators that show next to the menu item name when defined. See [method get_item_accelerator] for more info on accelerators.
-
+
[Color] used for disabled menu items' text.
-
+
[Color] used for the hovered text.
-
+
[Color] used for labeled separators' text. See [method add_separator].
-
+
[StyleBox] displayed when the [PopupMenu] item is hovered.
-
+
The horizontal space between the item's name and the shortcut text/submenu arrow.
-
+
[StyleBox] for the left side of labeled separator. See [method add_separator].
-
+
[StyleBox] for the right side of labeled separator. See [method add_separator].
-
+
Default [StyleBox] of the [PopupMenu] items.
-
+
[StyleBox] used when the [PopupMenu] item is disabled.
-
+
[Texture] icon for the checked radio button items.
-
+
[Texture] icon for the unchecked radio button items.
-
+
[StyleBox] used for the separators. See [method add_separator].
-
+
[Texture] icon for the submenu arrow.
-
+
[Texture] icon for the unchecked checkbox items.
-
+
The vertical space between each menu item.
diff --git a/doc/classes/PopupPanel.xml b/doc/classes/PopupPanel.xml
index 7eabc679575..f72923e842e 100644
--- a/doc/classes/PopupPanel.xml
+++ b/doc/classes/PopupPanel.xml
@@ -13,7 +13,7 @@
-
+
The background panel style of this [PopupPanel].
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index c751049de94..8285a256e3a 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -20,19 +20,19 @@
-
+
The style of the background.
-
+
The style of the progress (i.e. the part that fills the bar).
-
+
Font used to draw the fill percentage if [member percent_visible] is [code]true[/code].
-
+
The color of the text.
-
+
The color of the text's shadow.
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index 81393ee514d..418295d8ff6 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -364,55 +364,55 @@
-
+
The font used for bold text.
-
+
The font used for bold italics text.
-
+
The default text color.
-
+
The background The background used when the [RichTextLabel] is focused.
-
+
The color of selected text, used when [member selection_enabled] is [code]true[/code].
-
+
The color of the font's shadow.
-
+
The font used for italics text.
-
+
The vertical space between lines.
-
+
The font used for monospace text.
-
+
The normal background for the [RichTextLabel].
-
+
The default text font.
-
+
The color of the selection box.
-
+
Boolean value. If 1 ([code]true[/code]), the shadow will be displayed around the whole text as an outline.
-
+
The horizontal offset of the font's shadow.
-
+
The vertical offset of the font's shadow.
-
+
The horizontal separation of elements in a table.
-
+
The vertical separation of elements in a table.
diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml
index 3b955e1061a..21a656b1010 100644
--- a/doc/classes/ScrollContainer.xml
+++ b/doc/classes/ScrollContainer.xml
@@ -64,7 +64,7 @@
-
+
The background [StyleBox] of the [ScrollContainer].
diff --git a/doc/classes/SpinBox.xml b/doc/classes/SpinBox.xml
index 62c8c6e8097..8b871e24b86 100644
--- a/doc/classes/SpinBox.xml
+++ b/doc/classes/SpinBox.xml
@@ -50,7 +50,7 @@
-
+
Sets a custom [Texture] for up and down arrows of the [SpinBox].
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index cf8d545123e..04f6e7f6c39 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -161,59 +161,59 @@
-
+
Icon for the left arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the first tab is visible), it appears semi-transparent.
-
+
Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
-
+
The font used to draw tab names.
-
+
Font color of inactive tabs.
-
+
Font color of disabled tabs.
-
+
Font color of the currently selected tab.
-
+
Horizontal separation between tabs.
-
+
Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent.
-
+
Icon for the right arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
-
+
-
+
-
+
The icon for the menu button (see [method set_popup]).
-
+
The icon for the menu button (see [method set_popup]) when it's being hovered with the cursor.
-
+
The style for the background fill.
-
+
The space at the left and right edges of the tab bar.
-
+
The style of inactive tabs.
-
+
The style of disabled tabs.
-
+
The style of the currently selected tab.
-
+
diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml
index 0fe60ee11fd..37ec7d82694 100644
--- a/doc/classes/Tabs.xml
+++ b/doc/classes/Tabs.xml
@@ -225,56 +225,56 @@
-
+
Background of the close button when it's being hovered with the cursor.
-
+
Background of the close button when it's being pressed.
-
+
The icon for the close button (see [member tab_close_display_policy]).
-
+
Icon for the left arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the first tab is visible), it appears semi-transparent.
-
+
Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
-
+
The font used to draw tab names.
-
+
Font color of inactive tabs.
-
+
Font color of disabled tabs.
-
+
Font color of the currently selected tab.
-
+
The horizontal separation between the tabs.
-
+
Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent.
-
+
Icon for the right arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
-
+
-
+
-
+
The style of an inactive tab.
-
+
The style of a disabled tab
-
+
The style of the currently selected tab.
-
+
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index ff24e3eaa63..a9a41eaf2eb 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -536,97 +536,97 @@
-
+
Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] has to be enabled.
-
+
Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to be enabled.
-
+
-
+
Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
-
+
-
+
-
+
-
+
-
+
Sets the default [Font].
-
+
Sets the font [Color].
-
+
-
+
Sets the [Color] of the selected text. [member override_selected_font_color] has to be enabled.
-
+
-
+
Sets the [Color] of the line numbers. [member show_line_numbers] has to be enabled.
-
+
Sets the spacing between the lines.
-
+
Sets the [Color] of marked text.
-
+
-
+
Sets the [StyleBox] of this [TextEdit].
-
+
-
+
Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled.
-
+
-
+
Sets the highlight [Color] of text selections.
-
+
-
+
-
+
Sets a custom [Texture] for tab text characters.
-
+
Sets the highlight [Color] of multiple occurrences. [member highlight_all_occurrences] has to be enabled.
diff --git a/doc/classes/ToolButton.xml b/doc/classes/ToolButton.xml
index 83cb0371f76..c9a8be1778a 100644
--- a/doc/classes/ToolButton.xml
+++ b/doc/classes/ToolButton.xml
@@ -20,37 +20,37 @@
-
+
[StyleBox] used when the [ToolButton] is disabled.
-
+
[StyleBox] used when the [ToolButton] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
-
+
[Font] of the [ToolButton]'s text.
-
+
Default text [Color] of the [ToolButton].
-
+
Text [Color] used when the [ToolButton] is disabled.
-
+
Text [Color] used when the [ToolButton] is being hovered.
-
+
Text [Color] used when the [ToolButton] is being pressed.
-
+
[StyleBox] used when the [ToolButton] is being hovered.
-
+
The horizontal space between [ToolButton]'s icon and text.
-
+
Default [StyleBox] for the [ToolButton].
-
+
[StyleBox] used when the [ToolButton] is being pressed.
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index 8690d4a7ac8..096ecf2653c 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -355,112 +355,112 @@
-
+
The arrow icon used when a foldable item is not collapsed.
-
+
The arrow icon used when a foldable item is collapsed.
-
+
Default [StyleBox] for the [Tree], i.e. used when the control is not being focused.
-
+
[StyleBox] used when the [Tree] is being focused.
-
+
The horizontal space between each button in a cell.
-
+
[StyleBox] used when a button in the tree is pressed.
-
+
The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode cell is checked.
-
+
[StyleBox] used for the cursor, when the [Tree] is being focused.
-
+
[StyleBox] used for the cursor, when the [Tree] is not being focused.
-
+
Default [StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell.
-
+
Text [Color] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's hovered.
-
+
[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's hovered.
-
+
[StyleBox] for a [constant TreeItem.CELL_MODE_CUSTOM] mode cell when it's pressed.
-
+
Draws the guidelines if not zero, this acts as a boolean. The guideline is a horizontal line drawn at the bottom of each item.
-
+
Draws the relationship lines if not zero, this acts as a boolean. Relationship lines are drawn at the start of child items to show hierarchy.
-
+
[Color] used to draw possible drop locations. See [enum DropModeFlags] constants for further description of drop locations.
-
+
[Font] of the item's text.
-
+
Default text [Color] of the item.
-
+
Text [Color] used when the item is selected.
-
+
[Color] of the guideline.
-
+
The horizontal space between item cells. This is also used as the margin at the start of an item when folding is disabled.
-
+
The horizontal margin at the start of an item. This is used when folding is enabled for the item.
-
+
[Color] of the relationship lines.
-
+
The maximum distance between the mouse cursor and the control's border to trigger border scrolling when dragging.
-
+
The speed of border scrolling.
-
+
The arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] mode cell.
-
+
[StyleBox] for the selected items, used when the [Tree] is not being focused.
-
+
[StyleBox] for the selected items, used when the [Tree] is being focused.
-
+
Default text [Color] of the title button.
-
+
[Font] of the title button's text.
-
+
[StyleBox] used when the title button is being hovered.
-
+
Default [StyleBox] for the title button.
-
+
[StyleBox] used when the title button is being pressed.
-
+
The check icon to display when the [constant TreeItem.CELL_MODE_CHECK] mode cell is unchecked.
-
+
The updown arrow icon to display for the [constant TreeItem.CELL_MODE_RANGE] mode cell.
-
+
The vertical padding inside each item, i.e. the distance between the item's content and top/bottom border.
diff --git a/doc/classes/VBoxContainer.xml b/doc/classes/VBoxContainer.xml
index 465fd462445..b0df9ebada8 100644
--- a/doc/classes/VBoxContainer.xml
+++ b/doc/classes/VBoxContainer.xml
@@ -14,7 +14,7 @@
-
+
The vertical space between the [VBoxContainer]'s elements.
diff --git a/doc/classes/VScrollBar.xml b/doc/classes/VScrollBar.xml
index 5d9531e833c..c837da6ac03 100644
--- a/doc/classes/VScrollBar.xml
+++ b/doc/classes/VScrollBar.xml
@@ -17,31 +17,31 @@
-
+
Icon used as a button to scroll the [ScrollBar] up. Supports custom step using the [member ScrollBar.custom_step] property.
-
+
Displayed when the mouse cursor hovers over the decrement button.
-
+
Used as texture for the grabber, the draggable element representing current scroll.
-
+
Used when the mouse hovers over the grabber.
-
+
Used when the grabber is being dragged.
-
+
Icon used as a button to scroll the [ScrollBar] down. Supports custom step using the [member ScrollBar.custom_step] property.
-
+
Displayed when the mouse cursor hovers over the increment button.
-
+
Used as background of this [ScrollBar].
-
+
Used as background when the [ScrollBar] has the GUI focus.
diff --git a/doc/classes/VSeparator.xml b/doc/classes/VSeparator.xml
index a73af9af2ec..30cb02dadc3 100644
--- a/doc/classes/VSeparator.xml
+++ b/doc/classes/VSeparator.xml
@@ -13,10 +13,10 @@
-
+
The width of the area covered by the separator. Effectively works like a minimum width.
-
+
The style for the separator line. Works best with [StyleBoxLine] (remember to enable [member StyleBoxLine.vertical]).
diff --git a/doc/classes/VSlider.xml b/doc/classes/VSlider.xml
index 20a48a97862..e5b5f738a55 100644
--- a/doc/classes/VSlider.xml
+++ b/doc/classes/VSlider.xml
@@ -18,24 +18,24 @@
-
+
The texture for the grabber (the draggable element).
-
+
The background of the area below the grabber.
-
+
-
+
The texture for the grabber when it's disabled.
-
+
The texture for the grabber when it's focused.
-
+
The background for the whole slider. Determines the width of the [code]grabber_area[/code].
-
+
The texture for the ticks, visible when [member Slider.tick_count] is greater than 0.
diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml
index 2c82a57ccf2..2629cab1497 100644
--- a/doc/classes/VSplitContainer.xml
+++ b/doc/classes/VSplitContainer.xml
@@ -13,15 +13,15 @@
-
+
Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible.
-
+
-
+
The icon used for the grabber drawn in the middle area.
-
+
The space between sides of the container.
diff --git a/doc/classes/WindowDialog.xml b/doc/classes/WindowDialog.xml
index 77c90278d55..28af4770e7a 100644
--- a/doc/classes/WindowDialog.xml
+++ b/doc/classes/WindowDialog.xml
@@ -27,31 +27,31 @@
-
+
The icon for the close button.
-
+
The horizontal offset of the close button.
-
+
The icon used for the close button when it's hovered with the mouse cursor.
-
+
The vertical offset of the close button.
-
+
The style for both the content background of the [WindowDialog] and the title bar. The title bar is created with a top border and an expand margin using the [code]panel[/code] stylebox.
-
+
The thickness of the border that can be dragged when scaling the window (if [member resizable] is enabled).
-
+
The color of the title text.
-
+
The font used to draw the title.
-
+
The vertical offset of the title text.
diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py
index 30d4f0a5ffa..0e4997c54a0 100755
--- a/doc/tools/makerst.py
+++ b/doc/tools/makerst.py
@@ -90,9 +90,13 @@ class EnumDef:
class ThemeItemDef:
- def __init__(self, name, type_name, default_value): # type: (str, TypeName, Optional[str]) -> None
+ def __init__(
+ self, name, type_name, data_name, text, default_value
+ ): # type: (str, TypeName, str, Optional[str], Optional[str]) -> None
self.name = name
self.type_name = type_name
+ self.data_name = data_name
+ self.text = text
self.default_value = default_value
@@ -104,10 +108,10 @@ class ClassDef:
self.properties = OrderedDict() # type: OrderedDict[str, PropertyDef]
self.methods = OrderedDict() # type: OrderedDict[str, List[MethodDef]]
self.signals = OrderedDict() # type: OrderedDict[str, SignalDef]
+ self.theme_items = OrderedDict() # type: OrderedDict[str, ThemeItemDef]
self.inherits = None # type: Optional[str]
self.brief_description = None # type: Optional[str]
self.description = None # type: Optional[str]
- self.theme_items = None # type: Optional[OrderedDict[str, List[ThemeItemDef]]]
self.tutorials = [] # type: List[Tuple[str, str]]
# Used to match the class with XML source for output filtering purposes.
@@ -240,16 +244,33 @@ class State:
theme_items = class_root.find("theme_items")
if theme_items is not None:
- class_def.theme_items = OrderedDict()
for theme_item in theme_items:
assert theme_item.tag == "theme_item"
theme_item_name = theme_item.attrib["name"]
+ theme_item_data_name = theme_item.attrib["data_type"]
+ theme_item_id = "{}_{}".format(theme_item_data_name, theme_item_name)
+ if theme_item_id in class_def.theme_items:
+ print_error(
+ "Duplicate theme property '{}' of type '{}', file: {}".format(
+ theme_item_name, theme_item_data_name, class_name
+ ),
+ self,
+ )
+ continue
+
default_value = theme_item.get("default") or None
- theme_item_def = ThemeItemDef(theme_item_name, TypeName.from_element(theme_item), default_value)
- if theme_item_name not in class_def.theme_items:
- class_def.theme_items[theme_item_name] = []
- class_def.theme_items[theme_item_name].append(theme_item_def)
+ if default_value is not None:
+ default_value = "``{}``".format(default_value)
+
+ theme_item_def = ThemeItemDef(
+ theme_item_name,
+ TypeName.from_element(theme_item),
+ theme_item_data_name,
+ theme_item.text,
+ default_value,
+ )
+ class_def.theme_items[theme_item_id] = theme_item_def
tutorials = class_root.find("tutorials")
if tutorials is not None:
@@ -458,12 +479,14 @@ def make_rst_class(class_def, state, dry_run, output_dir): # type: (ClassDef, S
format_table(f, ml)
# Theme properties
- if class_def.theme_items is not None and len(class_def.theme_items) > 0:
+ if len(class_def.theme_items) > 0:
f.write(make_heading("Theme Properties", "-"))
pl = []
- for theme_item_list in class_def.theme_items.values():
- for theme_item in theme_item_list:
- pl.append((theme_item.type_name.to_rst(state), theme_item.name, theme_item.default_value))
+ for theme_item_def in class_def.theme_items.values():
+ ref = ":ref:`{0}`".format(
+ theme_item_def.name, theme_item_def.data_name, class_name
+ )
+ pl.append((theme_item_def.type_name.to_rst(state), ref, theme_item_def.default_value))
format_table(f, pl, True)
# Signals
@@ -578,6 +601,30 @@ def make_rst_class(class_def, state, dry_run, output_dir): # type: (ClassDef, S
index += 1
+ # Theme property descriptions
+ if len(class_def.theme_items) > 0:
+ f.write(make_heading("Theme Property Descriptions", "-"))
+ index = 0
+
+ for theme_item_def in class_def.theme_items.values():
+ if index != 0:
+ f.write("----\n\n")
+
+ f.write(".. _class_{}_theme_{}_{}:\n\n".format(class_name, theme_item_def.data_name, theme_item_def.name))
+ f.write("- {} **{}**\n\n".format(theme_item_def.type_name.to_rst(state), theme_item_def.name))
+
+ info = []
+ if theme_item_def.default_value is not None:
+ info.append(("*Default*", theme_item_def.default_value))
+
+ if len(info) > 0:
+ format_table(f, info)
+
+ if theme_item_def.text is not None and theme_item_def.text.strip() != "":
+ f.write(rstize_text(theme_item_def.text.strip(), state) + "\n\n")
+
+ index += 1
+
f.write(make_footer())
diff --git a/editor/doc/doc_data.cpp b/editor/doc/doc_data.cpp
index e5a9c8a53af..5f6b7b91f42 100644
--- a/editor/doc/doc_data.cpp
+++ b/editor/doc/doc_data.cpp
@@ -142,15 +142,15 @@ void DocData::merge_from(const DocData &p_data) {
}
for (int i = 0; i < c.theme_properties.size(); i++) {
- PropertyDoc &p = c.theme_properties.write[i];
+ ThemeItemDoc &ti = c.theme_properties.write[i];
for (int j = 0; j < cf.theme_properties.size(); j++) {
- if (cf.theme_properties[j].name != p.name) {
+ if (cf.theme_properties[j].name != ti.name || cf.theme_properties[j].data_type != ti.data_type) {
continue;
}
- const PropertyDoc &pf = cf.theme_properties[j];
+ const ThemeItemDoc &pf = cf.theme_properties[j];
- p.description = pf.description;
+ ti.description = pf.description;
break;
}
}
@@ -454,52 +454,59 @@ void DocData::generate(bool p_basic_types) {
c.constants.push_back(constant);
}
- //theme stuff
-
+ // Theme items.
{
List l;
- Theme::get_default()->get_constant_list(cname, &l);
+
+ Theme::get_default()->get_color_list(cname, &l);
for (List::Element *E = l.front(); E; E = E->next()) {
- PropertyDoc pd;
- pd.name = E->get();
- pd.type = "int";
- pd.default_value = itos(Theme::get_default()->get_constant(E->get(), cname));
- c.theme_properties.push_back(pd);
+ ThemeItemDoc tid;
+ tid.name = E->get();
+ tid.type = "Color";
+ tid.data_type = "color";
+ tid.default_value = Variant(Theme::get_default()->get_color(E->get(), cname)).get_construct_string();
+ c.theme_properties.push_back(tid);
}
l.clear();
- Theme::get_default()->get_color_list(cname, &l);
+ Theme::get_default()->get_constant_list(cname, &l);
for (List::Element *E = l.front(); E; E = E->next()) {
- PropertyDoc pd;
- pd.name = E->get();
- pd.type = "Color";
- pd.default_value = Variant(Theme::get_default()->get_color(E->get(), cname)).get_construct_string();
- c.theme_properties.push_back(pd);
+ ThemeItemDoc tid;
+ tid.name = E->get();
+ tid.type = "int";
+ tid.data_type = "constant";
+ tid.default_value = itos(Theme::get_default()->get_constant(E->get(), cname));
+ c.theme_properties.push_back(tid);
+ }
+
+ l.clear();
+ Theme::get_default()->get_font_list(cname, &l);
+ for (List::Element *E = l.front(); E; E = E->next()) {
+ ThemeItemDoc tid;
+ tid.name = E->get();
+ tid.type = "Font";
+ tid.data_type = "font";
+ c.theme_properties.push_back(tid);
}
l.clear();
Theme::get_default()->get_icon_list(cname, &l);
for (List::Element *E = l.front(); E; E = E->next()) {
- PropertyDoc pd;
- pd.name = E->get();
- pd.type = "Texture";
- c.theme_properties.push_back(pd);
- }
- l.clear();
- Theme::get_default()->get_font_list(cname, &l);
- for (List::Element *E = l.front(); E; E = E->next()) {
- PropertyDoc pd;
- pd.name = E->get();
- pd.type = "Font";
- c.theme_properties.push_back(pd);
+ ThemeItemDoc tid;
+ tid.name = E->get();
+ tid.type = "Texture";
+ tid.data_type = "icon";
+ c.theme_properties.push_back(tid);
}
+
l.clear();
Theme::get_default()->get_stylebox_list(cname, &l);
for (List::Element *E = l.front(); E; E = E->next()) {
- PropertyDoc pd;
- pd.name = E->get();
- pd.type = "StyleBox";
- c.theme_properties.push_back(pd);
+ ThemeItemDoc tid;
+ tid.name = E->get();
+ tid.type = "StyleBox";
+ tid.data_type = "style";
+ c.theme_properties.push_back(tid);
}
}
@@ -925,12 +932,14 @@ Error DocData::_load(Ref parser) {
String name3 = parser->get_node_name();
if (name3 == "theme_item") {
- PropertyDoc prop2;
+ ThemeItemDoc prop2;
ERR_FAIL_COND_V(!parser->has_attribute("name"), ERR_FILE_CORRUPT);
prop2.name = parser->get_attribute_value("name");
ERR_FAIL_COND_V(!parser->has_attribute("type"), ERR_FILE_CORRUPT);
prop2.type = parser->get_attribute_value("type");
+ ERR_FAIL_COND_V(!parser->has_attribute("data_type"), ERR_FILE_CORRUPT);
+ prop2.data_type = parser->get_attribute_value("data_type");
if (!parser->is_empty()) {
parser->read();
if (parser->get_node_type() == XMLParser::NODE_TEXT) {
@@ -1159,15 +1168,15 @@ Error DocData::save_classes(const String &p_default_path, const Map");
for (int i = 0; i < c.theme_properties.size(); i++) {
- const PropertyDoc &p = c.theme_properties[i];
+ const ThemeItemDoc &ti = c.theme_properties[i];
- if (p.default_value != "") {
- _write_string(f, 2, "");
+ if (ti.default_value != "") {
+ _write_string(f, 2, "");
} else {
- _write_string(f, 2, "");
+ _write_string(f, 2, "");
}
- _write_string(f, 3, p.description.strip_edges().xml_escape());
+ _write_string(f, 3, ti.description.strip_edges().xml_escape());
_write_string(f, 2, "");
}
diff --git a/editor/doc/doc_data.h b/editor/doc/doc_data.h
index fa2c0c36613..f015abeda42 100644
--- a/editor/doc/doc_data.h
+++ b/editor/doc/doc_data.h
@@ -79,6 +79,17 @@ public:
}
};
+ struct ThemeItemDoc {
+ String name;
+ String type;
+ String data_type;
+ String description;
+ String default_value;
+ bool operator<(const ThemeItemDoc &p_theme_item) const {
+ return name < p_theme_item.name;
+ }
+ };
+
struct TutorialDoc {
String link;
String title;
@@ -95,7 +106,7 @@ public:
Vector signals;
Vector constants;
Vector properties;
- Vector theme_properties;
+ Vector theme_properties;
};
String version;
diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp
index 27cf0425f8d..b9bf7542971 100644
--- a/editor/editor_help_search.cpp
+++ b/editor/editor_help_search.cpp
@@ -365,7 +365,7 @@ bool EditorHelpSearch::Runner::_phase_match_classes() {
if (search_flags & SEARCH_THEME_ITEMS) {
for (int i = 0; i < class_doc.theme_properties.size(); i++) {
if (_match_string(term, class_doc.theme_properties[i].name)) {
- match.theme_properties.push_back(const_cast(&class_doc.theme_properties[i]));
+ match.theme_properties.push_back(const_cast(&class_doc.theme_properties[i]));
}
}
}
@@ -557,7 +557,7 @@ TreeItem *EditorHelpSearch::Runner::_create_property_item(TreeItem *p_parent, co
return _create_member_item(p_parent, p_class_doc->name, "MemberProperty", p_doc->name, TTRC("Property"), "property", tooltip);
}
-TreeItem *EditorHelpSearch::Runner::_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc) {
+TreeItem *EditorHelpSearch::Runner::_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ThemeItemDoc *p_doc) {
String tooltip = p_doc->type + " " + p_class_doc->name + "." + p_doc->name;
return _create_member_item(p_parent, p_class_doc->name, "MemberTheme", p_doc->name, TTRC("Theme Property"), "theme_item", tooltip);
}
diff --git a/editor/editor_help_search.h b/editor/editor_help_search.h
index 968fd3d6b85..4769f48e275 100644
--- a/editor/editor_help_search.h
+++ b/editor/editor_help_search.h
@@ -103,7 +103,7 @@ class EditorHelpSearch::Runner : public Reference {
Vector signals;
Vector constants;
Vector properties;
- Vector theme_properties;
+ Vector theme_properties;
bool required() {
return name || methods.size() || signals.size() || constants.size() || properties.size() || theme_properties.size();
@@ -145,7 +145,7 @@ class EditorHelpSearch::Runner : public Reference {
TreeItem *_create_signal_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::MethodDoc *p_doc);
TreeItem *_create_constant_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ConstantDoc *p_doc);
TreeItem *_create_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc);
- TreeItem *_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::PropertyDoc *p_doc);
+ TreeItem *_create_theme_property_item(TreeItem *p_parent, const DocData::ClassDoc *p_class_doc, const DocData::ThemeItemDoc *p_doc);
TreeItem *_create_member_item(TreeItem *p_parent, const String &p_class_name, const String &p_icon, const String &p_name, const String &p_type, const String &p_metatype, const String &p_tooltip);
public:
diff --git a/modules/gdscript/language_server/gdscript_workspace.cpp b/modules/gdscript/language_server/gdscript_workspace.cpp
index 2de15177a06..085abf195d7 100644
--- a/modules/gdscript/language_server/gdscript_workspace.cpp
+++ b/modules/gdscript/language_server/gdscript_workspace.cpp
@@ -261,18 +261,13 @@ Error GDScriptWorkspace::initialize() {
class_symbol.children.push_back(symbol);
}
- Vector properties;
- properties.append_array(class_data.properties);
- const int theme_prop_start_idx = properties.size();
- properties.append_array(class_data.theme_properties);
-
for (int i = 0; i < class_data.properties.size(); i++) {
const DocData::PropertyDoc &data = class_data.properties[i];
lsp::DocumentSymbol symbol;
symbol.name = data.name;
symbol.native_class = class_name;
symbol.kind = lsp::SymbolKind::Property;
- symbol.detail = String(i >= theme_prop_start_idx ? " var" : "var") + " " + class_name + "." + data.name;
+ symbol.detail = "var " + class_name + "." + data.name;
if (data.enumeration.length()) {
symbol.detail += ": " + data.enumeration;
} else {
@@ -282,6 +277,17 @@ Error GDScriptWorkspace::initialize() {
class_symbol.children.push_back(symbol);
}
+ for (int i = 0; i < class_data.theme_properties.size(); i++) {
+ const DocData::ThemeItemDoc &data = class_data.theme_properties[i];
+ lsp::DocumentSymbol symbol;
+ symbol.name = data.name;
+ symbol.native_class = class_name;
+ symbol.kind = lsp::SymbolKind::Property;
+ symbol.detail = " var " + class_name + "." + data.name + ": " + data.type;
+ symbol.documentation = data.description;
+ class_symbol.children.push_back(symbol);
+ }
+
Vector methods_signals;
methods_signals.append_array(class_data.methods);
const int signal_start_idx = methods_signals.size();