Add EditorSettings EDITOR_GET_CACHED

This commit is contained in:
lawnjelly
2025-07-01 09:20:07 +01:00
parent 1a7d99e37d
commit 0718852d2c
38 changed files with 153 additions and 88 deletions

View File

@@ -385,9 +385,9 @@ void GDScriptSyntaxHighlighter::_update_cache() {
true);
}
function_definition_color = EDITOR_GET("text_editor/highlighting/gdscript/function_definition_color");
node_path_color = EDITOR_GET("text_editor/highlighting/gdscript/node_path_color");
type_color = EDITOR_GET("text_editor/highlighting/base_type_color");
function_definition_color = EDITOR_GET_CACHED(Color, "text_editor/highlighting/gdscript/function_definition_color");
node_path_color = EDITOR_GET_CACHED(Color, "text_editor/highlighting/gdscript/node_path_color");
type_color = EDITOR_GET_CACHED(Color, "text_editor/highlighting/base_type_color");
}
SyntaxHighlighter *GDScriptSyntaxHighlighter::create() {

View File

@@ -493,7 +493,7 @@ struct GDScriptCompletionIdentifier {
};
static void _get_directory_contents(EditorFileSystemDirectory *p_dir, Map<String, ScriptCodeCompletionOption> &r_list, String p_ends_with = "") {
const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\"";
const String quote_style = EditorSettingsQuick::get_text_editor_completion_use_single_quotes() ? "'" : "\"";
for (int i = 0; i < p_dir->get_file_count(); i++) {
ScriptCodeCompletionOption option(p_dir->get_file_path(i), ScriptCodeCompletionOption::KIND_FILE_PATH);
@@ -2242,7 +2242,7 @@ static void _find_call_arguments(const GDScriptCompletionContext &p_context, con
Variant base = p_base.value;
GDScriptParser::DataType base_type = p_base.type;
const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\"";
const String quote_style = EditorSettingsQuick::get_text_editor_completion_use_single_quotes() ? "'" : "\"";
#define IS_METHOD_SIGNAL(m_method) (m_method == "connect" || m_method == "disconnect" || m_method == "is_connected" || m_method == "emit_signal")
@@ -2411,7 +2411,7 @@ static void _find_call_arguments(const GDScriptCompletionContext &p_context, con
}
static void _find_call_arguments(GDScriptCompletionContext &p_context, const GDScriptParser::Node *p_node, int p_argidx, Map<String, ScriptCodeCompletionOption> &r_result, bool &r_forced, String &r_arghint) {
const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\"";
const String quote_style = EditorSettingsQuick::get_text_editor_completion_use_single_quotes() ? "'" : "\"";
if (!p_node || p_node->type != GDScriptParser::Node::TYPE_OPERATOR) {
return;
@@ -2539,7 +2539,7 @@ static void _find_call_arguments(GDScriptCompletionContext &p_context, const GDS
}
Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path, Object *p_owner, List<ScriptCodeCompletionOption> *r_options, bool &r_forced, String &r_call_hint) {
const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\"";
const String quote_style = EditorSettingsQuick::get_text_editor_completion_use_single_quotes() ? "'" : "\"";
GDScriptParser parser;
@@ -3044,10 +3044,10 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
String GDScriptLanguage::_get_indentation() const {
#ifdef TOOLS_ENABLED
if (Engine::get_singleton()->is_editor_hint()) {
bool use_space_indentation = EDITOR_GET("text_editor/indent/type");
bool use_space_indentation = EDITOR_GET_CACHED(bool, "text_editor/indent/type");
if (use_space_indentation) {
int indent_size = EDITOR_GET("text_editor/indent/size");
int indent_size = EDITOR_GET_CACHED(int, "text_editor/indent/size");
String space_indent = "";
for (int i = 0; i < indent_size; i++) {

View File

@@ -281,7 +281,7 @@ Dictionary GDScriptTextDocument::resolve(const Dictionary &p_params) {
if (item.kind == lsp::CompletionItemKind::Event) {
if (params.context.triggerKind == lsp::CompletionTriggerKind::TriggerCharacter && (params.context.triggerCharacter == "(")) {
const String quote_style = EDITOR_GET("text_editor/completion/use_single_quotes") ? "'" : "\"";
const String quote_style = EditorSettingsQuick::get_text_editor_completion_use_single_quotes() ? "'" : "\"";
item.insertText = quote_style + item.label + quote_style;
}
}

View File

@@ -833,7 +833,7 @@ void GridMapEditor::_icon_size_changed(float p_value) {
void GridMapEditor::update_palette() {
int selected = mesh_library_palette->get_current();
float min_size = EDITOR_GET("editors/grid_map/preview_size");
float min_size = EDITOR_GET_CACHED(float, "editors/grid_map/preview_size");
min_size *= EDSCALE;
mesh_library_palette->clear();

View File

@@ -507,10 +507,10 @@ String CSharpLanguage::make_function(const String &, const String &, const PoolS
String CSharpLanguage::_get_indentation() const {
#ifdef TOOLS_ENABLED
if (Engine::get_singleton()->is_editor_hint()) {
bool use_space_indentation = EDITOR_GET("text_editor/indent/type");
bool use_space_indentation = EDITOR_GET_CACHED(bool, "text_editor/indent/type");
if (use_space_indentation) {
int indent_size = EDITOR_GET("text_editor/indent/size");
int indent_size = EDITOR_GET_CACHED(int, "text_editor/indent/size");
String space_indent = "";
for (int i = 0; i < indent_size; i++) {