[gtksourceview] snippetmanager: add gtk_source_snippet_manager_list_all()
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] snippetmanager: add gtk_source_snippet_manager_list_all()
- Date: Tue, 3 May 2022 00:21:18 +0000 (UTC)
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]