summaryrefslogtreecommitdiffstats
path: root/core/object/script_language.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/object/script_language.h')
-rw-r--r--core/object/script_language.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/object/script_language.h b/core/object/script_language.h
index 4217bc9f96..95e9d2b4af 100644
--- a/core/object/script_language.h
+++ b/core/object/script_language.h
@@ -193,6 +193,10 @@ public:
class ScriptLanguage : public Object {
GDCLASS(ScriptLanguage, Object)
+
+protected:
+ static void _bind_methods();
+
public:
virtual String get_name() const = 0;
@@ -224,6 +228,13 @@ public:
TEMPLATE_PROJECT
};
+ enum ScriptNameCasing {
+ SCRIPT_NAME_CASING_AUTO,
+ SCRIPT_NAME_CASING_PASCAL_CASE,
+ SCRIPT_NAME_CASING_SNAKE_CASE,
+ SCRIPT_NAME_CASING_KEBAB_CASE,
+ };
+
struct ScriptTemplate {
String inherit = "Object";
String name;
@@ -260,6 +271,7 @@ public:
virtual bool can_make_function() const { return true; }
virtual Error open_in_external_editor(const Ref<Script> &p_script, int p_line, int p_col) { return ERR_UNAVAILABLE; }
virtual bool overrides_external_editor() { return false; }
+ virtual ScriptNameCasing preferred_file_name_casing() const { return SCRIPT_NAME_CASING_SNAKE_CASE; }
// Keep enums in sync with:
// scene/gui/code_edit.h - CodeEdit::CodeCompletionKind
@@ -405,6 +417,8 @@ public:
virtual ~ScriptLanguage() {}
};
+VARIANT_ENUM_CAST(ScriptLanguage::ScriptNameCasing);
+
extern uint8_t script_encryption_key[32];
class PlaceHolderScriptInstance : public ScriptInstance {