[gnome-builder/gnome-builder-3-32] codeui: notify diagnostics manager of language-set
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/gnome-builder-3-32] codeui: notify diagnostics manager of language-set
- Date: Fri, 19 Apr 2019 22:21:51 +0000 (UTC)
commit 960f2ee7804bbf8eb7812e03e3cc4cc7db844b2c
Author: Christian Hergert <chergert redhat com>
Date: Fri Apr 19 13:29:23 2019 -0700
codeui: notify diagnostics manager of language-set
During the refactoring, a great deal of changes happened to how we use
internal plugins to notify internal subsystems of changes. If the language
isn't setup correctly initially, we failed to notify the diagnostics
manager of that change (resulting in no diagnostic providers getting
loaded).
src/plugins/codeui/gbp-codeui-buffer-addin.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
---
diff --git a/src/plugins/codeui/gbp-codeui-buffer-addin.c b/src/plugins/codeui/gbp-codeui-buffer-addin.c
index ca26551f1..9abd16a27 100644
--- a/src/plugins/codeui/gbp-codeui-buffer-addin.c
+++ b/src/plugins/codeui/gbp-codeui-buffer-addin.c
@@ -129,6 +129,29 @@ gbp_codeui_buffer_addin_changed_cb (GbpCodeuiBufferAddin *self,
}
}
+static void
+gbp_codeui_buffer_addin_language_set (IdeBufferAddin *addin,
+ IdeBuffer *buffer,
+ const gchar *language_id)
+{
+ g_autoptr(IdeContext) context = NULL;
+ IdeDiagnosticsManager *diagnostics_manager;
+ GFile *file;
+
+ g_assert (GBP_IS_CODEUI_BUFFER_ADDIN (addin));
+ g_assert (IDE_IS_BUFFER (buffer));
+
+ context = ide_buffer_ref_context (buffer);
+ file = ide_buffer_get_file (buffer);
+
+ g_assert (IDE_IS_CONTEXT (context));
+ g_assert (file != NULL);
+ g_assert (G_IS_FILE (file));
+
+ diagnostics_manager = ide_diagnostics_manager_from_context (context);
+ _ide_diagnostics_manager_language_changed (diagnostics_manager, file, language_id);
+}
+
static void
gbp_codeui_buffer_addin_load (IdeBufferAddin *addin,
IdeBuffer *buffer)
@@ -185,6 +208,7 @@ buffer_addin_iface_init (IdeBufferAddinInterface *iface)
iface->change_settled = gbp_codeui_buffer_addin_change_settled;
iface->file_saved = gbp_codeui_buffer_addin_file_saved;
iface->file_loaded = gbp_codeui_buffer_addin_file_loaded;
+ iface->language_set = gbp_codeui_buffer_addin_language_set;
iface->load = gbp_codeui_buffer_addin_load;
iface->unload = gbp_codeui_buffer_addin_unload;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]