image from code wooo
Diffstat (limited to 'HighlightedTextEdit.gd')
| -rw-r--r-- | HighlightedTextEdit.gd | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/HighlightedTextEdit.gd b/HighlightedTextEdit.gd new file mode 100644 index 0000000..7692bae --- /dev/null +++ b/HighlightedTextEdit.gd @@ -0,0 +1,106 @@ +extends ShrinkingTextEdit +class_name HighlightedTextEdit + +const CLASS_COLOR = Color("ffd33682") +const KEYWORD_COLOR = Color("ffb58900") +const SYMBOL_COLOR = Color("ff839496") +const FUNCTION_COLOR = Color("ff268bd2") +const MEMBER_VAR_COLOR = Color("ff268bd2") +const NUMBER_COLOR = Color("ffd33682") +const STRING_COLOR = Color("ff2aa198") +const COMMENT_COLOR = Color("ff586e75") +const NODE_PATH_COLOR = Color("ffd33682") +const FONT_COLOR = Color("ff839496") + +const keyword_colors := { + "if": KEYWORD_COLOR, + "elif": KEYWORD_COLOR, + "else": KEYWORD_COLOR, + "for": KEYWORD_COLOR, + "while": KEYWORD_COLOR, + "match": KEYWORD_COLOR, + "break": KEYWORD_COLOR, + "continue": KEYWORD_COLOR, + "pass": KEYWORD_COLOR, + "return": KEYWORD_COLOR, + "class": KEYWORD_COLOR, + "class_name": KEYWORD_COLOR, + "extends": KEYWORD_COLOR, + "is": KEYWORD_COLOR, + "as": KEYWORD_COLOR, + "self": KEYWORD_COLOR, + "signal": KEYWORD_COLOR, + "func": KEYWORD_COLOR, + "static": KEYWORD_COLOR, + "const": KEYWORD_COLOR, + "enum": KEYWORD_COLOR, + "var": KEYWORD_COLOR, + "breakpoint": KEYWORD_COLOR, + "preload": KEYWORD_COLOR, + "await": KEYWORD_COLOR, + "yield": KEYWORD_COLOR, + "assert": KEYWORD_COLOR, + "void": KEYWORD_COLOR, + "in": KEYWORD_COLOR, + "not": KEYWORD_COLOR, + "and": KEYWORD_COLOR, + "or": KEYWORD_COLOR, + "PI": KEYWORD_COLOR, + "TAU": KEYWORD_COLOR, + "INF": KEYWORD_COLOR, + "NAN": KEYWORD_COLOR, + "null": KEYWORD_COLOR, + "int": KEYWORD_COLOR, + "float": KEYWORD_COLOR, + "bool": KEYWORD_COLOR, + "super": KEYWORD_COLOR, + "true": KEYWORD_COLOR, + "false": KEYWORD_COLOR, + "AABB": CLASS_COLOR, + "Array": CLASS_COLOR, + "Basis": CLASS_COLOR, + "Color": CLASS_COLOR, + "Dictionary": CLASS_COLOR, + "NodePath": CLASS_COLOR, + "Plane": CLASS_COLOR, + "PoolByteArray": CLASS_COLOR, + "PoolColorArray": CLASS_COLOR, + "PoolIntArray": CLASS_COLOR, + "PoolRealArray": CLASS_COLOR, + "PoolStringArray": CLASS_COLOR, + "PoolVector2Array": CLASS_COLOR, + "PoolVector3Array": CLASS_COLOR, + "Quat": CLASS_COLOR, + "RID": CLASS_COLOR, + "Rect2": CLASS_COLOR, + "String": CLASS_COLOR, + "Transform": CLASS_COLOR, + "Transform2D": CLASS_COLOR, + "Variant": CLASS_COLOR, + "Vector2": CLASS_COLOR, + "Vector3": CLASS_COLOR, + "ClassDB": CLASS_COLOR, +} + + +func _ready(): + for keyword in keyword_colors: + add_keyword_color(keyword, keyword_colors[keyword]) + + for cls in ClassDB.get_class_list(): + add_keyword_color(cls, CLASS_COLOR) + + add_color_region('"', '"', STRING_COLOR, false) + add_color_region("'", "'", STRING_COLOR, false) + add_color_region("$", " ", NODE_PATH_COLOR, true) + add_color_region("#", "", COMMENT_COLOR, true) + + add_color_override("font_color", FONT_COLOR) + add_color_override("function_color", FUNCTION_COLOR) + add_color_override("member_variable_color", MEMBER_VAR_COLOR) + add_color_override("number_color", NUMBER_COLOR) + add_color_override("symbol_color", SYMBOL_COLOR) + + +func _resized(): + pass # Replace with function body. |