diff --git a/_extensions/gdscript.py b/_extensions/gdscript.py index 1dac79fd0e7..14bd2fff8b8 100644 --- a/_extensions/gdscript.py +++ b/_extensions/gdscript.py @@ -12,6 +12,7 @@ further expanded and consolidated with the godot-docs lexer by Zackery R. Smith and Ste. """ +import re from pygments.lexer import RegexLexer, include, bygroups, words, combined from pygments.token import ( Keyword, @@ -39,6 +40,55 @@ class GDScriptLexer(RegexLexer): filenames = ["*.gd"] mimetypes = ["text/x-gdscript", "application/x-gdscript"] + @staticmethod + def get_classes(directory: str) -> tuple[str]: + classes = [] + with open(f"{directory}/index.rst", "r", encoding="utf-8") as file: + lines = file.readlines() + + inside_toctree = False + inside_toctree_body = False + skip_this_block = False + + for i, line in enumerate(lines): + stripped = line.strip() + + if stripped.startswith(".. toctree::"): + inside_toctree = True + skip_this_block = False + inside_toctree_body = False + continue + + if not inside_toctree: + continue + + if stripped.startswith(":name:"): + name = stripped.split(":", 2)[-1].strip() + if name in ["toc-class-ref-variants", "toc-class-ref-globals"]: + skip_this_block = True + continue + + if skip_this_block or stripped.startswith(":"): + continue + + # Avoid skipping the empty line right before the body of the toc + if not inside_toctree_body and stripped == "": + inside_toctree_body = True + continue + + if not line.startswith(" ") or stripped.startswith(".. "): + inside_toctree = False + continue + + if stripped.startswith("class_"): + # Since everything is lowercase in the index, get the actual casing from the file + with open(f"{directory}/{stripped}.rst", "r", encoding="utf-8") as class_file: + for class_line in class_file: + match = re.match(r"_class_(\w+):", class_line) + if match: + classes.append(match.group(1)) + return tuple(classes) + # taken from pygments/gdscript.py @staticmethod def inner_string_rules(ttype): @@ -336,1023 +386,7 @@ def inner_string_rules(ttype): # 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", - ), + get_classes("./classes/"), prefix=r"(?