static void ide_source_snippet_chunk_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { IdeSourceSnippetChunk *chunk = IDE_SOURCE_SNIPPET_CHUNK (object); switch (prop_id) { case PROP_CONTEXT: ide_source_snippet_chunk_set_context (chunk, g_value_get_object (value)); break; case PROP_TAB_STOP: ide_source_snippet_chunk_set_tab_stop (chunk, g_value_get_int (value)); break; case PROP_SPEC: ide_source_snippet_chunk_set_spec (chunk, g_value_get_string (value)); break; case PROP_TEXT: ide_source_snippet_chunk_set_text (chunk, g_value_get_string (value)); break; case PROP_TEXT_SET: ide_source_snippet_chunk_set_text_set (chunk, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }
static void ide_source_snippet_parser_do_part_linked (IdeSourceSnippetParser *parser, gint n) { IdeSourceSnippetChunk *chunk; gchar text[12]; chunk = ide_source_snippet_chunk_new (); if (n) { g_snprintf (text, sizeof text, "$%d", n); text[sizeof text - 1] = '\0'; ide_source_snippet_chunk_set_spec (chunk, text); } else { ide_source_snippet_chunk_set_spec (chunk, ""); ide_source_snippet_chunk_set_tab_stop (chunk, 0); } parser->chunks = g_list_append (parser->chunks, chunk); }
static void ide_source_snippet_parser_flush_chunk (IdeSourceSnippetParser *parser) { IdeSourceSnippetChunk *chunk; if (parser->cur_text->len) { chunk = ide_source_snippet_chunk_new (); ide_source_snippet_chunk_set_spec (chunk, parser->cur_text->str); parser->chunks = g_list_append (parser->chunks, chunk); g_string_truncate (parser->cur_text, 0); } }
static void ide_source_snippet_parser_do_part_named (IdeSourceSnippetParser *parser, const gchar *name) { IdeSourceSnippetChunk *chunk; gchar *spec; chunk = ide_source_snippet_chunk_new (); spec = g_strdup_printf ("$%s", name); ide_source_snippet_chunk_set_spec (chunk, spec); ide_source_snippet_chunk_set_tab_stop (chunk, -1); parser->chunks = g_list_append (parser->chunks, chunk); g_free (spec); }
static void ide_source_snippet_parser_do_part_n (IdeSourceSnippetParser *parser, gint n, const gchar *inner) { IdeSourceSnippetChunk *chunk; g_return_if_fail (IDE_IS_SOURCE_SNIPPET_PARSER (parser)); g_return_if_fail (n >= -1); g_return_if_fail (inner); chunk = ide_source_snippet_chunk_new (); ide_source_snippet_chunk_set_spec (chunk, n ? inner : ""); ide_source_snippet_chunk_set_tab_stop (chunk, n); parser->chunks = g_list_append (parser->chunks, chunk); }