mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
Merge pull request #97710 from anvilfolk/think-of-the-dooooooooooooooocs
Fix GDScript docs not updating when modified externally
This commit is contained in:
commit
15cee4b8e0
@ -2089,12 +2089,11 @@ void EditorFileSystem::_update_script_documentation() {
|
||||
// return the last loaded version of the script (without the modifications).
|
||||
scr->reload_from_file();
|
||||
}
|
||||
Vector<DocData::ClassDoc> docs = scr->get_documentation();
|
||||
for (int j = 0; j < docs.size(); j++) {
|
||||
EditorHelp::get_doc_data()->add_doc(docs[j]);
|
||||
for (const DocData::ClassDoc &cd : scr->get_documentation()) {
|
||||
EditorHelp::get_doc_data()->add_doc(cd);
|
||||
if (!first_scan) {
|
||||
// Update the documentation in the Script Editor if it is open.
|
||||
ScriptEditor::get_singleton()->update_doc(docs[j].name);
|
||||
ScriptEditor::get_singleton()->update_doc(cd.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2798,6 +2798,8 @@ void ScriptEditor::_reload_scripts(bool p_refresh_only) {
|
||||
scr->set_source_code(rel_scr->get_source_code());
|
||||
scr->set_last_modified_time(rel_scr->get_last_modified_time());
|
||||
scr->reload(true);
|
||||
|
||||
update_docs_from_script(scr);
|
||||
}
|
||||
|
||||
Ref<JSON> json = edited_res;
|
||||
@ -3644,11 +3646,9 @@ void ScriptEditor::update_doc(const String &p_name) {
|
||||
void ScriptEditor::clear_docs_from_script(const Ref<Script> &p_script) {
|
||||
ERR_FAIL_COND(p_script.is_null());
|
||||
|
||||
Vector<DocData::ClassDoc> documentations = p_script->get_documentation();
|
||||
for (int j = 0; j < documentations.size(); j++) {
|
||||
const DocData::ClassDoc &doc = documentations.get(j);
|
||||
if (EditorHelp::get_doc_data()->has_doc(doc.name)) {
|
||||
EditorHelp::get_doc_data()->remove_doc(doc.name);
|
||||
for (const DocData::ClassDoc &cd : p_script->get_documentation()) {
|
||||
if (EditorHelp::get_doc_data()->has_doc(cd.name)) {
|
||||
EditorHelp::get_doc_data()->remove_doc(cd.name);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3656,11 +3656,9 @@ void ScriptEditor::clear_docs_from_script(const Ref<Script> &p_script) {
|
||||
void ScriptEditor::update_docs_from_script(const Ref<Script> &p_script) {
|
||||
ERR_FAIL_COND(p_script.is_null());
|
||||
|
||||
Vector<DocData::ClassDoc> documentations = p_script->get_documentation();
|
||||
for (int j = 0; j < documentations.size(); j++) {
|
||||
const DocData::ClassDoc &doc = documentations.get(j);
|
||||
EditorHelp::get_doc_data()->add_doc(doc);
|
||||
update_doc(doc.name);
|
||||
for (const DocData::ClassDoc &cd : p_script->get_documentation()) {
|
||||
EditorHelp::get_doc_data()->add_doc(cd);
|
||||
update_doc(cd.name);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user