[gnome-builder/wip/gtk4-port: 1429/1774] libide/code: cleanup template header generation
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/gtk4-port: 1429/1774] libide/code: cleanup template header generation
- Date: Mon, 11 Jul 2022 22:31:45 +0000 (UTC)
commit ff2fb5f303ab45a0e76d0b6b13e6ea2fe0d85851
Author: Christian Hergert <chergert redhat com>
Date: Wed Jun 8 14:14:46 2022 -0700
libide/code: cleanup template header generation
src/libide/code/ide-language.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
---
diff --git a/src/libide/code/ide-language.c b/src/libide/code/ide-language.c
index b0aabe392..da674ba8c 100644
--- a/src/libide/code/ide-language.c
+++ b/src/libide/code/ide-language.c
@@ -43,7 +43,9 @@ ide_language_format_header (GtkSourceLanguage *self,
guint prefix_len;
g_return_val_if_fail (GTK_SOURCE_IS_LANGUAGE (self), NULL);
- g_return_val_if_fail (header != NULL, NULL);
+
+ if (ide_str_empty0 (header))
+ return g_strdup ("");
first_prefix = gtk_source_language_get_metadata (self, "block-comment-start");
last_prefix = gtk_source_language_get_metadata (self, "block-comment-end");
@@ -55,24 +57,29 @@ ide_language_format_header (GtkSourceLanguage *self,
if (first_prefix == NULL || last_prefix == NULL)
{
+ if (line_prefix == NULL)
+ line_prefix = "";
+
first_prefix = line_prefix;
last_prefix = line_prefix;
}
- prefix_len = strlen (first_prefix);
+ g_assert (first_prefix != NULL);
+ g_assert (last_prefix != NULL);
+ g_assert (line_prefix != NULL);
+ prefix_len = strlen (first_prefix);
outstr = g_string_new (NULL);
- ide_line_reader_init (&reader, (gchar *)header, -1);
-
- while (NULL != (line = ide_line_reader_next (&reader, &len)))
+ ide_line_reader_init (&reader, (char *)header, -1);
+ while ((line = ide_line_reader_next (&reader, &len)))
{
if (first)
{
g_string_append (outstr, first_prefix);
first = FALSE;
}
- else if (line_prefix == NULL)
+ else if (ide_str_empty0 (line_prefix))
{
for (guint i = 0; i < prefix_len; i++)
g_string_append_c (outstr, ' ');
@@ -88,18 +95,12 @@ ide_language_format_header (GtkSourceLanguage *self,
g_string_append_len (outstr, line, len);
}
- /* Lines ending in expansion need an extra \n */
- if (outstr->len > 2 &&
- outstr->str[outstr->len - 2] == '}' &&
- outstr->str[outstr->len - 1] == '}')
- g_string_append_c (outstr, '\n');
-
g_string_append_c (outstr, '\n');
}
if (last_prefix && g_strcmp0 (first_prefix, last_prefix) != 0)
{
- if (line_prefix && *line_prefix == ' ')
+ if (line_prefix && line_prefix[0] == ' ')
g_string_append_c (outstr, ' ');
g_string_append (outstr, last_prefix);
g_string_append_c (outstr, '\n');
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]