Merge pull request #53308 from Razoric480/fix-lsp-issues

This commit is contained in:
Rémi Verschelde 2021-10-01 21:25:54 +02:00 committed by GitHub
commit 5305124665
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions

View File

@ -491,7 +491,7 @@ String ExtendGDScriptParser::get_text_for_completion(const lsp::Position &p_curs
return longthing; return longthing;
} }
String ExtendGDScriptParser::get_text_for_lookup_symbol(const lsp::Position &p_cursor, const String &p_symbol, bool p_func_requred) const { String ExtendGDScriptParser::get_text_for_lookup_symbol(const lsp::Position &p_cursor, const String &p_symbol, bool p_func_required) const {
String longthing; String longthing;
int len = lines.size(); int len = lines.size();
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
@ -513,7 +513,7 @@ String ExtendGDScriptParser::get_text_for_lookup_symbol(const lsp::Position &p_c
longthing += first_part; longthing += first_part;
longthing += String::chr(0xFFFF); //not unicode, represents the cursor longthing += String::chr(0xFFFF); //not unicode, represents the cursor
if (p_func_requred) { if (p_func_required) {
longthing += "("; // tell the parser this is a function call longthing += "("; // tell the parser this is a function call
} }
longthing += last_part; longthing += last_part;
@ -532,6 +532,9 @@ String ExtendGDScriptParser::get_text_for_lookup_symbol(const lsp::Position &p_c
String ExtendGDScriptParser::get_identifier_under_position(const lsp::Position &p_position, Vector2i &p_offset) const { String ExtendGDScriptParser::get_identifier_under_position(const lsp::Position &p_position, Vector2i &p_offset) const {
ERR_FAIL_INDEX_V(p_position.line, lines.size(), ""); ERR_FAIL_INDEX_V(p_position.line, lines.size(), "");
String line = lines[p_position.line]; String line = lines[p_position.line];
if (line.is_empty()) {
return "";
}
ERR_FAIL_INDEX_V(p_position.character, line.size(), ""); ERR_FAIL_INDEX_V(p_position.character, line.size(), "");
int start_pos = p_position.character; int start_pos = p_position.character;

View File

@ -85,7 +85,7 @@ public:
Error get_left_function_call(const lsp::Position &p_position, lsp::Position &r_func_pos, int &r_arg_index) const; Error get_left_function_call(const lsp::Position &p_position, lsp::Position &r_func_pos, int &r_arg_index) const;
String get_text_for_completion(const lsp::Position &p_cursor) const; String get_text_for_completion(const lsp::Position &p_cursor) const;
String get_text_for_lookup_symbol(const lsp::Position &p_cursor, const String &p_symbol = "", bool p_func_requred = false) const; String get_text_for_lookup_symbol(const lsp::Position &p_cursor, const String &p_symbol = "", bool p_func_required = false) const;
String get_identifier_under_position(const lsp::Position &p_position, Vector2i &p_offset) const; String get_identifier_under_position(const lsp::Position &p_position, Vector2i &p_offset) const;
String get_uri() const; String get_uri() const;

View File

@ -428,6 +428,9 @@ GDScriptTextDocument::~GDScriptTextDocument() {
void GDScriptTextDocument::sync_script_content(const String &p_path, const String &p_content) { void GDScriptTextDocument::sync_script_content(const String &p_path, const String &p_content) {
String path = GDScriptLanguageProtocol::get_singleton()->get_workspace()->get_file_path(p_path); String path = GDScriptLanguageProtocol::get_singleton()->get_workspace()->get_file_path(p_path);
if (!path.begins_with("res://")) {
return;
}
GDScriptLanguageProtocol::get_singleton()->get_workspace()->parse_script(path, p_content); GDScriptLanguageProtocol::get_singleton()->get_workspace()->parse_script(path, p_content);
EditorFileSystem::get_singleton()->update_file(path); EditorFileSystem::get_singleton()->update_file(path);