commit 401e43969c5dda4d966a04e1ffaaf257a5f7d612
parent 5dbd9c004362cd00a0efac2df376b3bdfb62079a
Author: Benno Schulenberg <bensberg@telfort.nl>
Date: Fri, 25 Jan 2019 15:44:52 +0100
options: add -j, --jumpyscrolling, the counterpart of --smooth
Diffstat:
2 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/src/nano.c b/src/nano.c
@@ -858,6 +858,9 @@ void usage(void)
print_opt("-h", "--help", N_("Show this help text and exit"));
#ifndef NANO_TINY
print_opt("-i", "--autoindent", N_("Automatically indent new lines"));
+#endif
+ print_opt("-j", "--jumpyscrolling", N_("Scroll per half-screen, not per line"));
+#ifndef NANO_TINY
print_opt("-k", "--cutfromcursor", N_("Cut from cursor to end of line"));
#endif
#ifdef ENABLE_LINENUMBERS
@@ -1985,6 +1988,7 @@ int main(int argc, char **argv)
{"showcursor", 0, NULL, 'g'},
#endif
{"help", 0, NULL, 'h'},
+ {"jumpyscrolling", 0, NULL, 'j'},
#ifdef ENABLE_LINENUMBERS
{"linenumbers", 0, NULL, 'l'},
#endif
@@ -2086,7 +2090,7 @@ int main(int argc, char **argv)
while ((optchr =
getopt_long(argc, argv,
- "ABC:DEFGHIKLMNOPQ:RST:UVWX:Y:Zabcdfghiklmno:pr:s:tuvwxyz$",
+ "ABC:DEFGHIKLMNOPQ:RST:UVWX:Y:Zabcdfghijklmno:pr:s:tuvwxyz$",
long_options, NULL)) != -1) {
switch (optchr) {
#ifndef NANO_TINY
@@ -2162,7 +2166,7 @@ int main(int argc, char **argv)
break;
#ifndef NANO_TINY
case 'S':
- SET(SMOOTH_SCROLL);
+ UNSET(JUMPY_SCROLLING);
break;
#endif
case 'T':
@@ -2223,6 +2227,11 @@ int main(int argc, char **argv)
case 'i':
SET(AUTOINDENT);
break;
+#endif
+ case 'j':
+ SET(JUMPY_SCROLLING);
+ break;
+#ifndef NANO_TINY
case 'k':
SET(CUT_FROM_CURSOR);
break;
@@ -2412,6 +2421,11 @@ int main(int argc, char **argv)
else
SET(NO_NEWLINES);
+ if (ISSET(JUMPY_SCROLLING))
+ UNSET(SMOOTH_SCROLL);
+ else
+ SET(SMOOTH_SCROLL);
+
/* 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
@@ -542,7 +542,8 @@ enum
AFTER_ENDS,
LET_THEM_ZAP,
BREAK_LONG_LINES,
- FINAL_NEWLINE
+ FINAL_NEWLINE,
+ JUMPY_SCROLLING
};
/* Flags for the menus in which a given function should be present. */