mirror of
https://github.com/godotengine/godot
synced 2024-09-05 06:48:38 +00:00
Refactor GDScript/C# script templates logic to be editor-only
Not a full refactor as it still goes through ScriptLanguage so it's hacky, but at least it can now compile without this.
This commit is contained in:
parent
41d075de58
commit
c9b75431f3
|
@ -10,6 +10,8 @@ env_gdscript.add_source_files(env.modules_sources, "*.cpp")
|
|||
if env["tools"]:
|
||||
env_gdscript.add_source_files(env.modules_sources, "./editor/*.cpp")
|
||||
|
||||
SConscript("editor/script_templates/SCsub")
|
||||
|
||||
# Those two modules are required for the language server protocol
|
||||
if env["module_jsonrpc_enabled"] and env["module_websocket_enabled"]:
|
||||
env_gdscript.add_source_files(env.modules_sources, "./language_server/*.cpp")
|
||||
|
@ -18,8 +20,7 @@ if env["tools"]:
|
|||
# in regular builds where all modules are enabled.
|
||||
env_gdscript.Append(CPPDEFINES=["GDSCRIPT_NO_LSP"])
|
||||
|
||||
|
||||
if env["tests"]:
|
||||
env_gdscript.Append(CPPDEFINES=["TESTS_ENABLED"])
|
||||
env_gdscript.add_source_files(env.modules_sources, "./tests/*.cpp")
|
||||
|
||||
SConscript("editor_templates/SCsub")
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include "core/config/engine.h"
|
||||
#include "core/core_constants.h"
|
||||
#include "core/io/file_access.h"
|
||||
#include "editor_templates/templates.gen.h"
|
||||
#include "gdscript_analyzer.h"
|
||||
#include "gdscript_compiler.h"
|
||||
#include "gdscript_parser.h"
|
||||
|
@ -44,6 +43,7 @@
|
|||
#include "core/config/project_settings.h"
|
||||
#include "editor/editor_file_system.h"
|
||||
#include "editor/editor_settings.h"
|
||||
#include "editor/script_templates/templates.gen.h"
|
||||
#endif
|
||||
|
||||
void GDScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const {
|
||||
|
@ -64,8 +64,11 @@ Ref<Script> GDScriptLanguage::make_template(const String &p_template, const Stri
|
|||
Ref<GDScript> script;
|
||||
script.instantiate();
|
||||
String processed_template = p_template;
|
||||
bool type_hints = false;
|
||||
#ifdef TOOLS_ENABLED
|
||||
if (!EDITOR_GET("text_editor/completion/add_type_hints")) {
|
||||
type_hints = EDITOR_GET("text_editor/completion/add_type_hints");
|
||||
#endif
|
||||
if (!type_hints) {
|
||||
processed_template = processed_template.replace(": int", "")
|
||||
.replace(": String", "")
|
||||
.replace(": Array[String]", "")
|
||||
|
@ -75,16 +78,6 @@ Ref<Script> GDScriptLanguage::make_template(const String &p_template, const Stri
|
|||
.replace(" -> int", "")
|
||||
.replace(" -> void", "");
|
||||
}
|
||||
#else
|
||||
processed_template = processed_template.replace(": int", "")
|
||||
.replace(": String", "")
|
||||
.replace(": Array[String]", "")
|
||||
.replace(": float", "")
|
||||
.replace(":=", "=")
|
||||
.replace(" -> String", "")
|
||||
.replace(" -> int", "")
|
||||
.replace(" -> void", "");
|
||||
#endif
|
||||
|
||||
processed_template = processed_template.replace("_BASE_", p_base_class_name)
|
||||
.replace("_CLASS_", p_class_name)
|
||||
|
@ -95,11 +88,13 @@ Ref<Script> GDScriptLanguage::make_template(const String &p_template, const Stri
|
|||
|
||||
Vector<ScriptLanguage::ScriptTemplate> GDScriptLanguage::get_built_in_templates(StringName p_object) {
|
||||
Vector<ScriptLanguage::ScriptTemplate> templates;
|
||||
#ifdef TOOLS_ENABLED
|
||||
for (int i = 0; i < TEMPLATES_ARRAY_SIZE; i++) {
|
||||
if (TEMPLATES[i].inherit == p_object) {
|
||||
templates.append(TEMPLATES[i]);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return templates;
|
||||
}
|
||||
|
||||
|
|
|
@ -63,5 +63,4 @@ elif env["platform"] == "android":
|
|||
|
||||
if env["tools"]:
|
||||
env_mono.add_source_files(env.modules_sources, "editor/*.cpp")
|
||||
|
||||
SConscript("editor_templates/SCsub")
|
||||
SConscript("editor/script_templates/SCsub")
|
||||
|
|
|
@ -45,17 +45,17 @@
|
|||
#ifdef TOOLS_ENABLED
|
||||
#include "core/os/keyboard.h"
|
||||
#include "editor/bindings_generator.h"
|
||||
#include "editor/editor_internal_calls.h"
|
||||
#include "editor/editor_node.h"
|
||||
#include "editor/editor_settings.h"
|
||||
#include "editor/node_dock.h"
|
||||
#include "editor/script_templates/templates.gen.h"
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
#include "class_db_api_json.h"
|
||||
#endif
|
||||
|
||||
#include "editor/editor_internal_calls.h"
|
||||
#include "editor_templates/templates.gen.h"
|
||||
#include "godotsharp_dirs.h"
|
||||
#include "mono_gd/gd_mono_cache.h"
|
||||
#include "mono_gd/gd_mono_class.h"
|
||||
|
@ -373,11 +373,13 @@ Ref<Script> CSharpLanguage::make_template(const String &p_template, const String
|
|||
|
||||
Vector<ScriptLanguage::ScriptTemplate> CSharpLanguage::get_built_in_templates(StringName p_object) {
|
||||
Vector<ScriptLanguage::ScriptTemplate> templates;
|
||||
#ifdef TOOLS_ENABLED
|
||||
for (int i = 0; i < TEMPLATES_ARRAY_SIZE; i++) {
|
||||
if (TEMPLATES[i].inherit == p_object) {
|
||||
templates.append(TEMPLATES[i]);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return templates;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue