nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nano-devel] [PATCH 02/15] options: add -f, --finalnewline, the counterp


From: Benno Schulenberg
Subject: [Nano-devel] [PATCH 02/15] options: add -f, --finalnewline, the counterpart of --nonewlines
Date: Thu, 31 Jan 2019 17:49:28 +0100

---
 src/nano.c | 16 ++++++++++++----
 src/nano.h |  3 ++-
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/nano.c b/src/nano.c
index a2d9e6db..839afa47 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -800,8 +800,6 @@ void usage(void)
 #endif
        print_opt("-K", "--rawsequences",
                                        N_("Fix numeric keypad key confusion 
problem"));
-       print_opt("-L", "--nonewlines",
-                                       N_("Don't add newlines to the ends of 
files"));
 #ifdef ENABLED_WRAPORJUSTIFY
        print_opt("-M", "--trimblanks",
                                        N_("Trim tail spaces when 
hard-wrapping"));
@@ -850,6 +848,7 @@ void usage(void)
        print_opt("-c", "--constantshow", N_("Constantly show cursor 
position"));
        print_opt("-d", "--rebinddelete",
                                        N_("Fix Backspace/Delete confusion 
problem"));
+       print_opt("-f", "--finalnewline", N_("Ensure that text ends with a 
newline"));
 #ifdef ENABLE_BROWSER
        if (!ISSET(RESTRICTED))
                print_opt("-g", "--showcursor", N_("Show cursor in file browser 
& help text"));
@@ -1976,6 +1975,7 @@ int main(int argc, char **argv)
 #endif
                {"constantshow", 0, NULL, 'c'},
                {"rebinddelete", 0, NULL, 'd'},
+               {"finalnewline", 0, NULL, 'f'},
 #ifdef ENABLE_BROWSER
                {"showcursor", 0, NULL, 'g'},
 #endif
@@ -2081,7 +2081,7 @@ int main(int argc, char **argv)
 
        while ((optchr =
                getopt_long(argc, argv,
-                               
"ABC:DEFGHIKLMNOPQ:RST:UVWX:Y:Zabcdghiklmno:pr:s:tuvwxyz$",
+                               
"ABC:DEFGHIKLMNOPQ:RST:UVWX:Y:Zabcdfghiklmno:pr:s:tuvwxyz$",
                                long_options, NULL)) != -1) {
                switch (optchr) {
 #ifndef NANO_TINY
@@ -2127,7 +2127,7 @@ int main(int argc, char **argv)
                                SET(RAW_SEQUENCES);
                                break;
                        case 'L':
-                               SET(NO_NEWLINES);
+                               UNSET(FINAL_NEWLINE);
                                break;
 #ifdef ENABLED_WRAPORJUSTIFY
                        case 'M':
@@ -2205,6 +2205,9 @@ int main(int argc, char **argv)
                        case 'd':
                                SET(REBIND_DELETE);
                                break;
+                       case 'f':
+                               SET(FINAL_NEWLINE);
+                               break;
                        case 'g':
                                SET(SHOW_CURSOR);
                                break;
@@ -2399,6 +2402,11 @@ int main(int argc, char **argv)
                SET(NO_WRAP);
 #endif
 
+       if (ISSET(FINAL_NEWLINE))
+               UNSET(NO_NEWLINES);
+       else
+               SET(NO_NEWLINES);
+
        /* If the user wants bold instead of reverse video for hilited text... 
*/
        if (ISSET(BOLD_TEXT))
                hilite_attribute = A_BOLD;
diff --git a/src/nano.h b/src/nano.h
index 02290695..5dc5bd94 100644
--- a/src/nano.h
+++ b/src/nano.h
@@ -541,7 +541,8 @@ enum
        AT_BLANKS,
        AFTER_ENDS,
        LET_THEM_ZAP,
-       BREAK_LONG_LINES
+       BREAK_LONG_LINES,
+       FINAL_NEWLINE
 };
 
 /* Flags for the menus in which a given function should be present. */
-- 
2.19.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]