mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
1587 lines
65 KiB
Python
1587 lines
65 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
pygments.lexers.gdscript
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Lexer for GDScript.
|
|
|
|
:copyright: Copyright 2xxx by The Godot Engine Community
|
|
:license: MIT.
|
|
|
|
modified by Daniel J. Ramirez <djrmuv@gmail.com> based on the original python.py pygment
|
|
further expanded and consolidated with the godot-docs lexer by Zackery R. Smith <zackery.smith82307@gmail.com> and Ste.
|
|
"""
|
|
|
|
from pygments.lexer import RegexLexer, include, bygroups, words, combined
|
|
from pygments.token import (
|
|
Keyword,
|
|
Literal,
|
|
Name,
|
|
Comment,
|
|
String,
|
|
Number,
|
|
Operator,
|
|
Whitespace,
|
|
Punctuation,
|
|
)
|
|
|
|
__all__ = ["GDScriptLexer"]
|
|
|
|
|
|
class GDScriptLexer(RegexLexer):
|
|
"""
|
|
For GDScript source code.
|
|
"""
|
|
|
|
name = "GDScript"
|
|
url = "https://www.godotengine.org"
|
|
aliases = ["gdscript", "gd"]
|
|
filenames = ["*.gd"]
|
|
mimetypes = ["text/x-gdscript", "application/x-gdscript"]
|
|
|
|
# taken from pygments/gdscript.py
|
|
@staticmethod
|
|
def inner_string_rules(ttype):
|
|
return [
|
|
# the old style '%s' % (...) string formatting
|
|
(
|
|
r"%(\(\w+\))?[-#0 +]*([0-9]+|[*])?(\.([0-9]+|[*]))?"
|
|
"[hlL]?[E-GXc-giorsux%]",
|
|
String.Interpol,
|
|
),
|
|
# backslashes, quotes, and formatting signs must be parsed one at a time
|
|
(r'[^\\\'"%\n]+', ttype),
|
|
(r'[\'"\\]', ttype),
|
|
# unhandled string formatting sign
|
|
(r"%", ttype),
|
|
# newlines are an error (use "nl" state)
|
|
]
|
|
|
|
tokens = {
|
|
"whitespace": [(r"\s+", Whitespace)],
|
|
"comment": [
|
|
(r"##.*$", Comment.Doc),
|
|
(r"#(?:end)?region.*$", Comment.Region),
|
|
(r"#.*$", Comment.Single),
|
|
],
|
|
"punctuation": [
|
|
(r"[]{}(),:;[]", Punctuation),
|
|
(r":\n", Punctuation),
|
|
(r"\\", Punctuation),
|
|
],
|
|
# NOTE: from github.com/godotengine/godot-docs
|
|
"keyword": [
|
|
(
|
|
words(
|
|
(
|
|
# modules/gdscript/gdscript.cpp - GDScriptLanguage::get_reserved_words()
|
|
# Declarations.
|
|
"class",
|
|
"class_name",
|
|
"const",
|
|
"enum",
|
|
"extends",
|
|
"func",
|
|
"namespace", # Reserved for potential future use.
|
|
"signal",
|
|
"static",
|
|
"trait", # Reserved for potential future use.
|
|
"var",
|
|
# Other keywords.
|
|
"await",
|
|
"breakpoint",
|
|
"self",
|
|
"super",
|
|
"yield", # Reserved for potential future use.
|
|
# Not really keywords, but used in property syntax.
|
|
# also colored like functions, not keywords
|
|
#"set",
|
|
#"get",
|
|
),
|
|
suffix=r"\b",
|
|
),
|
|
Keyword,
|
|
),
|
|
(
|
|
words(
|
|
(
|
|
# modules/gdscript/gdscript.cpp - GDScriptLanguage::get_reserved_words()
|
|
# Control flow.
|
|
"break",
|
|
"continue",
|
|
"elif",
|
|
"else",
|
|
"for",
|
|
"if",
|
|
"match",
|
|
"pass",
|
|
"return",
|
|
"when",
|
|
"while",
|
|
"yield",
|
|
),
|
|
suffix=r"\b",
|
|
),
|
|
# Custom control flow class used to give control flow keywords a different color,
|
|
# like in the Godot editor.
|
|
Keyword.ControlFlow,
|
|
),
|
|
],
|
|
"builtin": [
|
|
(
|
|
words(
|
|
("true", "false", "PI", "TAU", "NAN", "INF", "null"),
|
|
prefix=r"(?<!\.)",
|
|
suffix=r"\b",
|
|
),
|
|
Literal,
|
|
),
|
|
# NOTE: from github.com/godotengine/godot-docs
|
|
(
|
|
words(
|
|
(
|
|
# doc/classes/@GlobalScope.xml
|
|
"abs",
|
|
"absf",
|
|
"absi",
|
|
"acos",
|
|
"acosh",
|
|
"angle_difference",
|
|
"asin",
|
|
"asinh",
|
|
"atan",
|
|
"atan2",
|
|
"atanh",
|
|
"bezier_derivative",
|
|
"bezier_interpolate",
|
|
"bytes_to_var",
|
|
"bytes_to_var_with_objects",
|
|
"ceil",
|
|
"ceilf",
|
|
"ceili",
|
|
"clamp",
|
|
"clampf",
|
|
"clampi",
|
|
"cos",
|
|
"cosh",
|
|
"cubic_interpolate",
|
|
"cubic_interpolate_angle",
|
|
"cubic_interpolate_angle_in_time",
|
|
"cubic_interpolate_in_time",
|
|
"db_to_linear",
|
|
"deg_to_rad",
|
|
"ease",
|
|
"error_string",
|
|
"exp",
|
|
"floor",
|
|
"floorf",
|
|
"floori",
|
|
"fmod",
|
|
"fposmod",
|
|
"hash",
|
|
"instance_from_id",
|
|
"inverse_lerp",
|
|
"is_equal_approx",
|
|
"is_finite",
|
|
"is_inf",
|
|
"is_instance_id_valid",
|
|
"is_instance_valid",
|
|
"is_nan",
|
|
"is_same",
|
|
"is_zero_approx",
|
|
"lerp",
|
|
"lerp_angle",
|
|
"lerpf",
|
|
"linear_to_db",
|
|
"log",
|
|
"max",
|
|
"maxf",
|
|
"maxi",
|
|
"min",
|
|
"minf",
|
|
"mini",
|
|
"move_toward",
|
|
"nearest_po2",
|
|
"pingpong",
|
|
"posmod",
|
|
"pow",
|
|
"print",
|
|
"print_rich",
|
|
"print_verbose",
|
|
"printerr",
|
|
"printraw",
|
|
"prints",
|
|
"printt",
|
|
"push_error",
|
|
"push_warning",
|
|
"rad_to_deg",
|
|
"rand_from_seed",
|
|
"randf",
|
|
"randf_range",
|
|
"randfn",
|
|
"randi",
|
|
"randi_range",
|
|
"randomize",
|
|
"remap",
|
|
"rid_allocate_id",
|
|
"rid_from_int64",
|
|
"rotate_toward",
|
|
"round",
|
|
"roundf",
|
|
"roundi",
|
|
"seed",
|
|
"sign",
|
|
"signf",
|
|
"signi",
|
|
"sin",
|
|
"sinh",
|
|
"smoothstep",
|
|
"snapped",
|
|
"snappedf",
|
|
"snappedi",
|
|
"sqrt",
|
|
"step_decimals",
|
|
"str",
|
|
"str_to_var",
|
|
"tan",
|
|
"tanh",
|
|
"type_convert",
|
|
"type_string",
|
|
"typeof",
|
|
"var_to_bytes",
|
|
"var_to_bytes_with_objects",
|
|
"var_to_str",
|
|
"weakref",
|
|
"wrap",
|
|
"wrapf",
|
|
"wrapi",
|
|
|
|
# modules/gdscript/doc_classes/@GDScript.xml
|
|
"Color8",
|
|
"assert",
|
|
"char",
|
|
"convert",
|
|
"dict_to_inst",
|
|
"get_stack",
|
|
"inst_to_dict",
|
|
"is_instance_of",
|
|
"len",
|
|
"load",
|
|
"ord",
|
|
"preload",
|
|
"print_debug",
|
|
"print_stack",
|
|
"range",
|
|
"type_exists",
|
|
),
|
|
prefix=r"(?<!\.)",
|
|
suffix=r"\b",
|
|
),
|
|
Name.Builtin.Function,
|
|
),
|
|
(r"((?<!\.)(self)" r")\b", Name.Builtin.Pseudo),
|
|
# NOTE: from github.com/godotengine/godot-docs
|
|
(
|
|
words(
|
|
(
|
|
# core/variant/variant.cpp - Variant::get_type_name()
|
|
# `Nil` is excluded because it is not allowed in GDScript.
|
|
"bool",
|
|
"int",
|
|
"float",
|
|
"String",
|
|
"Vector2",
|
|
"Vector2i",
|
|
"Rect2",
|
|
"Rect2i",
|
|
"Transform2D",
|
|
"Vector3",
|
|
"Vector3i",
|
|
"Vector4",
|
|
"Vector4i",
|
|
"Plane",
|
|
"AABB",
|
|
"Quaternion",
|
|
"Basis",
|
|
"Transform3D",
|
|
"Projection",
|
|
"Color",
|
|
"RID",
|
|
"Object",
|
|
"Callable",
|
|
"Signal",
|
|
"StringName",
|
|
"NodePath",
|
|
"Dictionary",
|
|
"Array",
|
|
"PackedByteArray",
|
|
"PackedInt32Array",
|
|
"PackedInt64Array",
|
|
"PackedFloat32Array",
|
|
"PackedFloat64Array",
|
|
"PackedStringArray",
|
|
"PackedVector2Array",
|
|
"PackedVector3Array",
|
|
"PackedColorArray",
|
|
"PackedVector4Array",
|
|
# The following are also considered types in GDScript.
|
|
"Variant",
|
|
"void",
|
|
),
|
|
prefix=r"(?<!\.)",
|
|
suffix=r"\b",
|
|
),
|
|
Name.Builtin.Type,
|
|
),
|
|
# copied from https://docs.godotengine.org/en/stable/classes/index.html
|
|
(
|
|
words(
|
|
(
|
|
# Nodes
|
|
"Node",
|
|
"AcceptDialog",
|
|
"AnimatableBody2D",
|
|
"AnimatableBody3D",
|
|
"AnimatedSprite2D",
|
|
"AnimatedSprite3D",
|
|
"AnimationMixer",
|
|
"AnimationPlayer",
|
|
"AnimationTree",
|
|
"Area2D",
|
|
"Area3D",
|
|
"AspectRatioContainer",
|
|
"AudioListener2D",
|
|
"AudioListener3D",
|
|
"AudioStreamPlayer",
|
|
"AudioStreamPlayer2D",
|
|
"AudioStreamPlayer3D",
|
|
"BackBufferCopy",
|
|
"BaseButton",
|
|
"Bone2D",
|
|
"BoneAttachment3D",
|
|
"BoxContainer",
|
|
"Button",
|
|
"Camera2D",
|
|
"Camera3D",
|
|
"CanvasGroup",
|
|
"CanvasItem",
|
|
"CanvasLayer",
|
|
"CanvasModulate",
|
|
"CenterContainer",
|
|
"CharacterBody2D",
|
|
"CharacterBody3D",
|
|
"CheckBox",
|
|
"CheckButton",
|
|
"CodeEdit",
|
|
"CollisionObject2D",
|
|
"CollisionObject3D",
|
|
"CollisionPolygon2D",
|
|
"CollisionPolygon3D",
|
|
"CollisionShape2D",
|
|
"CollisionShape3D",
|
|
"ColorPicker",
|
|
"ColorPickerButton",
|
|
"ColorRect",
|
|
"ConeTwistJoint3D",
|
|
"ConfirmationDialog",
|
|
"Container",
|
|
"Control",
|
|
"CPUParticles2D",
|
|
"CPUParticles3D",
|
|
"CSGBox3D",
|
|
"CSGCombiner3D",
|
|
"CSGCylinder3D",
|
|
"CSGMesh3D",
|
|
"CSGPolygon3D",
|
|
"CSGPrimitive3D",
|
|
"CSGShape3D",
|
|
"CSGSphere3D",
|
|
"CSGTorus3D",
|
|
"DampedSpringJoint2D",
|
|
"Decal",
|
|
"DirectionalLight2D",
|
|
"DirectionalLight3D",
|
|
"EditorCommandPalette",
|
|
"EditorFileDialog",
|
|
"EditorFileSystem",
|
|
"EditorInspector",
|
|
"EditorPlugin",
|
|
"EditorProperty",
|
|
"EditorResourcePicker",
|
|
"EditorResourcePreview",
|
|
"EditorScriptPicker",
|
|
"EditorSpinSlider",
|
|
"EditorToaster",
|
|
"FileDialog",
|
|
"FileSystemDock",
|
|
"FlowContainer",
|
|
"FogVolume",
|
|
"Generic6DOFJoint3D",
|
|
"GeometryInstance3D",
|
|
"GPUParticles2D",
|
|
"GPUParticles3D",
|
|
"GPUParticlesAttractor3D",
|
|
"GPUParticlesAttractorBox3D",
|
|
"GPUParticlesAttractorSphere3D",
|
|
"GPUParticlesAttractorVectorField3D",
|
|
"GPUParticlesCollision3D",
|
|
"GPUParticlesCollisionBox3D",
|
|
"GPUParticlesCollisionHeightField3D",
|
|
"GPUParticlesCollisionSDF3D",
|
|
"GPUParticlesCollisionSphere3D",
|
|
"GraphEdit",
|
|
"GraphElement",
|
|
"GraphFrame",
|
|
"GraphNode",
|
|
"GridContainer",
|
|
"GridMap",
|
|
"GridMapEditorPlugin",
|
|
"GrooveJoint2D",
|
|
"HBoxContainer",
|
|
"HFlowContainer",
|
|
"HingeJoint3D",
|
|
"HScrollBar",
|
|
"HSeparator",
|
|
"HSlider",
|
|
"HSplitContainer",
|
|
"HTTPRequest",
|
|
"ImporterMeshInstance3D",
|
|
"InstancePlaceholder",
|
|
"ItemList",
|
|
"Joint2D",
|
|
"Joint3D",
|
|
"Label",
|
|
"Label3D",
|
|
"Light2D",
|
|
"Light3D",
|
|
"LightmapGI",
|
|
"LightmapProbe",
|
|
"LightOccluder2D",
|
|
"Line2D",
|
|
"LineEdit",
|
|
"LinkButton",
|
|
"LookAtModifier3D",
|
|
"MarginContainer",
|
|
"Marker2D",
|
|
"Marker3D",
|
|
"MenuBar",
|
|
"MenuButton",
|
|
"MeshInstance2D",
|
|
"MeshInstance3D",
|
|
"MissingNode",
|
|
"MultiMeshInstance2D",
|
|
"MultiMeshInstance3D",
|
|
"MultiplayerSpawner",
|
|
"MultiplayerSynchronizer",
|
|
"NavigationAgent2D",
|
|
"NavigationAgent3D",
|
|
"NavigationLink2D",
|
|
"NavigationLink3D",
|
|
"NavigationObstacle2D",
|
|
"NavigationObstacle3D",
|
|
"NavigationRegion2D",
|
|
"NavigationRegion3D",
|
|
"NinePatchRect",
|
|
"Node2D",
|
|
"Node3D",
|
|
"OccluderInstance3D",
|
|
"OmniLight3D",
|
|
"OpenXRBindingModifierEditor",
|
|
"OpenXRCompositionLayer",
|
|
"OpenXRCompositionLayerCylinder",
|
|
"OpenXRCompositionLayerEquirect",
|
|
"OpenXRCompositionLayerQuad",
|
|
"OpenXRHand",
|
|
"OpenXRInteractionProfileEditor",
|
|
"OpenXRInteractionProfileEditorBase",
|
|
"OpenXRVisibilityMask",
|
|
"OptionButton",
|
|
"Panel",
|
|
"PanelContainer",
|
|
"Parallax2D",
|
|
"ParallaxBackground",
|
|
"ParallaxLayer",
|
|
"Path2D",
|
|
"Path3D",
|
|
"PathFollow2D",
|
|
"PathFollow3D",
|
|
"PhysicalBone2D",
|
|
"PhysicalBone3D",
|
|
"PhysicalBoneSimulator3D",
|
|
"PhysicsBody2D",
|
|
"PhysicsBody3D",
|
|
"PinJoint2D",
|
|
"PinJoint3D",
|
|
"PointLight2D",
|
|
"Polygon2D",
|
|
"Popup",
|
|
"PopupMenu",
|
|
"PopupPanel",
|
|
"ProgressBar",
|
|
"Range",
|
|
"RayCast2D",
|
|
"RayCast3D",
|
|
"ReferenceRect",
|
|
"ReflectionProbe",
|
|
"RemoteTransform2D",
|
|
"RemoteTransform3D",
|
|
"ResourcePreloader",
|
|
"RetargetModifier3D",
|
|
"RichTextLabel",
|
|
"RigidBody2D",
|
|
"RigidBody3D",
|
|
"RootMotionView",
|
|
"ScriptCreateDialog",
|
|
"ScriptEditor",
|
|
"ScriptEditorBase",
|
|
"ScrollBar",
|
|
"ScrollContainer",
|
|
"Separator",
|
|
"ShaderGlobalsOverride",
|
|
"ShapeCast2D",
|
|
"ShapeCast3D",
|
|
"Skeleton2D",
|
|
"Skeleton3D",
|
|
"SkeletonIK3D",
|
|
"SkeletonModifier3D",
|
|
"Slider",
|
|
"SliderJoint3D",
|
|
"SoftBody3D",
|
|
"SpinBox",
|
|
"SplitContainer",
|
|
"SpotLight3D",
|
|
"SpringArm3D",
|
|
"SpringBoneCollision3D",
|
|
"SpringBoneCollisionCapsule3D",
|
|
"SpringBoneCollisionPlane3D",
|
|
"SpringBoneCollisionSphere3D",
|
|
"SpringBoneSimulator3D",
|
|
"Sprite2D",
|
|
"Sprite3D",
|
|
"SpriteBase3D",
|
|
"StaticBody2D",
|
|
"StaticBody3D",
|
|
"StatusIndicator",
|
|
"SubViewport",
|
|
"SubViewportContainer",
|
|
"TabBar",
|
|
"TabContainer",
|
|
"TextEdit",
|
|
"TextureButton",
|
|
"TextureProgressBar",
|
|
"TextureRect",
|
|
"TileMap",
|
|
"TileMapLayer",
|
|
"Timer",
|
|
"TouchScreenButton",
|
|
"Tree",
|
|
"VBoxContainer",
|
|
"VehicleBody3D",
|
|
"VehicleWheel3D",
|
|
"VFlowContainer",
|
|
"VideoStreamPlayer",
|
|
"Viewport",
|
|
"VisibleOnScreenEnabler2D",
|
|
"VisibleOnScreenEnabler3D",
|
|
"VisibleOnScreenNotifier2D",
|
|
"VisibleOnScreenNotifier3D",
|
|
"VisualInstance3D",
|
|
"VoxelGI",
|
|
"VScrollBar",
|
|
"VSeparator",
|
|
"VSlider",
|
|
"VSplitContainer",
|
|
"Window",
|
|
"WorldEnvironment",
|
|
"XRAnchor3D",
|
|
"XRBodyModifier3D",
|
|
"XRCamera3D",
|
|
"XRController3D",
|
|
"XRFaceModifier3D",
|
|
"XRHandModifier3D",
|
|
"XRNode3D",
|
|
"XROrigin3D",
|
|
# Resources
|
|
"Resource",
|
|
"AnimatedTexture",
|
|
"Animation",
|
|
"AnimationLibrary",
|
|
"AnimationNode",
|
|
"AnimationNodeAdd2",
|
|
"AnimationNodeAdd3",
|
|
"AnimationNodeAnimation",
|
|
"AnimationNodeBlend2",
|
|
"AnimationNodeBlend3",
|
|
"AnimationNodeBlendSpace1D",
|
|
"AnimationNodeBlendSpace2D",
|
|
"AnimationNodeBlendTree",
|
|
"AnimationNodeExtension",
|
|
"AnimationNodeOneShot",
|
|
"AnimationNodeOutput",
|
|
"AnimationNodeStateMachine",
|
|
"AnimationNodeStateMachinePlayback",
|
|
"AnimationNodeStateMachineTransition",
|
|
"AnimationNodeSub2",
|
|
"AnimationNodeSync",
|
|
"AnimationNodeTimeScale",
|
|
"AnimationNodeTimeSeek",
|
|
"AnimationNodeTransition",
|
|
"AnimationRootNode",
|
|
"ArrayMesh",
|
|
"ArrayOccluder3D",
|
|
"AtlasTexture",
|
|
"AudioBusLayout",
|
|
"AudioEffect",
|
|
"AudioEffectAmplify",
|
|
"AudioEffectBandLimitFilter",
|
|
"AudioEffectBandPassFilter",
|
|
"AudioEffectCapture",
|
|
"AudioEffectChorus",
|
|
"AudioEffectCompressor",
|
|
"AudioEffectDelay",
|
|
"AudioEffectDistortion",
|
|
"AudioEffectEQ",
|
|
"AudioEffectEQ10",
|
|
"AudioEffectEQ21",
|
|
"AudioEffectEQ6",
|
|
"AudioEffectFilter",
|
|
"AudioEffectHardLimiter",
|
|
"AudioEffectHighPassFilter",
|
|
"AudioEffectHighShelfFilter",
|
|
"AudioEffectLimiter",
|
|
"AudioEffectLowPassFilter",
|
|
"AudioEffectLowShelfFilter",
|
|
"AudioEffectNotchFilter",
|
|
"AudioEffectPanner",
|
|
"AudioEffectPhaser",
|
|
"AudioEffectPitchShift",
|
|
"AudioEffectRecord",
|
|
"AudioEffectReverb",
|
|
"AudioEffectSpectrumAnalyzer",
|
|
"AudioEffectStereoEnhance",
|
|
"AudioStream",
|
|
"AudioStreamGenerator",
|
|
"AudioStreamInteractive",
|
|
"AudioStreamMicrophone",
|
|
"AudioStreamMP3",
|
|
"AudioStreamOggVorbis",
|
|
"AudioStreamPlaylist",
|
|
"AudioStreamPolyphonic",
|
|
"AudioStreamRandomizer",
|
|
"AudioStreamSynchronized",
|
|
"AudioStreamWAV",
|
|
"BaseMaterial3D",
|
|
"BitMap",
|
|
"BoneMap",
|
|
"BoxMesh",
|
|
"BoxOccluder3D",
|
|
"BoxShape3D",
|
|
"ButtonGroup",
|
|
"CameraAttributes",
|
|
"CameraAttributesPhysical",
|
|
"CameraAttributesPractical",
|
|
"CameraTexture",
|
|
"CanvasItemMaterial",
|
|
"CanvasTexture",
|
|
"CapsuleMesh",
|
|
"CapsuleShape2D",
|
|
"CapsuleShape3D",
|
|
"CircleShape2D",
|
|
"CodeHighlighter",
|
|
"ColorPalette",
|
|
"Compositor",
|
|
"CompositorEffect",
|
|
"CompressedCubemap",
|
|
"CompressedCubemapArray",
|
|
"CompressedTexture2D",
|
|
"CompressedTexture2DArray",
|
|
"CompressedTexture3D",
|
|
"CompressedTextureLayered",
|
|
"ConcavePolygonShape2D",
|
|
"ConcavePolygonShape3D",
|
|
"ConvexPolygonShape2D",
|
|
"ConvexPolygonShape3D",
|
|
"CryptoKey",
|
|
"CSharpScript",
|
|
"Cubemap",
|
|
"CubemapArray",
|
|
"Curve",
|
|
"Curve2D",
|
|
"Curve3D",
|
|
"CurveTexture",
|
|
"CurveXYZTexture",
|
|
"CylinderMesh",
|
|
"CylinderShape3D",
|
|
"EditorNode3DGizmoPlugin",
|
|
"EditorSettings",
|
|
"EditorSyntaxHighlighter",
|
|
"Environment",
|
|
"ExternalTexture",
|
|
"FastNoiseLite",
|
|
"FBXDocument",
|
|
"FBXState",
|
|
"FogMaterial",
|
|
"Font",
|
|
"FontFile",
|
|
"FontVariation",
|
|
"GDExtension",
|
|
"GDScript",
|
|
"GDScriptSyntaxHighlighter",
|
|
"GLTFAccessor",
|
|
"GLTFAnimation",
|
|
"GLTFBufferView",
|
|
"GLTFCamera",
|
|
"GLTFDocument",
|
|
"GLTFDocumentExtension",
|
|
"GLTFDocumentExtensionConvertImporterMesh",
|
|
"GLTFLight",
|
|
"GLTFMesh",
|
|
"GLTFNode",
|
|
"GLTFPhysicsBody",
|
|
"GLTFPhysicsShape",
|
|
"GLTFSkeleton",
|
|
"GLTFSkin",
|
|
"GLTFSpecGloss",
|
|
"GLTFState",
|
|
"GLTFTexture",
|
|
"GLTFTextureSampler",
|
|
"Gradient",
|
|
"GradientTexture1D",
|
|
"GradientTexture2D",
|
|
"HeightMapShape3D",
|
|
"Image",
|
|
"ImageTexture",
|
|
"ImageTexture3D",
|
|
"ImageTextureLayered",
|
|
"ImmediateMesh",
|
|
"ImporterMesh",
|
|
"InputEvent",
|
|
"InputEventAction",
|
|
"InputEventFromWindow",
|
|
"InputEventGesture",
|
|
"InputEventJoypadButton",
|
|
"InputEventJoypadMotion",
|
|
"InputEventKey",
|
|
"InputEventMagnifyGesture",
|
|
"InputEventMIDI",
|
|
"InputEventMouse",
|
|
"InputEventMouseButton",
|
|
"InputEventMouseMotion",
|
|
"InputEventPanGesture",
|
|
"InputEventScreenDrag",
|
|
"InputEventScreenTouch",
|
|
"InputEventShortcut",
|
|
"InputEventWithModifiers",
|
|
"JSON",
|
|
"LabelSettings",
|
|
"LightmapGIData",
|
|
"Material",
|
|
"Mesh",
|
|
"MeshLibrary",
|
|
"MeshTexture",
|
|
"MissingResource",
|
|
"MultiMesh",
|
|
"NavigationMesh",
|
|
"NavigationMeshSourceGeometryData2D",
|
|
"NavigationMeshSourceGeometryData3D",
|
|
"NavigationPolygon",
|
|
"Noise",
|
|
"NoiseTexture2D",
|
|
"NoiseTexture3D",
|
|
"Occluder3D",
|
|
"OccluderPolygon2D",
|
|
"OggPacketSequence",
|
|
"OpenXRAction",
|
|
"OpenXRActionBindingModifier",
|
|
"OpenXRActionMap",
|
|
"OpenXRActionSet",
|
|
"OpenXRAnalogThresholdModifier",
|
|
"OpenXRBindingModifier",
|
|
"OpenXRDpadBindingModifier",
|
|
"OpenXRHapticBase",
|
|
"OpenXRHapticVibration",
|
|
"OpenXRInteractionProfile",
|
|
"OpenXRIPBinding",
|
|
"OpenXRIPBindingModifier",
|
|
"OptimizedTranslation",
|
|
"ORMMaterial3D",
|
|
"PackedDataContainer",
|
|
"PackedScene",
|
|
"PanoramaSkyMaterial",
|
|
"ParticleProcessMaterial",
|
|
"PhysicalSkyMaterial",
|
|
"PhysicsMaterial",
|
|
"PlaceholderCubemap",
|
|
"PlaceholderCubemapArray",
|
|
"PlaceholderMaterial",
|
|
"PlaceholderMesh",
|
|
"PlaceholderTexture2D",
|
|
"PlaceholderTexture2DArray",
|
|
"PlaceholderTexture3D",
|
|
"PlaceholderTextureLayered",
|
|
"PlaneMesh",
|
|
"PointMesh",
|
|
"PolygonOccluder3D",
|
|
"PolygonPathFinder",
|
|
"PortableCompressedTexture2D",
|
|
"PrimitiveMesh",
|
|
"PrismMesh",
|
|
"ProceduralSkyMaterial",
|
|
"QuadMesh",
|
|
"QuadOccluder3D",
|
|
"RDShaderFile",
|
|
"RDShaderSPIRV",
|
|
"RectangleShape2D",
|
|
"RibbonTrailMesh",
|
|
"RichTextEffect",
|
|
"SceneReplicationConfig",
|
|
"Script",
|
|
"ScriptExtension",
|
|
"SegmentShape2D",
|
|
"SeparationRayShape2D",
|
|
"SeparationRayShape3D",
|
|
"Shader",
|
|
"ShaderInclude",
|
|
"ShaderMaterial",
|
|
"Shape2D",
|
|
"Shape3D",
|
|
"Shortcut",
|
|
"SkeletonModification2D",
|
|
"SkeletonModification2DCCDIK",
|
|
"SkeletonModification2DFABRIK",
|
|
"SkeletonModification2DJiggle",
|
|
"SkeletonModification2DLookAt",
|
|
"SkeletonModification2DPhysicalBones",
|
|
"SkeletonModification2DStackHolder",
|
|
"SkeletonModification2DTwoBoneIK",
|
|
"SkeletonModificationStack2D",
|
|
"SkeletonProfile",
|
|
"SkeletonProfileHumanoid",
|
|
"Skin",
|
|
"Sky",
|
|
"SphereMesh",
|
|
"SphereOccluder3D",
|
|
"SphereShape3D",
|
|
"SpriteFrames",
|
|
"StandardMaterial3D",
|
|
"StyleBox",
|
|
"StyleBoxEmpty",
|
|
"StyleBoxFlat",
|
|
"StyleBoxLine",
|
|
"StyleBoxTexture",
|
|
"SyntaxHighlighter",
|
|
"SystemFont",
|
|
"TextMesh",
|
|
"Texture",
|
|
"Texture2D",
|
|
"Texture2DArray",
|
|
"Texture2DArrayRD",
|
|
"Texture2DRD",
|
|
"Texture3D",
|
|
"Texture3DRD",
|
|
"TextureCubemapArrayRD",
|
|
"TextureCubemapRD",
|
|
"TextureLayered",
|
|
"TextureLayeredRD",
|
|
"Theme",
|
|
"TileMapPattern",
|
|
"TileSet",
|
|
"TileSetAtlasSource",
|
|
"TileSetScenesCollectionSource",
|
|
"TileSetSource",
|
|
"TorusMesh",
|
|
"Translation",
|
|
"TubeTrailMesh",
|
|
"VideoStream",
|
|
"VideoStreamPlayback",
|
|
"VideoStreamTheora",
|
|
"ViewportTexture",
|
|
"VisualShader",
|
|
"VisualShaderNode",
|
|
"VisualShaderNodeBillboard",
|
|
"VisualShaderNodeBooleanConstant",
|
|
"VisualShaderNodeBooleanParameter",
|
|
"VisualShaderNodeClamp",
|
|
"VisualShaderNodeColorConstant",
|
|
"VisualShaderNodeColorFunc",
|
|
"VisualShaderNodeColorOp",
|
|
"VisualShaderNodeColorParameter",
|
|
"VisualShaderNodeComment",
|
|
"VisualShaderNodeCompare",
|
|
"VisualShaderNodeConstant",
|
|
"VisualShaderNodeCubemap",
|
|
"VisualShaderNodeCubemapParameter",
|
|
"VisualShaderNodeCurveTexture",
|
|
"VisualShaderNodeCurveXYZTexture",
|
|
"VisualShaderNodeCustom",
|
|
"VisualShaderNodeDerivativeFunc",
|
|
"VisualShaderNodeDeterminant",
|
|
"VisualShaderNodeDistanceFade",
|
|
"VisualShaderNodeDotProduct",
|
|
"VisualShaderNodeExpression",
|
|
"VisualShaderNodeFaceForward",
|
|
"VisualShaderNodeFloatConstant",
|
|
"VisualShaderNodeFloatFunc",
|
|
"VisualShaderNodeFloatOp",
|
|
"VisualShaderNodeFloatParameter",
|
|
"VisualShaderNodeFrame",
|
|
"VisualShaderNodeFresnel",
|
|
"VisualShaderNodeGlobalExpression",
|
|
"VisualShaderNodeGroupBase",
|
|
"VisualShaderNodeIf",
|
|
"VisualShaderNodeInput",
|
|
"VisualShaderNodeIntConstant",
|
|
"VisualShaderNodeIntFunc",
|
|
"VisualShaderNodeIntOp",
|
|
"VisualShaderNodeIntParameter",
|
|
"VisualShaderNodeIs",
|
|
"VisualShaderNodeLinearSceneDepth",
|
|
"VisualShaderNodeMix",
|
|
"VisualShaderNodeMultiplyAdd",
|
|
"VisualShaderNodeOuterProduct",
|
|
"VisualShaderNodeOutput",
|
|
"VisualShaderNodeParameter",
|
|
"VisualShaderNodeParameterRef",
|
|
"VisualShaderNodeParticleAccelerator",
|
|
"VisualShaderNodeParticleBoxEmitter",
|
|
"VisualShaderNodeParticleConeVelocity",
|
|
"VisualShaderNodeParticleEmit",
|
|
"VisualShaderNodeParticleEmitter",
|
|
"VisualShaderNodeParticleMeshEmitter",
|
|
"VisualShaderNodeParticleMultiplyByAxisAngle",
|
|
"VisualShaderNodeParticleOutput",
|
|
"VisualShaderNodeParticleRandomness",
|
|
"VisualShaderNodeParticleRingEmitter",
|
|
"VisualShaderNodeParticleSphereEmitter",
|
|
"VisualShaderNodeProximityFade",
|
|
"VisualShaderNodeRandomRange",
|
|
"VisualShaderNodeRemap",
|
|
"VisualShaderNodeReroute",
|
|
"VisualShaderNodeResizableBase",
|
|
"VisualShaderNodeRotationByAxis",
|
|
"VisualShaderNodeSample3D",
|
|
"VisualShaderNodeScreenNormalWorldSpace",
|
|
"VisualShaderNodeScreenUVToSDF",
|
|
"VisualShaderNodeSDFRaymarch",
|
|
"VisualShaderNodeSDFToScreenUV",
|
|
"VisualShaderNodeSmoothStep",
|
|
"VisualShaderNodeStep",
|
|
"VisualShaderNodeSwitch",
|
|
"VisualShaderNodeTexture",
|
|
"VisualShaderNodeTexture2DArray",
|
|
"VisualShaderNodeTexture2DArrayParameter",
|
|
"VisualShaderNodeTexture2DParameter",
|
|
"VisualShaderNodeTexture3D",
|
|
"VisualShaderNodeTexture3DParameter",
|
|
"VisualShaderNodeTextureParameter",
|
|
"VisualShaderNodeTextureParameterTriplanar",
|
|
"VisualShaderNodeTextureSDF",
|
|
"VisualShaderNodeTextureSDFNormal",
|
|
"VisualShaderNodeTransformCompose",
|
|
"VisualShaderNodeTransformConstant",
|
|
"VisualShaderNodeTransformDecompose",
|
|
"VisualShaderNodeTransformFunc",
|
|
"VisualShaderNodeTransformOp",
|
|
"VisualShaderNodeTransformParameter",
|
|
"VisualShaderNodeTransformVecMult",
|
|
"VisualShaderNodeUIntConstant",
|
|
"VisualShaderNodeUIntFunc",
|
|
"VisualShaderNodeUIntOp",
|
|
"VisualShaderNodeUIntParameter",
|
|
"VisualShaderNodeUVFunc",
|
|
"VisualShaderNodeUVPolarCoord",
|
|
"VisualShaderNodeVarying",
|
|
"VisualShaderNodeVaryingGetter",
|
|
"VisualShaderNodeVaryingSetter",
|
|
"VisualShaderNodeVec2Constant",
|
|
"VisualShaderNodeVec2Parameter",
|
|
"VisualShaderNodeVec3Constant",
|
|
"VisualShaderNodeVec3Parameter",
|
|
"VisualShaderNodeVec4Constant",
|
|
"VisualShaderNodeVec4Parameter",
|
|
"VisualShaderNodeVectorBase",
|
|
"VisualShaderNodeVectorCompose",
|
|
"VisualShaderNodeVectorDecompose",
|
|
"VisualShaderNodeVectorDistance",
|
|
"VisualShaderNodeVectorFunc",
|
|
"VisualShaderNodeVectorLen",
|
|
"VisualShaderNodeVectorOp",
|
|
"VisualShaderNodeVectorRefract",
|
|
"VisualShaderNodeWorldPositionFromDepth",
|
|
"VoxelGIData",
|
|
"World2D",
|
|
"World3D",
|
|
"WorldBoundaryShape2D",
|
|
"WorldBoundaryShape3D",
|
|
"X509Certificate",
|
|
# Other objects
|
|
"Object",
|
|
"AESContext",
|
|
"AStar2D",
|
|
"AStar3D",
|
|
"AStarGrid2D",
|
|
"AudioEffectInstance",
|
|
"AudioEffectSpectrumAnalyzerInstance",
|
|
"AudioSample",
|
|
"AudioSamplePlayback",
|
|
"AudioServer",
|
|
"AudioStreamGeneratorPlayback",
|
|
"AudioStreamPlayback",
|
|
"AudioStreamPlaybackInteractive",
|
|
"AudioStreamPlaybackOggVorbis",
|
|
"AudioStreamPlaybackPlaylist",
|
|
"AudioStreamPlaybackPolyphonic",
|
|
"AudioStreamPlaybackResampled",
|
|
"AudioStreamPlaybackSynchronized",
|
|
"CallbackTweener",
|
|
"CameraFeed",
|
|
"CameraServer",
|
|
"CharFXTransform",
|
|
"ClassDB",
|
|
"ConfigFile",
|
|
"Crypto",
|
|
"DirAccess",
|
|
"DisplayServer",
|
|
"DTLSServer",
|
|
"EditorContextMenuPlugin",
|
|
"EditorDebuggerPlugin",
|
|
"EditorDebuggerSession",
|
|
"EditorExportPlatform",
|
|
"EditorExportPlatformAndroid",
|
|
"EditorExportPlatformExtension",
|
|
"EditorExportPlatformIOS",
|
|
"EditorExportPlatformLinuxBSD",
|
|
"EditorExportPlatformMacOS",
|
|
"EditorExportPlatformPC",
|
|
"EditorExportPlatformWeb",
|
|
"EditorExportPlatformWindows",
|
|
"EditorExportPlugin",
|
|
"EditorExportPreset",
|
|
"EditorFeatureProfile",
|
|
"EditorFileSystemDirectory",
|
|
"EditorFileSystemImportFormatSupportQuery",
|
|
"EditorImportPlugin",
|
|
"EditorInspectorPlugin",
|
|
"EditorInterface",
|
|
"EditorNode3DGizmo",
|
|
"EditorPaths",
|
|
"EditorResourceConversionPlugin",
|
|
"EditorResourcePreviewGenerator",
|
|
"EditorResourceTooltipPlugin",
|
|
"EditorSceneFormatImporter",
|
|
"EditorSceneFormatImporterBlend",
|
|
"EditorSceneFormatImporterFBX2GLTF",
|
|
"EditorSceneFormatImporterGLTF",
|
|
"EditorSceneFormatImporterUFBX",
|
|
"EditorScenePostImport",
|
|
"EditorScenePostImportPlugin",
|
|
"EditorScript",
|
|
"EditorSelection",
|
|
"EditorTranslationParserPlugin",
|
|
"EditorUndoRedoManager",
|
|
"EditorVCSInterface",
|
|
"EncodedObjectAsID",
|
|
"ENetConnection",
|
|
"ENetMultiplayerPeer",
|
|
"ENetPacketPeer",
|
|
"Engine",
|
|
"EngineDebugger",
|
|
"EngineProfiler",
|
|
"Expression",
|
|
"FileAccess",
|
|
"FramebufferCacheRD",
|
|
"GDExtensionManager",
|
|
"Geometry2D",
|
|
"Geometry3D",
|
|
"GLTFObjectModelProperty",
|
|
"HashingContext",
|
|
"HMACContext",
|
|
"HTTPClient",
|
|
"ImageFormatLoader",
|
|
"ImageFormatLoaderExtension",
|
|
"Input",
|
|
"InputMap",
|
|
"IntervalTweener",
|
|
"IP",
|
|
"JavaClass",
|
|
"JavaClassWrapper",
|
|
"JavaObject",
|
|
"JavaScriptBridge",
|
|
"JavaScriptObject",
|
|
"JNISingleton",
|
|
"JSONRPC",
|
|
"KinematicCollision2D",
|
|
"KinematicCollision3D",
|
|
"Lightmapper",
|
|
"LightmapperRD",
|
|
"MainLoop",
|
|
"Marshalls",
|
|
"MeshConvexDecompositionSettings",
|
|
"MeshDataTool",
|
|
"MethodTweener",
|
|
"MobileVRInterface",
|
|
"MovieWriter",
|
|
"MultiplayerAPI",
|
|
"MultiplayerAPIExtension",
|
|
"MultiplayerPeer",
|
|
"MultiplayerPeerExtension",
|
|
"Mutex",
|
|
"NativeMenu",
|
|
"NavigationMeshGenerator",
|
|
"NavigationPathQueryParameters2D",
|
|
"NavigationPathQueryParameters3D",
|
|
"NavigationPathQueryResult2D",
|
|
"NavigationPathQueryResult3D",
|
|
"NavigationServer2D",
|
|
"NavigationServer3D",
|
|
"Node",
|
|
"Node3DGizmo",
|
|
"OfflineMultiplayerPeer",
|
|
"OggPacketSequencePlayback",
|
|
"OpenXRAPIExtension",
|
|
"OpenXRExtensionWrapperExtension",
|
|
"OpenXRInteractionProfileMetadata",
|
|
"OpenXRInterface",
|
|
"OS",
|
|
"PackedDataContainerRef",
|
|
"PacketPeer",
|
|
"PacketPeerDTLS",
|
|
"PacketPeerExtension",
|
|
"PacketPeerStream",
|
|
"PacketPeerUDP",
|
|
"PCKPacker",
|
|
"Performance",
|
|
"PhysicsDirectBodyState2D",
|
|
"PhysicsDirectBodyState2DExtension",
|
|
"PhysicsDirectBodyState3D",
|
|
"PhysicsDirectBodyState3DExtension",
|
|
"PhysicsDirectSpaceState2D",
|
|
"PhysicsDirectSpaceState2DExtension",
|
|
"PhysicsDirectSpaceState3D",
|
|
"PhysicsDirectSpaceState3DExtension",
|
|
"PhysicsPointQueryParameters2D",
|
|
"PhysicsPointQueryParameters3D",
|
|
"PhysicsRayQueryParameters2D",
|
|
"PhysicsRayQueryParameters3D",
|
|
"PhysicsServer2D",
|
|
"PhysicsServer2DExtension",
|
|
"PhysicsServer2DManager",
|
|
"PhysicsServer3D",
|
|
"PhysicsServer3DExtension",
|
|
"PhysicsServer3DManager",
|
|
"PhysicsServer3DRenderingServerHandler",
|
|
"PhysicsShapeQueryParameters2D",
|
|
"PhysicsShapeQueryParameters3D",
|
|
"PhysicsTestMotionParameters2D",
|
|
"PhysicsTestMotionParameters3D",
|
|
"PhysicsTestMotionResult2D",
|
|
"PhysicsTestMotionResult3D",
|
|
"ProjectSettings",
|
|
"PropertyTweener",
|
|
"RandomNumberGenerator",
|
|
"RDAttachmentFormat",
|
|
"RDFramebufferPass",
|
|
"RDPipelineColorBlendState",
|
|
"RDPipelineColorBlendStateAttachment",
|
|
"RDPipelineDepthStencilState",
|
|
"RDPipelineMultisampleState",
|
|
"RDPipelineRasterizationState",
|
|
"RDPipelineSpecializationConstant",
|
|
"RDSamplerState",
|
|
"RDShaderSource",
|
|
"RDTextureFormat",
|
|
"RDTextureView",
|
|
"RDUniform",
|
|
"RDVertexAttribute",
|
|
"RefCounted",
|
|
"RegEx",
|
|
"RegExMatch",
|
|
"RenderData",
|
|
"RenderDataExtension",
|
|
"RenderDataRD",
|
|
"RenderingDevice",
|
|
"RenderingServer",
|
|
"RenderSceneBuffers",
|
|
"RenderSceneBuffersConfiguration",
|
|
"RenderSceneBuffersExtension",
|
|
"RenderSceneBuffersRD",
|
|
"RenderSceneData",
|
|
"RenderSceneDataExtension",
|
|
"RenderSceneDataRD",
|
|
"Resource",
|
|
"ResourceFormatLoader",
|
|
"ResourceFormatSaver",
|
|
"ResourceImporter",
|
|
"ResourceImporterBitMap",
|
|
"ResourceImporterBMFont",
|
|
"ResourceImporterCSVTranslation",
|
|
"ResourceImporterDynamicFont",
|
|
"ResourceImporterImage",
|
|
"ResourceImporterImageFont",
|
|
"ResourceImporterLayeredTexture",
|
|
"ResourceImporterMP3",
|
|
"ResourceImporterOBJ",
|
|
"ResourceImporterOggVorbis",
|
|
"ResourceImporterScene",
|
|
"ResourceImporterShaderFile",
|
|
"ResourceImporterTexture",
|
|
"ResourceImporterTextureAtlas",
|
|
"ResourceImporterWAV",
|
|
"ResourceLoader",
|
|
"ResourceSaver",
|
|
"ResourceUID",
|
|
"SceneMultiplayer",
|
|
"SceneState",
|
|
"SceneTree",
|
|
"SceneTreeTimer",
|
|
"ScriptLanguage",
|
|
"ScriptLanguageExtension",
|
|
"Semaphore",
|
|
"ShaderIncludeDB",
|
|
"SkinReference",
|
|
"StreamPeer",
|
|
"StreamPeerBuffer",
|
|
"StreamPeerExtension",
|
|
"StreamPeerGZIP",
|
|
"StreamPeerTCP",
|
|
"StreamPeerTLS",
|
|
"SubtweenTweener",
|
|
"SurfaceTool",
|
|
"TCPServer",
|
|
"TextLine",
|
|
"TextParagraph",
|
|
"TextServer",
|
|
"TextServerAdvanced",
|
|
"TextServerDummy",
|
|
"TextServerExtension",
|
|
"TextServerFallback",
|
|
"TextServerManager",
|
|
"ThemeDB",
|
|
"Thread",
|
|
"TileData",
|
|
"Time",
|
|
"TLSOptions",
|
|
"TranslationDomain",
|
|
"TranslationServer",
|
|
"TreeItem",
|
|
"TriangleMesh",
|
|
"Tween",
|
|
"Tweener",
|
|
"UDPServer",
|
|
"UndoRedo",
|
|
"UniformSetCacheRD",
|
|
"UPNP",
|
|
"UPNPDevice",
|
|
"WeakRef",
|
|
"WebRTCDataChannel",
|
|
"WebRTCDataChannelExtension",
|
|
"WebRTCMultiplayerPeer",
|
|
"WebRTCPeerConnection",
|
|
"WebRTCPeerConnectionExtension",
|
|
"WebSocketMultiplayerPeer",
|
|
"WebSocketPeer",
|
|
"WebXRInterface",
|
|
"WorkerThreadPool",
|
|
"XMLParser",
|
|
"XRBodyTracker",
|
|
"XRControllerTracker",
|
|
"XRFaceTracker",
|
|
"XRHandTracker",
|
|
"XRInterface",
|
|
"XRInterfaceExtension",
|
|
"XRPose",
|
|
"XRPositionalTracker",
|
|
"XRServer",
|
|
"XRTracker",
|
|
"XRVRS",
|
|
"ZIPPacker",
|
|
"ZIPReader",
|
|
# Editor-only
|
|
"EditorCommandPalette",
|
|
"EditorContextMenuPlugin",
|
|
"EditorDebuggerPlugin",
|
|
"EditorDebuggerSession",
|
|
"EditorExportPlatform",
|
|
"EditorExportPlatformAndroid",
|
|
"EditorExportPlatformExtension",
|
|
"EditorExportPlatformIOS",
|
|
"EditorExportPlatformLinuxBSD",
|
|
"EditorExportPlatformMacOS",
|
|
"EditorExportPlatformPC",
|
|
"EditorExportPlatformWeb",
|
|
"EditorExportPlatformWindows",
|
|
"EditorExportPlugin",
|
|
"EditorExportPreset",
|
|
"EditorFeatureProfile",
|
|
"EditorFileDialog",
|
|
"EditorFileSystem",
|
|
"EditorFileSystemDirectory",
|
|
"EditorFileSystemImportFormatSupportQuery",
|
|
"EditorImportPlugin",
|
|
"EditorInspector",
|
|
"EditorInspectorPlugin",
|
|
"EditorInterface",
|
|
"EditorNode3DGizmo",
|
|
"EditorNode3DGizmoPlugin",
|
|
"EditorPaths",
|
|
"EditorPlugin",
|
|
"EditorProperty",
|
|
"EditorResourceConversionPlugin",
|
|
"EditorResourcePicker",
|
|
"EditorResourcePreview",
|
|
"EditorResourcePreviewGenerator",
|
|
"EditorResourceTooltipPlugin",
|
|
"EditorSceneFormatImporter",
|
|
"EditorSceneFormatImporterBlend",
|
|
"EditorSceneFormatImporterFBX2GLTF",
|
|
"EditorSceneFormatImporterGLTF",
|
|
"EditorSceneFormatImporterUFBX",
|
|
"EditorScenePostImport",
|
|
"EditorScenePostImportPlugin",
|
|
"EditorScript",
|
|
"EditorScriptPicker",
|
|
"EditorSelection",
|
|
"EditorSettings",
|
|
"EditorSpinSlider",
|
|
"EditorSyntaxHighlighter",
|
|
"EditorToaster",
|
|
"EditorTranslationParserPlugin",
|
|
"EditorUndoRedoManager",
|
|
"EditorVCSInterface",
|
|
"FileSystemDock",
|
|
"ScriptCreateDialog",
|
|
"ScriptEditor",
|
|
"ScriptEditorBase",
|
|
),
|
|
prefix=r"(?<!\.)",
|
|
suffix=r"\b",
|
|
),
|
|
Name.Builtin,
|
|
),
|
|
# NOTE: from github.com/godotengine/godot-docs
|
|
(
|
|
words(
|
|
(
|
|
# modules/gdscript/doc_classes/@GDScript.xml
|
|
"@abstract",
|
|
"@export",
|
|
"@export_category",
|
|
"@export_color_no_alpha",
|
|
"@export_custom",
|
|
"@export_dir",
|
|
"@export_enum",
|
|
"@export_exp_easing",
|
|
"@export_file",
|
|
"@export_file_path",
|
|
"@export_flags",
|
|
"@export_flags_2d_navigation",
|
|
"@export_flags_2d_physics",
|
|
"@export_flags_2d_render",
|
|
"@export_flags_3d_navigation",
|
|
"@export_flags_3d_physics",
|
|
"@export_flags_3d_render",
|
|
"@export_flags_avoidance",
|
|
"@export_global_dir",
|
|
"@export_global_file",
|
|
"@export_group",
|
|
"@export_multiline",
|
|
"@export_node_path",
|
|
"@export_placeholder",
|
|
"@export_range",
|
|
"@export_storage",
|
|
"@export_subgroup",
|
|
"@export_tool_button",
|
|
"@icon",
|
|
"@onready",
|
|
"@rpc",
|
|
"@static_unload",
|
|
"@tool",
|
|
"@warning_ignore",
|
|
"@warning_ignore_restore",
|
|
"@warning_ignore_start",
|
|
),
|
|
prefix=r"(?<!\.)",
|
|
suffix=r"\b",
|
|
),
|
|
Name.Decorator,
|
|
),
|
|
],
|
|
"operator": [
|
|
(
|
|
r"!=|==|<<|>>|&&|\+=|-=|\*=|/=|%=|&=|\|=|\|\||[-~+/*%=<>&^.!|$]",
|
|
Operator,
|
|
),
|
|
(r"(in|is|and|as|or|not)\b", Operator.Word),
|
|
],
|
|
"number": [
|
|
(r"([\d_]+\.[\d_]*|[\d_]*\.[\d_]+)([eE][+-]?[\d_]+)?", Number.Float),
|
|
(r"[\d_]+[eE][+-]?[\d_]+", Number.Float),
|
|
(r"0[xX][a-fA-F\d_]+", Number.Hex),
|
|
(r"(-)?0[bB]([01]|(?<=[01])_)+", Number.Bin),
|
|
(r"[\d_]+", Number.Integer),
|
|
],
|
|
"name": [(r"[a-zA-Z_]\w*", Name)],
|
|
"typehint": [
|
|
(r"[a-zA-Z_]\w*", Name.Class, "#pop"),
|
|
],
|
|
"string_escape": [
|
|
(
|
|
r'\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|'
|
|
r"U[a-fA-F0-9]{6}|x[a-fA-F0-9]{2}|[0-7]{1,3})",
|
|
String.Escape,
|
|
)
|
|
],
|
|
"string_single": inner_string_rules(String.Single),
|
|
"string_double": inner_string_rules(String.Double),
|
|
"string_other": inner_string_rules(String.Other),
|
|
"string_stringname": inner_string_rules(String.StringName),
|
|
"string_nodepath": inner_string_rules(String.NodePath),
|
|
"double_quotes": [
|
|
(r'"', String.Double, "#pop"),
|
|
(r'\\\\|\\"|\\\n', String.Escape), # included here for raw strings
|
|
include("string_double"),
|
|
],
|
|
"single_quotes": [
|
|
(r"'", String.Single, "#pop"),
|
|
(r"\\\\|\\'|\\\n", String.Escape), # included here for raw strings
|
|
include("string_single"),
|
|
],
|
|
"triple_double_quotes": [
|
|
(r'"""', String.Double, "#pop"),
|
|
include("string_double"),
|
|
include("whitespace"),
|
|
],
|
|
"triple_single_quotes": [
|
|
(r"'''", String.Single, "#pop"),
|
|
include("string_single"),
|
|
include("whitespace"),
|
|
],
|
|
"node_reference": [
|
|
(r'[\$%]"', String.Other, include("node_reference_double")),
|
|
(r"[\$%]'", String.Other, include("node_reference_single")),
|
|
(r"[\$%][A-Za-z_][\w/]*/?", String.Other),
|
|
],
|
|
"node_reference_double": [
|
|
(r'"', String.Other, "#pop"),
|
|
include("string_other"),
|
|
],
|
|
"node_reference_single": [
|
|
(r"'", String.Other, "#pop"),
|
|
include("string_other"),
|
|
],
|
|
"stringname": [
|
|
(r'[&]"', String.StringName, include("stringname_double")),
|
|
(r"[&]'", String.StringName, include("stringname_single")),
|
|
],
|
|
"stringname_double": [
|
|
(r'"', String.StringName, "#pop"),
|
|
include("string_stringname"),
|
|
],
|
|
"stringname_single": [
|
|
(r"'", String.StringName, "#pop"),
|
|
include("string_stringname"),
|
|
],
|
|
"nodepath": [
|
|
(r'[\^]"', String.NodePath, include("nodepath_double")),
|
|
(r"[\^]'", String.NodePath, include("nodepath_single")),
|
|
],
|
|
"nodepath_double": [
|
|
(r'"', String.NodePath, "#pop"),
|
|
include("string_nodepath"),
|
|
],
|
|
"nodepath_single": [
|
|
(r"'", String.NodePath, "#pop"),
|
|
include("string_nodepath"),
|
|
],
|
|
"function_name": [(r"[a-zA-Z_]\w*", Name.Function.Declaration, "#pop")],
|
|
"enum_name": [(r"[a-zA-Z_]\w*", Name, "#pop")],
|
|
"function": [
|
|
(r"\b([a-zA-Z_]\w*)\s*(?=\()", Name.Function),
|
|
(
|
|
# colored like functions, even without braces
|
|
words(("set", "get",), suffix=r"\b", ),
|
|
Name.Function,
|
|
),
|
|
],
|
|
|
|
#######################################################################
|
|
# LEXER ENTRY POINT
|
|
#######################################################################
|
|
"root": [
|
|
include("whitespace"),
|
|
include("comment"),
|
|
include("punctuation"),
|
|
include("builtin"),
|
|
# strings
|
|
include("stringname"),
|
|
include("nodepath"),
|
|
include("node_reference"),
|
|
(
|
|
'(r)(""")',
|
|
bygroups(String.Affix, String.Double),
|
|
"triple_double_quotes",
|
|
),
|
|
(
|
|
"(r)(''')",
|
|
bygroups(String.Affix, String.Single),
|
|
"triple_single_quotes",
|
|
),
|
|
(
|
|
'(r)(")',
|
|
bygroups(String.Affix, String.Double),
|
|
"double_quotes",
|
|
),
|
|
(
|
|
"(r)(')",
|
|
bygroups(String.Affix, String.Single),
|
|
"single_quotes",
|
|
),
|
|
(
|
|
'(r?)(""")',
|
|
bygroups(String.Affix, String.Double),
|
|
combined("string_escape", "triple_double_quotes"),
|
|
),
|
|
(
|
|
"(r?)(''')",
|
|
bygroups(String.Affix, String.Single),
|
|
combined("string_escape", "triple_single_quotes"),
|
|
),
|
|
(
|
|
'(r?)(")',
|
|
bygroups(String.Affix, String.Double),
|
|
combined("string_escape", "double_quotes"),
|
|
),
|
|
(
|
|
"(r?)(')",
|
|
bygroups(String.Affix, String.Single),
|
|
combined("string_escape", "single_quotes"),
|
|
),
|
|
# consider Name after a . as instance/members variables
|
|
(r"(?<!\.)(\.)([a-zA-Z_]\w*)\b(?!\s*\()", bygroups(Operator, Name.Variable.Instance)),
|
|
include("operator"),
|
|
# Lookahead to not match the start of function_name to dodge errors on nameless lambdas
|
|
(r"(func)(\s+)(?=[a-zA-Z_])", bygroups(Keyword, Whitespace), "function_name"),
|
|
(r"(enum)(\s+)(?=[a-zA-Z_])", bygroups(Keyword, Whitespace), "enum_name"),
|
|
include("keyword"),
|
|
include("function"),
|
|
# NOTE:
|
|
# This matches all PascalCase as a class. If this raises issues
|
|
# please report it.
|
|
# see: https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html#naming-conventions
|
|
#(r"\s*([A-Z][a-zA-Z0-9_]*)", Name.Class),
|
|
# Only PascalCase, but exclude SCREAMING_SNAKE for constants
|
|
(r"\b([A-Z][a-z0-9]+(?:[A-Z][a-z0-9]+)*)\b", Name.Class),
|
|
include("name"),
|
|
include("number"),
|
|
],
|
|
}
|
|
|
|
|
|
def setup(sphinx):
|
|
sphinx.add_lexer("gdscript", GDScriptLexer)
|
|
|
|
return {
|
|
"parallel_read_safe": True,
|
|
"parallel_write_safe": True,
|
|
}
|