1. <lexer>
    
  2.   <config>
    
  3.     <name>GDScript</name>
    
  4.     <alias>gdscript</alias>
    
  5.     <alias>gd</alias>
    
  6.     <filename>*.gd</filename>
    
  7.     <mime_type>text/x-gdscript</mime_type>
    
  8.     <mime_type>application/x-gdscript</mime_type>
    
  9.     <priority>0.1</priority>
    
  10.     <analyse>
    
  11.       <regex pattern="^export" score="0.1"/>
    
  12.     </analyse>
    
  13.   </config>
    
  14.   <rules>
    
  15.     <state name="dqs">
    
  16.       <rule pattern="&#34;">
    
  17.         <token type="LiteralStringDouble"/>
    
  18.         <pop depth="1"/>
    
  19.       </rule>
    
  20.       <rule>
    
  21.         <include state="strings_double"/>
    
  22.       </rule>
    
  23.     </state>
    
  24.     <state name="tdqs">
    
  25.       <rule pattern="&#34;&#34;&#34;">
    
  26.         <token type="LiteralStringDouble"/>
    
  27.         <pop depth="1"/>
    
  28.       </rule>
    
  29.       <rule>
    
  30.         <include state="strings_double"/>
    
  31.       </rule>
    
  32.     </state>
    
  33.     <state name="keywords">
    
  34.       <rule pattern="(?&lt;!\w)(PI|TAU|NAN|INF|true|false)\b">
    
  35.         <token type="KeywordConstant"/>
    
  36.       </rule>
    
  37.       <rule pattern="(?&lt;!\w)(is|in|as|not|or|and)\b">
    
  38.         <token type="OperatorWord"/>
    
  39.       </rule>
    
  40.       <rule pattern="(?&lt;!\w)(var|const|enum|signal|static)\b">
    
  41.         <token type="KeywordDeclaration"/>
    
  42.       </rule>
    
  43.       <rule pattern="(?&lt;!\w)(if|elif|else|for|while|match|break|continue|pass|return|breakpoint|await|yield|super)\b">
    
  44.         <token type="Keyword"/>
    
  45.       </rule>
    
  46.       <rule pattern="(?&lt;!\w)(self)\b">
    
  47.         <token type="NameBuiltinPseudo"/>
    
  48.       </rule>
    
  49.     </state>
    
  50.     <state name="builtin_funcs">
    
  51.       <rule pattern="(?&lt;!\w)(assert|char|convert|dict_to_inst|get_stack|inst_to_dict|is_instance_of|len|load|preload|print_debug|print_stack|range|type_exists)\b">
    
  52.         <token type="NameBuiltin"/>
    
  53.       </rule>
    
  54.       <rule pattern="(?&lt;!\w)(abs[fi]?|acos|asin|atan2?|bezier_(derivative|interpolate)|bytes_to_var(_with_objects)?|ceil[fi]?|clamp[fi]?|cosh?|cubic_interpolate(_angle)?(_in_time)?|db_to_linear|deg_to_rad|ease|error_string|exp|floor[fi]?|fmod|fposmod|hash|instance_from_id|inverse_lerp|is_equal_approx|is_finite|is_instance(_id)?_valid|is_nan|is_same|is_zero_approx|lerp|lerp_angle|lerpf|linear_to_db|log|max[fi]?|min[fi]?|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|round[fi]?|seed|sign[fi]?|sinh?|smoothstep|snapped[fi]?|sqrt|step_decimals|str|str_to_var|tanh?|typeof|var_to_bytes(_with_objects)?|var_to_str|weakref|wrap[fi]?)\b">
    
  55.         <token type="NameBuiltin"/>
    
  56.       </rule>
    
  57.     </state>
    
  58.     <state name="tsqs">
    
  59.       <rule pattern="&#39;&#39;&#39;">
    
  60.         <token type="LiteralStringSingle"/>
    
  61.         <pop depth="1"/>
    
  62.       </rule>
    
  63.       <rule>
    
  64.         <include state="strings_single"/>
    
  65.       </rule>
    
  66.     </state>
    
  67.     <state name="strings_single">
    
  68.       <rule>
    
  69.         <include state="strings"/>
    
  70.       </rule>
    
  71.       <rule pattern="\{[^\\\&#39;\n]+\}">
    
  72.         <token type="LiteralStringInterpol"/>
    
  73.       </rule>
    
  74.       <rule pattern="[^\\\&#39;\{%]+">
    
  75.         <token type="LiteralStringSingle"/>
    
  76.       </rule>
    
  77.       <rule pattern="%">
    
  78.         <token type="LiteralStringSingle"/>
    
  79.       </rule>
    
  80.       <rule pattern="{">
    
  81.         <token type="LiteralStringSingle"/>
    
  82.       </rule>
    
  83.     </state>
    
  84.     <state name="funcname">
    
  85.       <rule pattern="[a-zA-Z_]\w*">
    
  86.         <token type="NameFunction"/>
    
  87.         <pop depth="1"/>
    
  88.       </rule>
    
  89.     </state>
    
  90.     <state name="numbers">
    
  91.       <rule pattern="(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?">
    
  92.         <token type="LiteralNumberFloat"/>
    
  93.       </rule>
    
  94.       <rule pattern="\d+[eE][+-]?[0-9]+">
    
  95.         <token type="LiteralNumberFloat"/>
    
  96.       </rule>
    
  97.       <rule pattern="0x[a-fA-F0-9]+">
    
  98.         <token type="LiteralNumberHex"/>
    
  99.       </rule>
    
  100.       <rule pattern="0b[01]+">
    
  101.         <token type="LiteralNumberBin"/>
    
  102.       </rule>
    
  103.       <rule pattern="\d+">
    
  104.         <token type="LiteralNumberInteger"/>
    
  105.       </rule>
    
  106.     </state>
    
  107.     <state name="sqs">
    
  108.       <rule pattern="&#39;">
    
  109.         <token type="LiteralStringSingle"/>
    
  110.         <pop depth="1"/>
    
  111.       </rule>
    
  112.       <rule>
    
  113.         <include state="strings_single"/>
    
  114.       </rule>
    
  115.     </state>
    
  116.     <state name="classname">
    
  117.       <rule pattern="[a-zA-Z_]\w*">
    
  118.         <token type="NameClass"/>
    
  119.         <pop depth="1"/>
    
  120.       </rule>
    
  121.     </state>
    
  122.     <state name="annotations">
    
  123.       <rule pattern="^\s*@export(_category|_color_no_alpha|_dir|_enum|_exp_easing|_file|_flags((_2d|_3d)(_navigation|_physics|_render)|_avoidance)?|_global(_file|_dir)|_group|_multiline|_node_path|_placeholder|_range|_subgroup)?">
    
  124.         <token type="NameDecorator"/>
    
  125.       </rule>
    
  126.       <rule pattern="^\s*@(icon|onready|rpc|tool|warning_ignore)">
    
  127.         <token type="NameDecorator"/>
    
  128.       </rule>
    
  129.     </state>
    
  130.     <state name="types">
    
  131.       <rule pattern="(?&lt;!\w)(null|void|bool|int|float)\b">
    
  132.         <token type="KeywordType"/>
    
  133.       </rule>
    
  134.       <rule pattern="(?&lt;!\w)(String(Name)?|NodePath|Vector[234]i?|Rect2|Transform[23]D|Plane|Quaternion|AABB|Basis|Color8?|RID|Object|(Packed(Byte|Int(32|64)|Float(32|64)|String|Vector(2|3)|Color))?Array|Dictionary|Signal|Callable)\b">
    
  135.         <token type="NameClass"/>
    
  136.       </rule>
    
  137.       <rule pattern="(?&lt;!\w)(Node|AcceptDialog|AnimatableBody2D|AnimatableBody3D|AnimatedSprite2D|AnimatedSprite3D|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|FileDialog|FileSystemDock|FlowContainer|FogVolume|Generic6DOFJoint3D|GeometryInstance3D|GPUParticles2D|GPUParticles3D|GPUParticlesAttractor3D|GPUParticlesAttractorBox3D|GPUParticlesAttractorSphere3D|GPUParticlesAttractorVectorField3D|GPUParticlesCollision3D|GPUParticlesCollisionBox3D|GPUParticlesCollisionHeightField3D|GPUParticlesCollisionSDF3D|GPUParticlesCollisionSphere3D|GraphEdit|GraphNode|GridContainer|GridMap|GrooveJoint2D|HBoxContainer|HFlowContainer|HingeJoint3D|HScrollBar|HSeparator|HSlider|HSplitContainer|HTTPRequest|ImporterMeshInstance3D|InstancePlaceholder|ItemList|Joint2D|Joint3D|Label|Label3D|Light2D|Light3D|LightmapGI|LightmapProbe|LightOccluder2D|Line2D|LineEdit|LinkButton|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|OpenXRHand|OptionButton|Panel|PanelContainer|ParallaxBackground|ParallaxLayer|Path2D|Path3D|PathFollow2D|PathFollow3D|PhysicalBone2D|PhysicalBone3D|PhysicsBody2D|PhysicsBody3D|PinJoint2D|PinJoint3D|PointLight2D|Polygon2D|Popup|PopupMenu|PopupPanel|ProgressBar|Range|RayCast2D|RayCast3D|ReferenceRect|ReflectionProbe|RemoteTransform2D|RemoteTransform3D|ResourcePreloader|RichTextLabel|RigidBody2D|RigidBody3D|RootMotionView|ScriptCreateDialog|ScriptEditor|ScriptEditorBase|ScrollBar|ScrollContainer|Separator|ShaderGlobalsOverride|ShapeCast2D|ShapeCast3D|Skeleton2D|Skeleton3D|SkeletonIK3D|Slider|SliderJoint3D|SoftBody3D|SpinBox|SplitContainer|SpotLight3D|SpringArm3D|Sprite2D|Sprite3D|SpriteBase3D|StaticBody2D|StaticBody3D|SubViewport|SubViewportContainer|TabBar|TabContainer|TextEdit|TextureButton|TextureProgressBar|TextureRect|TileMap|Timer|TouchScreenButton|Tree|VBoxContainer|VehicleBody3D|VehicleWheel3D|VFlowContainer|VideoStreamPlayer|Viewport|VisibleOnScreenEnabler2D|VisibleOnScreenEnabler3D|VisibleOnScreenNotifier2D|VisibleOnScreenNotifier3D|VisualInstance3D|VoxelGI|VScrollBar|VSeparator|VSlider|VSplitContainer|Window|WorldEnvironment|XRAnchor3D|XRCamera3D|XRController3D|XRNode3D|XROrigin3D)\b">
    
  138.         <token type="NameClass"/>
    
  139.       </rule>
    
  140.       <rule pattern="(?&lt;!\w)(Resource|AnimatedTexture|Animation|AnimationLibrary|AnimationNode|AnimationNodeAdd2|AnimationNodeAdd3|AnimationNodeAnimation|AnimationNodeBlend2|AnimationNodeBlend3|AnimationNodeBlendSpace1D|AnimationNodeBlendSpace2D|AnimationNodeBlendTree|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|AudioEffectHighPassFilter|AudioEffectHighShelfFilter|AudioEffectLimiter|AudioEffectLowPassFilter|AudioEffectLowShelfFilter|AudioEffectNotchFilter|AudioEffectPanner|AudioEffectPhaser|AudioEffectPitchShift|AudioEffectRecord|AudioEffectReverb|AudioEffectSpectrumAnalyzer|AudioEffectStereoEnhance|AudioStream|AudioStreamGenerator|AudioStreamMicrophone|AudioStreamMP3|AudioStreamOggVorbis|AudioStreamPolyphonic|AudioStreamRandomizer|AudioStreamWAV|BaseMaterial3D|BitMap|BoneMap|BoxMesh|BoxOccluder3D|BoxShape3D|ButtonGroup|CameraAttributes|CameraAttributesPhysical|CameraAttributesPractical|CameraTexture|CanvasItemMaterial|CanvasTexture|CapsuleMesh|CapsuleShape2D|CapsuleShape3D|CircleShape2D|CodeHighlighter|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|FastNoiseLite|FogMaterial|Font|FontFile|FontVariation|GDExtension|GDScript|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|NavigationMeshSourceGeometryData3D|NavigationPolygon|Noise|NoiseTexture2D|NoiseTexture3D|Occluder3D|OccluderPolygon2D|OggPacketSequence|OpenXRAction|OpenXRActionMap|OpenXRActionSet|OpenXRInteractionProfile|OpenXRIPBinding|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|Texture3D|TextureLayered|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|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|VisualShaderNodeResizableBase|VisualShaderNodeSample3D|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|VoxelGIData|World2D|World3D|WorldBoundaryShape2D|WorldBoundaryShape3D|X509Certificate)\b">
    
  141.         <token type="NameClass"/>
    
  142.       </rule>
    
  143.       <rule pattern="(?&lt;!\w)(Object|AESContext|AStar2D|AStar3D|AStarGrid2D|AudioEffectInstance|AudioEffectSpectrumAnalyzerInstance|AudioServer|AudioStreamGeneratorPlayback|AudioStreamPlayback|AudioStreamPlaybackOggVorbis|AudioStreamPlaybackPolyphonic|AudioStreamPlaybackResampled|CallbackTweener|CameraFeed|CameraServer|CharFXTransform|ClassDB|ConfigFile|Crypto|DirAccess|DisplayServer|DTLSServer|EditorDebuggerPlugin|EditorDebuggerSession|EditorExportPlatform|EditorExportPlatformAndroid|EditorExportPlatformIOS|EditorExportPlatformLinuxBSD|EditorExportPlatformMacOS|EditorExportPlatformPC|EditorExportPlatformWeb|EditorExportPlatformWindows|EditorExportPlugin|EditorFeatureProfile|EditorFileSystemDirectory|EditorFileSystemImportFormatSupportQuery|EditorImportPlugin|EditorInspectorPlugin|EditorInterface|EditorNode3DGizmo|EditorPaths|EditorResourceConversionPlugin|EditorResourcePreviewGenerator|EditorResourceTooltipPlugin|EditorSceneFormatImporter|EditorSceneFormatImporterBlend|EditorSceneFormatImporterFBX|EditorSceneFormatImporterGLTF|EditorScenePostImport|EditorScenePostImportPlugin|EditorScript|EditorSelection|EditorTranslationParserPlugin|EditorUndoRedoManager|EditorVCSInterface|EncodedObjectAsID|ENetConnection|ENetMultiplayerPeer|ENetPacketPeer|Engine|EngineDebugger|EngineProfiler|Expression|FileAccess|GDExtensionManager|Geometry2D|Geometry3D|GodotSharp|HashingContext|HMACContext|HTTPClient|ImageFormatLoader|ImageFormatLoaderExtension|Input|InputMap|IntervalTweener|IP|JavaClass|JavaClassWrapper|JavaScriptBridge|JavaScriptObject|JNISingleton|JSONRPC|KinematicCollision2D|KinematicCollision3D|Lightmapper|LightmapperRD|MainLoop|Marshalls|MeshConvexDecompositionSettings|MeshDataTool|MethodTweener|MobileVRInterface|MovieWriter|MultiplayerAPI|MultiplayerAPIExtension|MultiplayerPeer|MultiplayerPeerExtension|Mutex|NavigationMeshGenerator|NavigationPathQueryParameters2D|NavigationPathQueryParameters3D|NavigationPathQueryResult2D|NavigationPathQueryResult3D|NavigationServer2D|NavigationServer3D|Node|Node3DGizmo|OfflineMultiplayerPeer|OggPacketSequencePlayback|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|RenderingDevice|RenderingServer|Resource|ResourceFormatLoader|ResourceFormatSaver|ResourceImporter|ResourceLoader|ResourceSaver|ResourceUID|SceneMultiplayer|SceneState|SceneTree|SceneTreeTimer|ScriptLanguage|ScriptLanguageExtension|Semaphore|SkinReference|StreamPeer|StreamPeerBuffer|StreamPeerExtension|StreamPeerGZIP|StreamPeerTCP|StreamPeerTLS|SurfaceTool|TCPServer|TextLine|TextParagraph|TextServer|TextServerAdvanced|TextServerDummy|TextServerExtension|TextServerFallback|TextServerManager|ThemeDB|Thread|TileData|Time|TLSOptions|TranslationServer|TreeItem|TriangleMesh|Tween|Tweener|UDPServer|UndoRedo|UPNP|UPNPDevice|WeakRef|WebRTCDataChannel|WebRTCDataChannelExtension|WebRTCMultiplayerPeer|WebRTCPeerConnection|WebRTCPeerConnectionExtension|WebSocketMultiplayerPeer|WebSocketPeer|WebXRInterface|WorkerThreadPool|XMLParser|XRInterface|XRInterfaceExtension|XRPose|XRPositionalTracker|XRServer|ZIPPacker|ZIPReader)\b">
    
  144.         <token type="NameClass"/>
    
  145.       </rule>
    
  146.       <rule pattern="(?&lt;!\w)(EditorCommandPalette|EditorDebuggerPlugin|EditorDebuggerSession|EditorExportPlatform|EditorExportPlatformAndroid|EditorExportPlatformIOS|EditorExportPlatformLinuxBSD|EditorExportPlatformMacOS|EditorExportPlatformPC|EditorExportPlatformWeb|EditorExportPlatformWindows|EditorExportPlugin|EditorFeatureProfile|EditorFileDialog|EditorFileSystem|EditorFileSystemDirectory|EditorFileSystemImportFormatSupportQuery|EditorImportPlugin|EditorInspector|EditorInspectorPlugin|EditorInterface|EditorNode3DGizmo|EditorNode3DGizmoPlugin|EditorPaths|EditorPlugin|EditorProperty|EditorResourceConversionPlugin|EditorResourcePicker|EditorResourcePreview|EditorResourcePreviewGenerator|EditorResourceTooltipPlugin|EditorSceneFormatImporter|EditorSceneFormatImporterBlend|EditorSceneFormatImporterFBX|EditorSceneFormatImporterGLTF|EditorScenePostImport|EditorScenePostImportPlugin|EditorScript|EditorScriptPicker|EditorSelection|EditorSettings|EditorSpinSlider|EditorSyntaxHighlighter|EditorTranslationParserPlugin|EditorUndoRedoManager|EditorVCSInterface|FileSystemDock|ScriptCreateDialog|ScriptEditor|ScriptEditorBase)\b">
    
  147.         <token type="NameClass"/>
    
  148.       </rule>
    
  149.     </state>
    
  150.     <state name="strings_double">
    
  151.       <rule>
    
  152.         <include state="strings"/>
    
  153.       </rule>
    
  154.       <rule pattern="\{[^\\\&#34;\n]*\}">
    
  155.         <token type="LiteralStringInterpol"/>
    
  156.       </rule>
    
  157.       <rule pattern="[^\\\&#34;\{%]+">
    
  158.         <token type="LiteralStringDouble"/>
    
  159.       </rule>
    
  160.       <rule pattern="%">
    
  161.         <token type="LiteralStringDouble"/>
    
  162.       </rule>
    
  163.       <rule pattern="{">
    
  164.         <token type="LiteralStringDouble"/>
    
  165.       </rule>
    
  166.     </state>
    
  167.     <state name="strings">
    
  168.       <rule pattern="%(?:[+-]?[0-9*]*\.?[0-9*]*)?[scdoxXf]">
    
  169.         <token type="LiteralStringInterpol"/>
    
  170.       </rule>
    
  171.       <rule pattern="\\(U[0-9a-fA-F]{6}|u[0-9a-fA-F]{4}|[\n\\\&#39;\&#34;ntrabfv])">
    
  172.         <token type="LiteralStringEscape"/>
    
  173.       </rule>
    
  174.     </state>
    
  175.     <state name="root">
    
  176.       <rule pattern="\n">
    
  177.         <token type="Text"/>
    
  178.       </rule>
    
  179.       <rule pattern="[^\S\n]+">
    
  180.         <token type="Text"/>
    
  181.       </rule>
    
  182.       <rule pattern="#.*$">
    
  183.         <token type="CommentSingle"/>
    
  184.       </rule>
    
  185.       <rule pattern="\\\n">
    
  186.         <token type="Text"/>
    
  187.       </rule>
    
  188.       <rule>
    
  189.         <include state="keywords"/>
    
  190.       </rule>
    
  191.       <rule>
    
  192.         <include state="annotations"/>
    
  193.       </rule>
    
  194.       <rule pattern="\*\*|[*\/~+-]|&lt;&lt;|&gt;&gt;|[&amp;^|]|==|!=|[&lt;&gt;]|&lt;=|&gt;=|!|&amp;&amp;|\|\||=|:=|\+=|-=|\*=|\/=|\*\*=|%=|&amp;=|\|=|\^=|&lt;&lt;=|&gt;&gt;=|-&gt;|\.">
    
  195.         <token type="Operator"/>
    
  196.       </rule>
    
  197.       <rule pattern="[]{}:(),;[]">
    
  198.         <token type="Punctuation"/>
    
  199.       </rule>
    
  200.       <rule pattern="(func)((?:\s|\\\s)+)">
    
  201.         <bygroups>
    
  202.           <token type="KeywordDeclaration"/>
    
  203.           <token type="Text"/>
    
  204.         </bygroups>
    
  205.         <push state="funcname"/>
    
  206.       </rule>
    
  207.       <rule pattern="(class|class_name|extends)((?:\s|\\\s)+)">
    
  208.         <bygroups>
    
  209.           <token type="KeywordDeclaration"/>
    
  210.           <token type="Text"/>
    
  211.         </bygroups>
    
  212.         <push state="classname"/>
    
  213.       </rule>
    
  214.       <rule pattern="\$[a-zA-Z_][\w\/]*">
    
  215.         <token type="NameOther"/>
    
  216.       </rule>
    
  217.       <rule pattern="%[a-zA-Z_]\w*">
    
  218.         <token type="NameOther"/>
    
  219.       </rule>
    
  220.       <rule pattern="%">
    
  221.         <token type="Operator"/>
    
  222.       </rule>
    
  223.       <rule>
    
  224.         <include state="types"/>
    
  225.       </rule>
    
  226.       <rule>
    
  227.         <include state="builtin_funcs"/>
    
  228.       </rule>
    
  229.       <rule>
    
  230.         <include state="numbers"/>
    
  231.       </rule>
    
  232.       <rule pattern="(\b[a-zA-Z_]\w*)([(])">
    
  233.         <bygroups>
    
  234.           <token type="NameFunction"/>
    
  235.           <token type="Punctuation"/>
    
  236.         </bygroups>
    
  237.       </rule>
    
  238.       <rule pattern="&#39;">
    
  239.         <token type="LiteralStringSingle"/>
    
  240.         <push state="sqs"/>
    
  241.       </rule>
    
  242.       <rule pattern="&#34;">
    
  243.         <token type="LiteralStringDouble"/>
    
  244.         <push state="dqs"/>
    
  245.       </rule>
    
  246.       <rule pattern="&#39;&#39;&#39;">
    
  247.         <token type="LiteralStringSingle"/>
    
  248.         <push state="tsqs"/>
    
  249.       </rule>
    
  250.       <rule pattern="&#34;&#34;&#34;">
    
  251.         <token type="LiteralStringDouble"/>
    
  252.         <push state="tdqs"/>
    
  253.       </rule>
    
  254.       <rule pattern="[a-zA-Z_]\w*">
    
  255.         <token type="Name"/>
    
  256.       </rule>
    
  257.     </state>
    
  258.   </rules>
    
  259. </lexer>