static void ide_source_snippet_parser_store (IdeSourceSnippetParser *parser) { IdeSourceSnippet *snippet; GList *scope_iter; GList *chunck_iter; ide_source_snippet_parser_flush_chunk (parser); for (scope_iter = parser->scope; scope_iter; scope_iter = scope_iter->next) { snippet = ide_source_snippet_new (parser->cur_name, g_strdup(scope_iter->data)); ide_source_snippet_set_description (snippet, parser->cur_desc); ide_source_snippet_set_snippet_text (snippet, parser->snippet_text->str); for (chunck_iter = parser->chunks; chunck_iter; chunck_iter = chunck_iter->next) { #if 0 g_printerr ("%s: Tab: %02d Link: %02d Text: %s\n", parser->cur_name, ide_source_snippet_chunk_get_tab_stop (chunck_iter->data), ide_source_snippet_chunk_get_linked_chunk (chunck_iter->data), ide_source_snippet_chunk_get_text (chunck_iter->data)); #endif ide_source_snippet_add_chunk (snippet, chunck_iter->data); } parser->snippets = g_list_append (parser->snippets, snippet); } }
static void ide_source_snippet_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { IdeSourceSnippet *self = IDE_SOURCE_SNIPPET (object); switch (prop_id) { case PROP_TRIGGER: ide_source_snippet_set_trigger (self, g_value_get_string (value)); break; case PROP_LANGUAGE: ide_source_snippet_set_language (self, g_value_get_string (value)); break; case PROP_DESCRIPTION: ide_source_snippet_set_description (self, g_value_get_string (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }