[geany/geany-plugins] 11800f: lineoperations: minor formatting
Sylvan Mostert
git-noreply at xxxxx
Tue Jan 3 21:46:08 UTC 2017
Branch: refs/heads/master
Author: Sylvan Mostert <smostert.dev at gmail.com>
Committer: Sylvan Mostert <smostert.dev at gmail.com>
Date: Fri, 09 Sep 2016 05:48:18 UTC
Commit: 11800f4889bf0a060d8b00a3b8e7fd47910fe6f4
https://github.com/geany/geany-plugins/commit/11800f4889bf0a060d8b00a3b8e7fd47910fe6f4
Log Message:
-----------
lineoperations: minor formatting
Removed unreachable sci operation.
Modified Paths:
--------------
lineoperations/src/linefunctions.c
lineoperations/src/lineoperations.c
Modified: lineoperations/src/linefunctions.c
63 lines changed, 48 insertions(+), 15 deletions(-)
===================================================================
@@ -40,12 +40,13 @@ compare_desc(const void * a, const void * b)
/* Remove Duplicate Lines, sorted */
-void
+gint
rmdupst(gchar **lines, gint num_lines, gchar *new_file)
{
- gchar *nf_end = new_file; /* points to last char of new_file */
- gchar *lineptr = (gchar *)""; /* temporary line pointer */
- gint i = 0; /* iterator */
+ gchar *nf_end = new_file; /* points to last char of new_file */
+ gchar *lineptr = (gchar *)" "; /* temporary line pointer */
+ gint i = 0; /* iterator */
+ gint changed = 0; /* number of lines removed */
/* sort **lines ascending */
qsort(lines, num_lines, sizeof(gchar *), compare_asc);
@@ -55,21 +56,26 @@ rmdupst(gchar **lines, gint num_lines, gchar *new_file)
{
if(strcmp(lines[i], lineptr) != 0)
{
- lineptr = lines[i];
- nf_end = g_stpcpy(nf_end, lines[i]);
+ changed++; /* number of lines kept */
+ lineptr = lines[i];
+ nf_end = g_stpcpy(nf_end, lines[i]);
}
}
+
+ /* return the number of lines deleted */
+ return -(num_lines - changed);
}
/* Remove Duplicate Lines, ordered */
-void
+gint
rmdupln(gchar **lines, gint num_lines, gchar *new_file)
{
gchar *nf_end = new_file; /* points to last char of new_file */
gint i = 0; /* iterator */
gint j = 0; /* iterator */
gboolean *to_remove = NULL; /* flag to 'mark' which lines to remove */
+ gint changed = 0; /* number of lines removed */
/* allocate and set *to_remove to all FALSE
@@ -96,21 +102,28 @@ rmdupln(gchar **lines, gint num_lines, gchar *new_file)
/* copy **lines into 'new_file' if it is not FALSE (not duplicate) */
for(i = 0; i < num_lines; i++)
if(!to_remove[i])
- nf_end = g_stpcpy(nf_end, lines[i]);
+ {
+ changed++; /* number of lines kept */
+ nf_end = g_stpcpy(nf_end, lines[i]);
+ }
/* free used memory */
g_free(to_remove);
+
+ /* return the number of lines deleted */
+ return -(num_lines - changed);
}
/* Remove Unique Lines */
-void
+gint
rmunqln(gchar **lines, gint num_lines, gchar *new_file)
{
gchar *nf_end = new_file; /* points to last char of new_file */
- gint i = 0; /* iterator */
- gint j = 0; /* iterator */
+ gint i = 0; /* iterator */
+ gint j = 0; /* iterator */
gboolean *to_remove = NULL; /* to 'mark' which lines to remove */
+ gint changed = 0; /* number of lines removed */
/* allocate and set *to_remove to all TRUE
@@ -133,17 +146,24 @@ rmunqln(gchar **lines, gint num_lines, gchar *new_file)
/* copy **lines into 'new_file' if it is not FALSE(not duplicate) */
for(i = 0; i < num_lines; i++)
if(!to_remove[i])
+ {
+ changed++; /* number of lines kept */
nf_end = g_stpcpy(nf_end, lines[i]);
+ }
/* free used memory */
g_free(to_remove);
+
+ /* return the number of lines deleted */
+ return -(num_lines - changed);
}
/* Remove Empty Lines */
-void
+gint
rmemtyln(ScintillaObject *sci, gint line_num, gint end_line_num)
{
+ gint changed = 0; /* number of lines removed */
while(line_num <= end_line_num) /* loop through lines */
{
@@ -158,17 +178,22 @@ rmemtyln(ScintillaObject *sci, gint line_num, gint end_line_num)
line_num--;
end_line_num--;
+ changed++;
}
line_num++;
}
+
+ /* return the number of lines deleted */
+ return -changed;
}
/* Remove Whitespace Lines */
-void
+gint
rmwhspln(ScintillaObject *sci, gint line_num, gint end_line_num)
{
gint indent; /* indent position */
+ gint changed = 0; /* number of lines removed */
while(line_num <= end_line_num) /* loop through lines */
{
@@ -189,15 +214,19 @@ rmwhspln(ScintillaObject *sci, gint line_num, gint end_line_num)
line_num--;
end_line_num--;
+ changed++;
}
line_num++;
}
+
+ /* return the number of lines deleted */
+ return -changed;
}
/* Sort Lines Ascending */
-void
+gint
sortlnsasc(gchar **lines, gint num_lines, gchar *new_file)
{
gchar *nf_end = new_file; /* points to last char of new_file */
@@ -208,11 +237,13 @@ sortlnsasc(gchar **lines, gint num_lines, gchar *new_file)
/* join **lines into one string (new_file) */
for(i = 0; i < num_lines; i++)
nf_end = g_stpcpy(nf_end, lines[i]);
+
+ return num_lines;
}
/* Sort Lines Descending */
-void
+gint
sortlndesc(gchar **lines, gint num_lines, gchar *new_file)
{
gchar *nf_end = new_file; /* points to last char of new_file */
@@ -223,4 +254,6 @@ sortlndesc(gchar **lines, gint num_lines, gchar *new_file)
/* join **lines into one string (new_file) */
for(i = 0; i < num_lines; i++)
nf_end = g_stpcpy(nf_end, lines[i]);
+
+ return num_lines;
}
Modified: lineoperations/src/lineoperations.c
22 lines changed, 11 insertions(+), 11 deletions(-)
===================================================================
@@ -58,18 +58,18 @@ select_lines(GeanyEditor *editor, struct lo_lines sel)
static struct lo_lines
get_current_sel_lines(ScintillaObject *sci)
{
- struct lo_lines sel = { 0, 0 };
+ struct lo_lines sel = { FALSE, 0, 0 };
gint start_posn = 0; /* position of selection start */
gint end_posn = 0; /* position of selection end */
/* check for selection */
if(sci_has_selection(sci))
{
- /* get the start and end positions */
+ /* get the start and end *positions* */
start_posn = sci_get_selection_start(sci);
end_posn = sci_get_selection_end (sci);
- /* get the line number of those positions */
+ /* get the *line number* of those positions */
sel.start_line = scintilla_send_message(sci,
SCI_LINEFROMPOSITION,
start_posn, 0);
@@ -106,6 +106,8 @@ ensure_final_newline(GeanyEditor *editor, gint *num_lines, struct lo_lines *sel)
{
const gchar *eol = editor_get_eol_char(editor);
sci_insert_text(editor->sci, end_document, eol);
+
+ /* re-adjust the selection */
(*num_lines)++;
(*sel).end_line++;
}
@@ -123,9 +125,9 @@ user_indicate(GeanyEditor *editor, gint lines_affected, struct lo_lines sel)
/* select lines to indicate to user what lines were altered */
sel.end_line += lines_affected;
-
+
if(sel.is_selection)
- select_lines(editor, sel);
+ select_lines(editor, sel);
}
else if(lines_affected == 0)
{
@@ -142,7 +144,7 @@ user_indicate(GeanyEditor *editor, gint lines_affected, struct lo_lines sel)
/* select lines to indicate to user what lines were altered */
if(sel.is_selection)
- select_lines(editor, sel);
+ select_lines(editor, sel);
}
}
@@ -184,7 +186,7 @@ action_indir_manip_item(GtkMenuItem *menuitem, gpointer gdata)
gchar *new_file = g_malloc(sizeof(gchar) * (num_chars + 1));
new_file[0] = '\0';
- /* select lines to indicate to user what lines were altered */
+ /* select lines that will be replaced with array */
select_lines(doc->editor, sel);
sci_start_undo_action(doc->editor->sci);
@@ -195,11 +197,9 @@ action_indir_manip_item(GtkMenuItem *menuitem, gpointer gdata)
/* set new document */
- if(sci_has_selection(doc->editor->sci))
- sci_replace_sel(doc->editor->sci, new_file);
- else
- sci_set_text(doc->editor->sci, new_file);
+ sci_replace_sel(doc->editor->sci, new_file);
+ /* select affected lines and set statusbar message */
user_indicate(doc->editor, lines_affected, sel);
sci_end_undo_action(doc->editor->sci);
--------------
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