[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nano-devel
Subject:    [Nano-devel] [PATCH 03/15] options: add -j, --jumpyscrolling, the counterpart of --smooth
From:       Benno Schulenberg <bensberg () telfort ! nl>
Date:       2019-01-31 16:49:29
Message-ID: 20190131164941.14074-3-bensberg () telfort ! nl
[Download RAW message or body]

---
 src/nano.c | 21 ++++++++++++++++-----
 src/nano.h |  3 ++-
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/nano.c b/src/nano.c
index 839afa47..12ab1c07 100644
--- a/src/nano.c
+++ b/src/nano.c
@@ -820,9 +820,6 @@ void usage(void)
 #endif
 	if (!ISSET(RESTRICTED))
 		print_opt("-R", "--restricted", N_("Restricted mode"));
-#ifndef NANO_TINY
-	print_opt("-S", "--smooth", N_("Scroll by line instead of half-screen"));
-#endif
 	print_opt(_("-T <#cols>"), _("--tabsize=<#cols>"),
 					N_("Set width of a tab to #cols columns"));
 	print_opt("-U", "--quickblank", N_("Do quick statusbar blanking"));
@@ -856,6 +853,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
@@ -1980,6 +1980,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
@@ -2081,7 +2082,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
@@ -2157,7 +2158,7 @@ int main(int argc, char **argv)
 				break;
 #ifndef NANO_TINY
 			case 'S':
-				SET(SMOOTH_SCROLL);
+				UNSET(JUMPY_SCROLLING);
 				break;
 #endif
 			case 'T':
@@ -2218,6 +2219,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;
@@ -2407,6 +2413,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
index 5dc5bd94..5b4afa9d 100644
--- 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. */
-- 
2.19.2


_______________________________________________
Nano-devel mailing list
Nano-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/nano-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic