From 6fdbbd5f578043f21c39e74f9ada6d2fe5ad8572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Wagner?= Date: Mon, 1 Jun 2020 12:03:03 +0200 Subject: [PATCH] LSP: signaling initialized state --- src/libide/lsp/ide-lsp-client.c | 14 ++++++++++++++ src/libide/lsp/ide-lsp-client.h | 1 + 2 files changed, 15 insertions(+) diff --git a/src/libide/lsp/ide-lsp-client.c b/src/libide/lsp/ide-lsp-client.c index 7b81c83fa..9600e6987 100644 --- a/src/libide/lsp/ide-lsp-client.c +++ b/src/libide/lsp/ide-lsp-client.c @@ -83,6 +83,7 @@ enum { }; enum { + INITIALIZED, LOAD_CONFIGURATION, NOTIFICATION, PUBLISHED_DIAGNOSTICS, @@ -1139,6 +1140,17 @@ ide_lsp_client_class_init (IdeLspClientClass *klass) g_object_class_install_properties (object_class, N_PROPS, properties); + + signals [INITIALIZED] = + g_signal_new ("initialized", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (IdeLspClientClass, initialized), + NULL, + NULL, + NULL, + G_TYPE_NONE, 0); + /** * IdeLspClient::load-configuration: * @self: a #IdeLspClient @@ -1284,6 +1296,8 @@ ide_lsp_client_initialized_cb (GObject *object, project = ide_project_from_context (context); dzl_signal_group_set_target (priv->project_signals, project); + g_signal_emit (self, signals[INITIALIZED], 0); + IDE_EXIT; } diff --git a/src/libide/lsp/ide-lsp-client.h b/src/libide/lsp/ide-lsp-client.h index 27e1c4515..e6e1bfb55 100644 --- a/src/libide/lsp/ide-lsp-client.h +++ b/src/libide/lsp/ide-lsp-client.h @@ -53,6 +53,7 @@ struct _IdeLspClientClass GFile *file, IdeDiagnostics *diagnostics); GVariant *(*load_configuration) (IdeLspClient *self); + void (*initialized) (IdeLspClient *self); /*< private >*/ gpointer _reserved[15]; -- GitLab