You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Added GDScript NodePath highlighting
This commit is contained in:
@@ -30,8 +30,8 @@
|
||||
|
||||
#include "gdscript_highlighter.h"
|
||||
#include "../gdscript_tokenizer.h"
|
||||
#include "scene/gui/text_edit.h"
|
||||
#include "editor/editor_settings.h"
|
||||
#include "scene/gui/text_edit.h"
|
||||
|
||||
inline bool _is_symbol(CharType c) {
|
||||
|
||||
@@ -76,6 +76,7 @@ Map<int, TextEdit::HighlighterInfo> GDScriptSyntaxHighlighter::_get_line_syntax_
|
||||
bool in_word = false;
|
||||
bool in_function_name = false;
|
||||
bool in_member_variable = false;
|
||||
bool in_node_path = false;
|
||||
bool is_hex_notation = false;
|
||||
Color keyword_color;
|
||||
Color color;
|
||||
@@ -223,9 +224,18 @@ Map<int, TextEdit::HighlighterInfo> GDScriptSyntaxHighlighter::_get_line_syntax_
|
||||
in_member_variable = false;
|
||||
}
|
||||
|
||||
if (!in_node_path && in_region == -1 && str[j] == '$') {
|
||||
in_node_path = true;
|
||||
} else if (in_region != -1 || (is_symbol && str[j] != '/')) {
|
||||
in_node_path = false;
|
||||
}
|
||||
|
||||
if (in_region >= 0) {
|
||||
next_type = REGION;
|
||||
color = text_editor->_get_color_region(in_region).color;
|
||||
} else if (in_node_path) {
|
||||
next_type = NODE_PATH;
|
||||
color = node_path_color;
|
||||
} else if (in_keyword) {
|
||||
next_type = KEYWORD;
|
||||
color = keyword_color;
|
||||
@@ -303,6 +313,7 @@ void GDScriptSyntaxHighlighter::_update_cache() {
|
||||
member_color = text_editor->get_color("member_variable_color");
|
||||
|
||||
function_definition_color = EDITOR_DEF("text_editor/highlighting/gdscript/function_definition_color", Color::html("#01e1ff"));
|
||||
node_path_color = EDITOR_DEF("text_editor/highlighting/gdscript/node_path_color", Color::html("#64c15a"));
|
||||
}
|
||||
|
||||
SyntaxHighlighter *GDScriptSyntaxHighlighter::create() {
|
||||
|
||||
Reference in New Issue
Block a user