{ "fileTypes": [ "gd" ], "scopeName": "source.gdscript", "name": "Godot Engine GDScript", "patterns": [ { "include": "#strings" }, { "include": "#numbers" }, { "include": "#self" }, { "captures": { "1": { "name": "punctuation.definition.comment.number-sign.gdscript" } }, "match": "(#).*$\\n?", "name": "comment.line.number-sign.gdscript" }, { "match": "\\b(?i:elif|else|for|if|while|break|continue|pass|and|in|is|not|or|return|onready|setget|enum|match|breakpoint)\\b", "name": "keyword.control.gdscript" }, { "match": "\\b(&&|!|\\|\\|)\\b", "name": "keyword.operator.logical.gdscript" }, { "match": "<=|>=|==|<|>|!=", "name": "keyword.operator.comparison.gdscript" }, { "match": "\\+=|-=|\\*=|/=|%=|&=|\\|=|\\*|/|%|\\+|-|<<|>>|&|\\||\\^|~", "name": "keyword.operator.arithmetic.gdscript" }, { "match": "=", "name": "keyword.operator.assignment.gdscript" }, { "match": "\\b(?i:class|extends|assert|signal)\\b", "name": "keyword.other.gdscript" }, { "match": "(?<=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?", "name": "entity.other.inherited-class.gdscript" }, { "match": "\\b(?i:true|false|null)\\b", "name": "constant.language.gdscript" }, { "match": "\\b(?i:export|tool|yield)\\b", "name": "storage.modifier.static.gdscript" }, { "match": "\\bvar\\b", "name": "storage.type.var.gdscript" }, { "match": "(?