From: Chris Allegretta Date: Mon, 22 Feb 2016 15:10:32 +0000 (+0000) Subject: 2016-02-22 Chris Allegretta X-Git-Tag: v2.5.3~16 X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=6a0ae5aaa219654ed0003fcede8a29d398bf0581;p=nano.git 2016-02-22 Chris Allegretta * 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 --- diff --git a/ChangeLog b/ChangeLog index cf0ff8b9..8d674cdc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2016-02-22 Chris Allegretta + * 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 * 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 index 28f1b85b..987ebd2f 100644 --- 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 index 785cd901..6b20b9bc 100644 --- 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 index 996479b8..f16996d6 100644 --- 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--;