Code Editor: Add documentation tooltips
This commit is contained in:
@ -150,6 +150,7 @@ public:
|
||||
virtual Error reload(bool p_keep_state = false) = 0;
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
virtual StringName get_doc_class_name() const = 0;
|
||||
virtual Vector<DocData::ClassDoc> get_documentation() const = 0;
|
||||
virtual String get_class_icon_path() const = 0;
|
||||
virtual PropertyInfo get_class_category() const;
|
||||
@ -181,7 +182,7 @@ public:
|
||||
virtual int get_member_line(const StringName &p_member) const { return -1; }
|
||||
|
||||
virtual void get_constants(HashMap<StringName, Variant> *p_constants) {}
|
||||
virtual void get_members(HashSet<StringName> *p_constants) {}
|
||||
virtual void get_members(HashSet<StringName> *p_members) {}
|
||||
|
||||
virtual bool is_placeholder_fallback_enabled() const { return false; }
|
||||
|
||||
@ -340,25 +341,46 @@ public:
|
||||
virtual Error complete_code(const String &p_code, const String &p_path, Object *p_owner, List<CodeCompletionOption> *r_options, bool &r_force, String &r_call_hint) { return ERR_UNAVAILABLE; }
|
||||
|
||||
enum LookupResultType {
|
||||
LOOKUP_RESULT_SCRIPT_LOCATION,
|
||||
LOOKUP_RESULT_SCRIPT_LOCATION, // Use if none of the options below apply.
|
||||
LOOKUP_RESULT_CLASS,
|
||||
LOOKUP_RESULT_CLASS_CONSTANT,
|
||||
LOOKUP_RESULT_CLASS_PROPERTY,
|
||||
LOOKUP_RESULT_CLASS_METHOD,
|
||||
LOOKUP_RESULT_CLASS_SIGNAL,
|
||||
LOOKUP_RESULT_CLASS_ENUM,
|
||||
LOOKUP_RESULT_CLASS_TBD_GLOBALSCOPE,
|
||||
LOOKUP_RESULT_CLASS_TBD_GLOBALSCOPE, // Deprecated.
|
||||
LOOKUP_RESULT_CLASS_ANNOTATION,
|
||||
LOOKUP_RESULT_MAX
|
||||
LOOKUP_RESULT_LOCAL_CONSTANT,
|
||||
LOOKUP_RESULT_LOCAL_VARIABLE,
|
||||
LOOKUP_RESULT_MAX,
|
||||
};
|
||||
|
||||
struct LookupResult {
|
||||
LookupResultType type;
|
||||
Ref<Script> script;
|
||||
|
||||
// For `CLASS_*`.
|
||||
String class_name;
|
||||
String class_member;
|
||||
String class_path;
|
||||
int location;
|
||||
|
||||
// For `LOCAL_*`.
|
||||
String description;
|
||||
bool is_deprecated = false;
|
||||
String deprecated_message;
|
||||
bool is_experimental = false;
|
||||
String experimental_message;
|
||||
|
||||
// For `LOCAL_*`.
|
||||
String doc_type;
|
||||
String enumeration;
|
||||
bool is_bitfield = false;
|
||||
|
||||
// For `LOCAL_*`.
|
||||
String value;
|
||||
|
||||
// `SCRIPT_LOCATION` and `LOCAL_*` must have, `CLASS_*` can have.
|
||||
Ref<Script> script;
|
||||
String script_path;
|
||||
int location = -1;
|
||||
};
|
||||
|
||||
virtual Error lookup_code(const String &p_code, const String &p_symbol, const String &p_path, Object *p_owner, LookupResult &r_result) { return ERR_UNAVAILABLE; }
|
||||
|
||||
Reference in New Issue
Block a user