[geany/geany-plugins] 67149c: TableConvert: Respect document's line ending on creating table instead of assuming \n

Frank Lanitz git-noreply at xxxxx
Sun Oct 5 13:23:57 UTC 2014


Branch:      refs/heads/master
Author:      Frank Lanitz <frank at frank.uvena.de>
Committer:   Frank Lanitz <frank at frank.uvena.de>
Date:        Sun, 05 Oct 2014 13:23:57 UTC
Commit:      67149c4119b65971173e853ded64eb978dab96c9
             https://github.com/geany/geany-plugins/commit/67149c4119b65971173e853ded64eb978dab96c9

Log Message:
-----------
TableConvert: Respect document's line ending on creating table instead of assuming \n


Modified Paths:
--------------
    tableconvert/src/tableconvert.c

Modified: tableconvert/src/tableconvert.c
24 lines changed, 20 insertions(+), 4 deletions(-)
===================================================================
@@ -50,6 +50,8 @@ typedef struct {
 	const gchar *columnsplit;
 	const gchar *linestart;
 	const gchar *lineend;
+	/* linesplit should keep empty until you really need some special
+	 * logic there. */
 	const gchar *linesplit;
 	const gchar *end;
 } TableConvertRule;
@@ -71,7 +73,7 @@ TableConvertRule tablerules[] = {
 		" & ",
 		"\t",
 		"\\\\",
-		"\n",
+		"",
 		"\\end{tabular}\n\\end{table}"
 	},
 	/* HTML */
@@ -84,7 +86,7 @@ TableConvertRule tablerules[] = {
 		"</td>\n\t<td>",
 		"<tr>\n\t<td>",
 		"</td>\n</tr>",
-		"\n",
+		"",
 		"\n</table>"
 	},
 	/* SQL */
@@ -97,7 +99,7 @@ TableConvertRule tablerules[] = {
 		"','",
 		"\t('",
 		"')",
-		",\n",
+		",",
 		";"
 	}
 };
@@ -111,6 +113,8 @@ static gchar* convert_to_table_worker(gchar **rows, gboolean header,
 	guint i;
 	guint j;
 	GString *replacement_str = NULL;
+	GeanyDocument *doc = NULL;
+	doc = document_get_current();
 
 	g_return_val_if_fail(rows != NULL, NULL);
 
@@ -152,7 +156,19 @@ static gchar* convert_to_table_worker(gchar **rows, gboolean header,
 			g_string_append(replacement_str, columns[j]);
 		}
 
-		g_string_append(replacement_str, rule->lineend);
+		if (utils_str_equal(rule->lineend, ""))
+		{
+			g_string_append(replacement_str, editor_get_eol_char(doc->editor));
+		}
+		else
+		{
+			g_string_append(replacement_str, rule->lineend);
+			if (doc->file_type->id == GEANY_FILETYPES_SQL ||
+				doc->file_type->id == GEANY_FILETYPES_LATEX)
+			{
+				g_string_append(replacement_str, editor_get_eol_char(doc->editor));
+			}
+		}
 
 		if (rows[i+1] != NULL)
 		{



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list