commit 6a0ae5aaa219654ed0003fcede8a29d398bf0581
parent 3ed08c568fddc1eff5fb296c4f90624153e4ac45
Author: Chris Allegretta <chrisa@asty.org>
Date: Mon, 22 Feb 2016 15:10:32 +0000
2016-02-22 Chris Allegretta <chrisa@asty.org>
* Add ability to kill the trailing spaces when justifying
code. New nanorc option kill_spaces_on_wrap, we'll see
whether this warrants a command line flahg or not.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5664 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
4 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-22 Chris Allegretta <chrisa@asty.org>
+ * Add ability to kill the trailing spaces when justifying
+ code. New nanorc option kill_spaces_on_wrap, we'll see
+ whether this warrants a command line flahg or not.
+
2016-02-22 Benno Schulenberg <bensberg@justemail.net>
* src/nano.c (free_openfilestruct): Elide this function.
* scr/global.c (thanks_for_all_the_fish, free_list_item): Condense.
diff --git a/src/nano.h b/src/nano.h
@@ -517,7 +517,8 @@ enum
POS_HISTORY,
LOCKING,
NOREAD_MODE,
- MAKE_IT_UNIX
+ MAKE_IT_UNIX,
+ KILL_TRAILING_SPACES
};
/* Flags for the menus in which a given function should be present. */
diff --git a/src/rcfile.c b/src/rcfile.c
@@ -90,6 +90,7 @@ static const rcoption rcopts[] = {
{"backwards", BACKWARDS_SEARCH},
{"casesensitive", CASE_SENSITIVE},
{"cut", CUT_TO_END},
+ {"kill_spaces_on_wrap", KILL_TRAILING_SPACES},
{"locking", LOCKING},
{"matchbrackets", 0},
{"noconvert", NO_CONVERT},
diff --git a/src/text.c b/src/text.c
@@ -1277,7 +1277,7 @@ bool do_wrap(filestruct *line)
/* If after_break doesn't end in a blank, make sure it ends in a
* space. */
- if (!is_blank_mbchar(end)) {
+ if (!is_blank_mbchar(end) && !ISSET(KILL_TRAILING_SPACES)) {
#ifndef NANO_TINY
add_undo(ADD);
#endif
@@ -2174,7 +2174,10 @@ void do_justify(bool full_justify)
#endif
/* Break the current line. */
- null_at(&openfile->current->data, break_pos);
+ if (ISSET(KILL_TRAILING_SPACES))
+ null_at(&openfile->current->data, break_pos - 1);
+ else
+ null_at(&openfile->current->data, break_pos);
/* Go to the next line. */
par_len--;