diff options
author | Ignacio Etcheverry <ignalfonsore@gmail.com> | 2017-04-15 19:48:10 +0200 |
---|---|---|
committer | Ignacio Etcheverry <ignalfonsore@gmail.com> | 2017-04-17 01:51:30 +0200 |
commit | 4b8568006d1f83d518d98ef3c7354b7c25de46cc (patch) | |
tree | 62d39934c808c4a53ea27fc6e1771b7b57da7136 /core | |
parent | fce779a4ef02f1b14f95cab6a06e75db170f3448 (diff) |
External editor improvements and fixes
Notable changes:
- Now ScriptLanguages have the option to override the global external editor setting.
If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used.
- Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`.
- `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from.
Fixes:
- Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor.
- Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit.
- `Script::get_member_line()` now returns -1 ("found nothing") by default.
Diffstat (limited to 'core')
-rw-r--r-- | core/script_language.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/script_language.h b/core/script_language.h index 905ac4eeda..1ec02f5845 100644 --- a/core/script_language.h +++ b/core/script_language.h @@ -119,7 +119,7 @@ public: virtual void get_script_method_list(List<MethodInfo> *p_list) const = 0; virtual void get_script_property_list(List<PropertyInfo> *p_list) const = 0; - virtual int get_member_line(const StringName &p_member) const { return 0; } + virtual int get_member_line(const StringName &p_member) const { return -1; } Script() {} }; @@ -201,6 +201,7 @@ public: virtual bool has_named_classes() const = 0; virtual int find_function(const String &p_function, const String &p_code) const = 0; virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const = 0; + virtual Error open_in_external_editor(const Ref<Script> &p_script, int p_line, int p_col) { return ERR_UNAVAILABLE; } virtual Error complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, String &r_call_hint) { return ERR_UNAVAILABLE; } |