[gtksourceview] snippetmanager: add gtk_source_snippet_manager_list_all()



commit dbea1a573529b0245cfefcd49a050dc84f04d66d
Author: Christian Hergert <chergert redhat com>
Date:   Mon May 2 17:18:22 2022 -0700

    snippetmanager: add gtk_source_snippet_manager_list_all()
    
    This function is useful for tooling such as snippet editors which may want
    to display all known snippets and filter them directly.

 gtksourceview/gtksourcesnippetmanager.c | 23 +++++++++++++++++++++++
 gtksourceview/gtksourcesnippetmanager.h |  2 ++
 2 files changed, 25 insertions(+)
---
diff --git a/gtksourceview/gtksourcesnippetmanager.c b/gtksourceview/gtksourcesnippetmanager.c
index 47fff4b3..1ac17353 100644
--- a/gtksourceview/gtksourcesnippetmanager.c
+++ b/gtksourceview/gtksourcesnippetmanager.c
@@ -401,3 +401,26 @@ gtk_source_snippet_manager_get_snippet (GtkSourceSnippetManager *self,
 
        return _gtk_source_snippet_bundle_get_snippet (self->bundle, group, language_id, trigger);
 }
+
+/**
+ * gtk_source_snippet_manager_list_all:
+ * @self: a #GtkSourceSnippetManager
+ *
+ * Gets a [iface@Gio.ListModel] of all snippets.
+ *
+ * This can be used to get an unfiltered list of all of the snippets
+ * known to the snippet manager.
+ *
+ * Returns: (transfer none): a [iface@Gio.ListModel] of [class@GtkSource.Snippet]
+ *
+ * Since: 5.6
+ */
+GListModel *
+gtk_source_snippet_manager_list_all (GtkSourceSnippetManager *self)
+{
+       g_return_val_if_fail (GTK_SOURCE_IS_SNIPPET_MANAGER (self), NULL);
+
+       ensure_snippets (self);
+
+       return G_LIST_MODEL (self->bundle);
+}
diff --git a/gtksourceview/gtksourcesnippetmanager.h b/gtksourceview/gtksourcesnippetmanager.h
index 5552475f..c67bfcde 100644
--- a/gtksourceview/gtksourcesnippetmanager.h
+++ b/gtksourceview/gtksourcesnippetmanager.h
@@ -53,5 +53,7 @@ GListModel               *gtk_source_snippet_manager_list_matching   (GtkSourceS
                                                                       const gchar             *group,
                                                                       const gchar             *language_id,
                                                                       const gchar             
*trigger_prefix);
+GTK_SOURCE_AVAILABLE_IN_5_6
+GListModel               *gtk_source_snippet_manager_list_all        (GtkSourceSnippetManager *self);
 
 G_END_DECLS


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]