const char *nano_spell_msg = N_("Invoke the spell checker, if available");
const char *nano_gotoline_msg = N_("Go to a specific line number");
const char *nano_replace_msg = N_("Replace text within the editor");
+ const char *nano_mark_msg = N_("Mark text at the cursor position");
+ const char *nano_whereis_next_msg = N_("Repeat last search");
const char *nano_prevline_msg = N_("Move to the previous line");
const char *nano_nextline_msg = N_("Move to the next line");
const char *nano_forward_msg = N_("Move forward one character");
const char *nano_home_msg = N_("Move to the beginning of the current line");
const char *nano_end_msg = N_("Move to the end of the current line");
const char *nano_refresh_msg = N_("Refresh (redraw) the current screen");
- const char *nano_mark_msg = N_("Mark text at the cursor position");
const char *nano_delete_msg = N_("Delete the character under the cursor");
const char *nano_backspace_msg =
N_("Delete the character to the left of the cursor");
#ifndef DISABLE_JUSTIFY
const char *nano_fulljustify_msg = N_("Justify the entire file");
#endif
-#ifndef NANO_SMALL
-#ifdef HAVE_REGEX_H
+#if !defined(NANO_SMALL) && defined(HAVE_REGEX_H)
const char *nano_bracket_msg = N_("Find other bracket");
-#endif
- const char *nano_whereis_next_msg = N_("Repeat last search");
#endif
const char *nano_cancel_msg = N_("Cancel the current function");
const char *nano_firstline_msg = N_("Go to the first line of the file");
IFHELP(nano_replace_msg, NANO_ALT_REPLACE_KEY), NANO_REPLACE_FKEY,
NANO_NO_KEY, NOVIEW, do_replace);
+ sc_init_one(&main_list, NANO_MARK_KEY, N_("Mark Text"),
+ IFHELP(nano_mark_msg, NANO_MARK_ALTKEY), NANO_MARK_FKEY,
+ NANO_NO_KEY, NOVIEW,
+#ifndef NANO_SMALL
+ do_mark
+#else
+ nano_disabled_msg
+#endif
+ );
+
+ sc_init_one(&main_list, NANO_NO_KEY, N_("Where Is Next"),
+ IFHELP(nano_whereis_next_msg, NANO_WHEREIS_NEXT_KEY),
+ NANO_WHEREIS_NEXT_FKEY, NANO_NO_KEY, VIEW,
+#ifndef NANO_SMALL
+ do_research
+#else
+ nano_disabled_msg
+#endif
+ );
+
sc_init_one(&main_list, NANO_PREVLINE_KEY, N_("Prev Line"),
IFHELP(nano_prevline_msg, NANO_NO_KEY), NANO_NO_KEY,
NANO_NO_KEY, VIEW, do_up);
IFHELP(nano_refresh_msg, NANO_NO_KEY), NANO_NO_KEY,
NANO_NO_KEY, VIEW, total_refresh);
- sc_init_one(&main_list, NANO_MARK_KEY, N_("Mark Text"),
- IFHELP(nano_mark_msg, NANO_MARK_ALTKEY),
- NANO_NO_KEY, NANO_NO_KEY, NOVIEW,
-#ifndef NANO_SMALL
- do_mark
-#else
- nano_disabled_msg
-#endif
- );
-
sc_init_one(&main_list, NANO_DELETE_KEY, N_("Delete"),
IFHELP(nano_delete_msg, NANO_NO_KEY), NANO_NO_KEY,
NANO_NO_KEY, NOVIEW, do_delete);
NANO_NO_KEY, NOVIEW, do_full_justify);
#endif
-#ifndef NANO_SMALL
-#ifdef HAVE_REGEX_H
+#if !defined(NANO_SMALL) && defined(HAVE_REGEX_H)
sc_init_one(&main_list, NANO_NO_KEY, N_("Find Other Bracket"),
IFHELP(nano_bracket_msg, NANO_BRACKET_KEY), NANO_NO_KEY,
NANO_NO_KEY, VIEW, do_find_bracket);
#endif
- sc_init_one(&main_list, NANO_NO_KEY, N_("Where Is Next"),
- IFHELP(nano_whereis_next_msg, NANO_WHEREIS_NEXT_KEY),
- NANO_NO_KEY, NANO_NO_KEY, VIEW, do_research);
-#endif
-
free_shortcutage(&whereis_list);
sc_init_one(&whereis_list, NANO_HELP_KEY, get_help_msg,
* omitted. (Same as above.)
* - F13 on FreeBSD console == End on Mach console; the former is
* omitted. (Same as above.)
+ * - F15 on FreeBSD console == Shift-Up on rxvt/Eterm; the former is
+ * omitted. (The arrow keys, with or without modifiers, are more
+ * important to have working than the function keys, because the
+ * functions of the former are not arbitrary and the functions of the
+ * latter are.)
+ * - F16 on FreeBSD console == Shift-Down on rxvt/Eterm; the former is
+ * omitted. (Same as above.)
*
* Note that Center (5) on the numeric keypad with NumLock off can also
* be the Begin key. */
* keypad sequence. Supported extended keypad values consist of [arrow
* key], Ctrl-[arrow key], Shift-[arrow key], Enter, Backspace, the
* editing keypad (Insert, Delete, Home, End, PageUp, and PageDown), the
- * function keypad (F1-F14), and the numeric keypad with NumLock off.
+ * function keypad (F1-F16), and the numeric keypad with NumLock off.
* Assume nodelay(win) is FALSE. */
int get_kbinput(WINDOW *win, bool *meta_key, bool *func_key)
{
* xterm. */
retval = KEY_F(14);
break;
+ case 'R': /* Esc O 2 R == F15 on
+ * xterm. */
+ retval = KEY_F(15);
+ break;
+ case 'S': /* Esc O 2 S == F16 on
+ * xterm. */
+ retval = KEY_F(16);
+ break;
}
}
break;
* rxvt/Eterm. */
retval = KEY_F(14);
break;
+ case '8': /* Esc [ 2 8 ~ == F15 on
+ * VT220/VT320/Linux console/
+ * rxvt/Eterm. */
+ retval = KEY_F(15);
+ break;
+ case '9': /* Esc [ 2 9 ~ == F16 on
+ * VT220/VT320/Linux console/
+ * rxvt/Eterm. */
+ retval = KEY_F(16);
+ break;
default: /* Esc [ 2 ~ == Insert on
* VT220/VT320/Linux console/
* xterm. */