LSP: Add support for custom host setting

You can now configure host in the `language_server` settings in the editor
settings.

(cherry picked from commit be6da39b8a)
This commit is contained in:
John J. Donna II 2021-09-01 18:56:19 -04:00 committed by Rémi Verschelde
parent a95b015968
commit 91482a00bb
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 8 additions and 3 deletions

View file

@ -38,9 +38,11 @@
GDScriptLanguageServer::GDScriptLanguageServer() {
thread_running = false;
started = false;
use_thread = false;
host = "127.0.0.1";
port = 6008;
_EDITOR_DEF("network/language_server/remote_host", host);
_EDITOR_DEF("network/language_server/remote_port", port);
_EDITOR_DEF("network/language_server/enable_smart_resolve", true);
_EDITOR_DEF("network/language_server/show_native_symbols_in_editor", false);
@ -61,9 +63,10 @@ void GDScriptLanguageServer::_notification(int p_what) {
}
} break;
case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
String host = String(_EDITOR_GET("network/language_server/remote_host"));
int port = (int)_EDITOR_GET("network/language_server/remote_port");
bool use_thread = (bool)_EDITOR_GET("network/language_server/use_thread");
if (port != this->port || use_thread != this->use_thread) {
if (host != this->host || port != this->port || use_thread != this->use_thread) {
this->stop();
this->start();
}
@ -81,9 +84,10 @@ void GDScriptLanguageServer::thread_main(void *p_userdata) {
}
void GDScriptLanguageServer::start() {
host = String(_EDITOR_GET("network/language_server/remote_host"));
port = (int)_EDITOR_GET("network/language_server/remote_port");
use_thread = (bool)_EDITOR_GET("network/language_server/use_thread");
if (protocol.start(port, IP_Address("127.0.0.1")) == OK) {
if (protocol.start(port, IP_Address(host)) == OK) {
EditorNode::get_log()->add_message("--- GDScript language server started ---", EditorLog::MSG_TYPE_EDITOR);
if (use_thread) {
thread_running = true;

View file

@ -44,6 +44,7 @@ class GDScriptLanguageServer : public EditorPlugin {
bool thread_running;
bool started;
bool use_thread;
String host;
int port;
static void thread_main(void *p_userdata);