You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Check client workspace directory is valid
Drop test initialize message sent to client Remove unused code property for the parser class
This commit is contained in:
@@ -557,7 +557,6 @@ const Array &ExtendGDScriptParser::get_member_completions() {
|
|||||||
|
|
||||||
Error ExtendGDScriptParser::parse(const String &p_code, const String &p_path) {
|
Error ExtendGDScriptParser::parse(const String &p_code, const String &p_path) {
|
||||||
path = p_path;
|
path = p_path;
|
||||||
code = p_code;
|
|
||||||
lines = p_code.split("\n");
|
lines = p_code.split("\n");
|
||||||
|
|
||||||
Error err = GDScriptParser::parse(p_code, p_path.get_base_dir(), false, p_path, false, NULL, false);
|
Error err = GDScriptParser::parse(p_code, p_path.get_base_dir(), false, p_path, false, NULL, false);
|
||||||
|
|||||||
@@ -52,7 +52,6 @@ typedef HashMap<String, const lsp::DocumentSymbol *> ClassMembers;
|
|||||||
class ExtendGDScriptParser : public GDScriptParser {
|
class ExtendGDScriptParser : public GDScriptParser {
|
||||||
|
|
||||||
String path;
|
String path;
|
||||||
String code;
|
|
||||||
Vector<String> lines;
|
Vector<String> lines;
|
||||||
|
|
||||||
lsp::DocumentSymbol class_symbol;
|
lsp::DocumentSymbol class_symbol;
|
||||||
@@ -73,7 +72,6 @@ class ExtendGDScriptParser : public GDScriptParser {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
_FORCE_INLINE_ const String &get_path() const { return path; }
|
_FORCE_INLINE_ const String &get_path() const { return path; }
|
||||||
_FORCE_INLINE_ const String &get_code() const { return code; }
|
|
||||||
_FORCE_INLINE_ const Vector<String> &get_lines() const { return lines; }
|
_FORCE_INLINE_ const Vector<String> &get_lines() const { return lines; }
|
||||||
_FORCE_INLINE_ const lsp::DocumentSymbol &get_symbols() const { return class_symbol; }
|
_FORCE_INLINE_ const lsp::DocumentSymbol &get_symbols() const { return class_symbol; }
|
||||||
_FORCE_INLINE_ const Vector<lsp::Diagnostic> &get_diagnostics() const { return diagnostics; }
|
_FORCE_INLINE_ const Vector<lsp::Diagnostic> &get_diagnostics() const { return diagnostics; }
|
||||||
|
|||||||
@@ -103,7 +103,18 @@ Dictionary GDScriptLanguageProtocol::initialize(const Dictionary &p_params) {
|
|||||||
if (root_uri.length() && is_same_workspace) {
|
if (root_uri.length() && is_same_workspace) {
|
||||||
workspace.root_uri = root_uri;
|
workspace.root_uri = root_uri;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
workspace.root_uri = "file://" + workspace.root;
|
workspace.root_uri = "file://" + workspace.root;
|
||||||
|
|
||||||
|
Dictionary params;
|
||||||
|
params["path"] = workspace.root;
|
||||||
|
Dictionary request = make_notification("gdscrip_client/changeWorkspace", params);
|
||||||
|
if (Ref<WebSocketPeer> *peer = clients.getptr(lastest_client_id)) {
|
||||||
|
String msg = JSON::print(request);
|
||||||
|
msg = format_output(msg);
|
||||||
|
CharString charstr = msg.utf8();
|
||||||
|
(*peer)->put_packet((const uint8_t *)charstr.ptr(), charstr.length());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_initialized) {
|
if (!_initialized) {
|
||||||
@@ -116,18 +127,6 @@ Dictionary GDScriptLanguageProtocol::initialize(const Dictionary &p_params) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void GDScriptLanguageProtocol::initialized(const Variant &p_params) {
|
void GDScriptLanguageProtocol::initialized(const Variant &p_params) {
|
||||||
|
|
||||||
Dictionary params;
|
|
||||||
params["type"] = 3;
|
|
||||||
params["message"] = "GDScript Language Server initialized!";
|
|
||||||
Dictionary test_message = make_notification("window/showMessage", params);
|
|
||||||
|
|
||||||
if (Ref<WebSocketPeer> *peer = clients.getptr(lastest_client_id)) {
|
|
||||||
String msg = JSON::print(test_message);
|
|
||||||
msg = format_output(msg);
|
|
||||||
CharString charstr = msg.utf8();
|
|
||||||
(*peer)->put_packet((const uint8_t *)charstr.ptr(), charstr.length());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GDScriptLanguageProtocol::poll() {
|
void GDScriptLanguageProtocol::poll() {
|
||||||
|
|||||||
Reference in New Issue
Block a user