David Lawrence Ramsey
f55a3fabef
input: recognize some escape sequences for <Shift+Delete>
...
Also, hard-bind <Shift+Delete> in the same way as <Backspace>.
This fixes https://savannah.gnu.org/bugs/?54948 ,
and fixes https://savannah.gnu.org/bugs/?54975 .
2018-11-07 19:17:16 +01:00
Benno Schulenberg
7ee07af081
tweaks: reshuffle a couple of conditions, to group things better
2018-11-06 20:56:16 +01:00
Benno Schulenberg
15ec0eb3ee
bindings: make <Alt+Up> and <Alt+Down> work also on a Linux console
...
This fixes https://savannah.gnu.org/bugs/?54964 .
2018-11-06 20:55:09 +01:00
Benno Schulenberg
7dad21f4f4
tweaks: don't bother asking ncurses for keycodes for shifted Left/Right
...
These modified keys have codes by default: KEY_SLEFT and KEY_SRIGHT.
It's just the shifted Up/Down keys that don't have default codes.
2018-11-06 19:18:54 +01:00
Benno Schulenberg
9923b073af
tweaks: include an extra function call only where it is needed
...
And fix a typo.
2018-11-05 10:21:17 +01:00
Benno Schulenberg
9d9ae8dc76
tweaks: add two more translator hints
2018-11-05 09:54:06 +01:00
Benno Schulenberg
77826c2b06
tweaks: stop setting and requiring the Meta flag for special keycodes
...
Set the Meta flag only for the regular Meta keystrokes: "M-" plus a
printable ASCII character. The special keycodes are unique and do
not need any extra flags to differentiate them.
2018-11-04 20:35:15 +01:00
Benno Schulenberg
89760cd6ec
tweaks: reshuffle some conditions, putting the least likely one first
2018-11-04 20:34:50 +01:00
David Lawrence Ramsey
f02e2d3b6e
input: properly recognize Alt+Delete when using -K/--rebindkeypad
...
This works for xterm, rxvt, Eterm, Konsole, and xfce4-terminal, which
generate "Esc [ 3 ; 3 ~", but not for urxvt, which generates one of
its double-escape sequences, "Esc Esc [ 3 ~".
2018-11-04 11:47:09 +01:00
Brand Huntsman
252f14796e
bindings: hard-bind the zap function to M-Del (Alt+Delete)
...
So that the function is available in a default setup.
Signed-off-by: Brand Huntsman <alpha@qzx.com>
2018-11-04 11:47:03 +01:00
Benno Schulenberg
518a2b4c45
tweaks: remove some old debugging code
2018-10-24 17:41:32 +02:00
Benno Schulenberg
b7f53096fb
display: use a different color when showing a linting message
...
This is a second step to address https://savannah.gnu.org/bugs/?54714 .
2018-10-23 19:31:40 +02:00
Benno Schulenberg
f7f7767e7d
display: let the title bar show when nano is in linting mode
...
This is a first step to address https://savannah.gnu.org/bugs/?54714 .
2018-10-23 19:30:22 +02:00
Brand Huntsman
d342cbbff8
display: make all dying messages end in a newline
...
So that the following shell prompt will not be glued onto the message
but will be on a line by itself.
Signed-off-by: Brand Huntsman <alpha@qzx.com>
2018-10-21 17:27:58 +02:00
David Lawrence Ramsey
6ed0a12d80
tweaks: join two lines, and add a clarifying comment
2018-10-16 19:18:58 +02:00
David Lawrence Ramsey
dda9d4e357
input: don't detect <Ctrl+Shift+Delete> on Linux console in tiny version
2018-10-16 19:15:33 +02:00
David Lawrence Ramsey
53865ced9d
weeding: remove the 'active' parameter from spotlight()
...
After the previous change, it is always TRUE and thus pointless.
2018-10-09 20:03:52 +02:00
David Lawrence Ramsey
c2e4f77594
display: do spotlighting as part of drawing the screen
...
When something is spotlighted, it should survive a refresh of
the screen and an excursion to a help text, so the spotlight
should get painted whenever the edit window is drawn.
This fully fixes https://savannah.gnu.org/bugs/?54721 .
2018-10-09 20:03:47 +02:00
Benno Schulenberg
826be439db
bindings: make the Shift+arrow keys work by default on more terminals
...
Ask ncurses for the codes for the Shift+arrow keys, so that also
<Shift+Up> and <Shift+Down> can be recognized, for which ncurses
doesn't have standard codes.
This fixes https://savannah.gnu.org/bugs/?54790 .
Reported-by: Javier Valencia <javiervalencia80@gmail.com>
2018-10-07 10:17:10 +02:00
Benno Schulenberg
8bffc8ea53
tweaks: add a comment, and correct an indentation
2018-10-05 20:32:02 +02:00
Benno Schulenberg
fb8d981bfa
tweaks: exclude word-deletion keystrokes from the tiny version
...
Because word deletion is not available there.
2018-10-05 19:24:38 +02:00
Benno Schulenberg
0b63de335e
tweaks: elide a wrapper function that is no longer useful
2018-09-28 20:09:12 +02:00
Benno Schulenberg
628eef28b3
bindings: make the linter separately accessible, through M-B by default
...
This allows running the speller (default binding: ^T) also on files for
which a linter has been defined. This makes it possible to spell check
comment blocks in source files, for example.
This fulfills https://savannah.gnu.org/bugs/?54711 .
Requested-by: Mike Frysinger <vapier@gentoo.org>
2018-09-28 20:08:59 +02:00
Benno Schulenberg
600295a3af
bindings: when implanting a string, make sure to use positive values
...
This fixes https://savannah.gnu.org/bugs/?54712 .
2018-09-28 19:51:53 +02:00
Benno Schulenberg
e998814bbc
help: show the keystroke <Ctrl+Shift+Delete> as "Sh-^Del"
...
And in the bargain always return a fixed code instead of searching for
a keystroke that is bound to 'cutwordleft' (which might fail).
2018-09-23 19:57:04 +02:00
Benno Schulenberg
fe6cb6e516
bindings: recognize <Ctrl+Shift+Delete> also on a Linux console
...
This fixes https://savannah.gnu.org/bugs/?54716 .
2018-09-23 19:43:27 +02:00
Benno Schulenberg
65e4784eec
bindings: bind ASCII DEL during startup instead of repeatedly at runtime
2018-09-18 19:14:05 +02:00
Benno Schulenberg
4e7b92ed4c
tweaks: sharpen an optimization, to allow DEL to be a shortcut
2018-09-16 19:21:27 +02:00
Benno Schulenberg
b84d7bf7a5
input: keep the cursor in edit window after message, also on NetBSD
...
This fixes https://savannah.gnu.org/bugs/?54632 .
2018-09-12 15:22:53 +02:00
Benno Schulenberg
6840205e84
tweaks: remove a superfluous comment and a redundant assignment
2018-09-12 15:07:44 +02:00
Benno Schulenberg
3c5e5d4b6f
input: recognize the sequences for Ctrl+Shift+Delete on xterm and urxvt
...
This fixes https://savannah.gnu.org/bugs/?54648 .
2018-09-12 15:04:59 +02:00
Benno Schulenberg
c7affe17c0
build: fix compilation again when configured with --enable-tiny
2018-09-08 12:24:12 +02:00
Benno Schulenberg
e6429e782a
bindings: hard-bind <Ctrl+Shift+Delete> to 'cutwordleft'
...
On FreeBSD and NetBSD (when reached through ssh from a Linux machine)
this has the absurd effect of making <Ctrl+Backspace> do a 'cutwordleft'
by default, out of the box, without needing any rebindings. Weird, but
wonderful, because the ideal behavior.
Also ensure that <Shift+Delete> always does a Backspace.
This makes that we have the following set of "congruent" keys:
<Tab> moves text to the right,
<Shift+Tab> moves text to the left,
<Delete> "eats" a character to the right,
<Shift+Delete> "eats" a character to the left,
<Ctrl+Delete> "eats" a word to the right,
<Shift+Ctrl+Delete> "eats" a word to the left.
2018-09-07 19:31:38 +02:00
Brand Huntsman
6e80772311
tweaks: correct four spaces of indentation to a tab, in two places
...
Signed-off-by: Brand Huntsman <alpha@qzx.com>
2018-08-29 18:01:21 +02:00
Brand Huntsman
25e9877607
statusbar: elevate three messages to an ALERT, to make them more visible
...
Signed-off-by: Brand Huntsman <alpha@qzx.com>
2018-08-28 20:02:59 +02:00
Benno Schulenberg
975b491235
dropping a feature: remove the ability to use the 'formatter' command
...
Since the last version, the user can filter an entire buffer through
an external command. This external command can also be a formatting
program, so there is no longer any need for this specific and special
formatter command.
2018-08-09 20:29:30 +02:00
Marco Diego Aurélio Mesquita
a67f6c6031
input: erase the next word when Ctrl is held while pressing Delete
...
Bind the until-now unbound function 'cutwordright' to <Ctrl+Delete>.
The complementary function, 'cutwordleft', is not bound by default
because on many terminals the keystroke <Ctrl+Backspace> generates
^H -- the canonical ASCII backspace character. We cannot change the
existing action of ^H without upsetting some users.
Signed-off-by: Marco Diego Aurélio Mesquita <marcodiegomesquita@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2018-07-22 19:27:50 +02:00
Benno Schulenberg
46f5d51fb5
input: fully consume modified PgUp and PgDn keys also in the tiny version
...
They should not enter a digit plus a squiggle into the buffer.
2018-07-17 18:28:55 +02:00
Benno Schulenberg
b99ec28a60
tweaks: recognize escape sequences of modified Ins/Del more precisely
...
The third character after the escape must be a semicolon.
2018-07-16 18:45:41 +02:00
Benno Schulenberg
b2acffe5be
input: stop <Alt+Insert> from entering "3~" into the buffer
2018-07-16 18:45:21 +02:00
Benno Schulenberg
2fef7f647d
input: stop a modified Delete key from entering stuff into the buffer
...
When using option -K on an xterm-like terminal, pressing <Shift+Del>,
<Alt+Del>, or <Ctrl+Del> would enter "2~", "3~", or "5~", respectively,
into the buffer. Now it will just report an "Unknown sequence".
2018-07-15 09:22:55 +02:00
Benno Schulenberg
89c0e7493f
tweaks: don't call va_start() without calling va_end() [coverity scan]
2018-07-14 21:15:23 +02:00
Benno Schulenberg
ecc9211afc
input: ignore any <Escape>s before a valid command keystroke
...
Just like an <Esc> before a Ctrl+letter keystroke is ignored, an <Esc>
before an Alt+letter keystroke should be ignored too -- it should not
be interpreted as if the user had typed <Esc> <Esc> letter.
This fixes https://savannah.gnu.org/bugs/?54301 .
2018-07-13 09:27:38 +02:00
Benno Schulenberg
ab0897072a
input: consume the whole escape sequence for modified PgUp and PgDn keys
...
Even when we don't act on most of these combinations, at least eat up
the whole sequence so the unknown keystroke doesn't enter things like
"3~" into the buffer.
This fixes https://savannah.gnu.org/bugs/?54291 .
2018-07-13 09:25:01 +02:00
David Lawrence Ramsey
fce54a724d
tweaks: fix some grammar plus a typo in the comments
2018-05-27 20:19:46 +02:00
Benno Schulenberg
455899fe27
credits: sort the names roughly according to amount of influence
...
And spell-fix a name.
2018-05-16 12:05:40 +02:00
Benno Schulenberg
87283711ee
tweaks: improve a couple of comments
2018-05-10 18:10:23 +02:00
Benno Schulenberg
0da554e6d7
startup: suggest using ^D to finish reading from standard input
...
Also, add a period after the "Read nn lines" message, and
don't let the next shell prompt overwrite this message.
This addresses https://savannah.gnu.org/bugs/?53779 .
2018-05-01 11:15:19 +02:00
Benno Schulenberg
d4304ca88c
search: use a better value to mean "nothing was typed"
...
When the keyboard buffer is empty, return a value that is not equivalent
to <Ctrl+Space>, so that typing a bunch of these while searching is going
on will not result in some of them getting executed afterward.
2018-04-13 20:13:05 +02:00
Benno Schulenberg
bf1a080923
build: exclude more things when configured with --disable-multibuffer
...
This will make the tiny version slightly smaller.
2018-03-23 11:09:37 +01:00
Benno Schulenberg
1ebb1da382
tweaks: elide a parameter that is always 1
...
And adjust the comments accordingly.
2018-03-10 12:43:33 +01:00
Benno Schulenberg
5eccaa7633
tweaks: refactor the implanting of a key expansion
2018-02-27 13:34:32 +01:00
Benno Schulenberg
ffebd31cbb
tweaks: shorten the name of two record elements
...
Exclude the confusing, pleonastic 'sc' abbreviation from their names.
2018-02-24 19:31:11 +01:00
Benno Schulenberg
b027263a37
small addition: allow customizing the color of an error message
...
The new option 'set errorcolor' allows the user to specify the color
combination for the status bar when an error message is displayed.
2018-02-23 12:35:17 +01:00
Benno Schulenberg
a083d7f1e1
tweaks: rename a variable to be more distinct and greppable
2018-02-04 18:25:10 +01:00
Benno Schulenberg
58ed3a8152
display: wipe the status bar when doing a total refresh
...
This fixes https://savannah.gnu.org/bugs/?52997 .
2018-01-28 21:08:28 +01:00
Benno Schulenberg
e11021a7a5
input: recognize the deviant keycode for <Ctrl+End> in urxvt
...
This fixes https://savannah.gnu.org/bugs/?52972 .
Reported-by: Brand Huntsman <alpha@qzx.com>
2018-01-28 16:15:21 +01:00
Benno Schulenberg
83c264939b
tweaks: move a bunch of comments to the lines that they refer to
2018-01-28 13:41:46 +01:00
Benno Schulenberg
b18e76d4d8
tweaks: drop two unneeded initializations, and trim a comment
2018-01-27 20:26:15 +01:00
Benno Schulenberg
f5c87a7fee
tweaks: swap the row and col parameters to a more consistent order
2018-01-27 20:00:14 +01:00
Benno Schulenberg
18bf2af9c1
tweaks: rename a function, to be more distinct
...
So one doesn't find it when grepping for get_input().
2018-01-27 11:29:11 +01:00
Benno Schulenberg
f72fecee9b
copyright: update the years for the FSF
...
And one for me, for the much changed keyboard stuff.
2018-01-24 10:14:43 +01:00
Benno Schulenberg
fa7e9b11df
input: recognize more escape sequences for <Shift+Home> and <Shift+End>
...
This fixes the second part of https://savannah.gnu.org/bugs/?52960 .
2018-01-23 19:44:18 +01:00
Benno Schulenberg
838b175d4f
input: recognize escape sequences for <Shift+PageUp> and <Shift+PageDown>
...
This fixes the first part of https://savannah.gnu.org/bugs/?52960 .
2018-01-23 19:32:13 +01:00
Benno Schulenberg
6795d079b1
tweaks: mark the two blocks that have a deviant indentation
...
Also, reshuffle a case, to put the short one first and lose a line.
2018-01-23 18:10:22 +01:00
Benno Schulenberg
e739448cd0
input: consume only the actual length of an escape sequence
...
Instead of assuming that the entire contents of the keybuffer are an
escape sequence (even if this is far longer than any escape sequence
can be), remove from the keybuffer only those integers that actually
constituted a sequence, valid or invalid.
This fixes https://savannah.gnu.org/bugs/?48659 .
2018-01-23 17:31:48 +01:00
Benno Schulenberg
8e328e43c2
input: make <Shift+Tab> do an unindent also on a Manjaro console
...
This fixes https://savannah.gnu.org/bugs/?52943 .
2018-01-23 16:52:51 +01:00
Benno Schulenberg
4ad0490ce4
tweaks: rename a variable, for more contrast
2018-01-20 18:22:24 +01:00
Benno Schulenberg
96b47f2877
tweaks: transform a parameter, from a pointer to the value itself
2018-01-15 20:09:03 +01:00
Benno Schulenberg
7da391beb7
tweaks: drop a superfluous parameter, as it is always 1
2018-01-15 19:54:12 +01:00
Benno Schulenberg
90cf4838d2
tweaks: don't bother to reallocate when the keybuffer size decreases
...
It will be reallocated soon enough when the size increases again.
2018-01-15 19:46:16 +01:00
Benno Schulenberg
caeed6821c
tweaks: reshuffle two condition series, to look better
2018-01-11 13:02:55 +01:00
Benno Schulenberg
eb1bf8f927
tweaks: rename a variable, and further condense some comments
2018-01-11 12:52:14 +01:00
Benno Schulenberg
2c8b99d5e9
tweaks: condense and rewrap some comments, and reindent two lines
...
Also drop an old debugging fragment.
2018-01-11 10:51:18 +01:00
Benno Schulenberg
091dd71f08
tweaks: remove a superfluous case -- there can never be four digits
2018-01-11 10:31:23 +01:00
Benno Schulenberg
837475519b
input: fully reset state when a three-digit character code is cut short
...
There shouldn't be two separate variables (but with the same name) that
count the number of digits seen. Fuse them into a single static var.
This fixes https://savannah.gnu.org/bugs/?52863 .
2018-01-11 10:17:51 +01:00
Benno Schulenberg
31540e3e7e
tweaks: remove a superfluous check, as we insert always one code
2018-01-10 21:32:32 +01:00
Benno Schulenberg
ae3b8579fa
tweaks: condense a condition and a comment, and reshuffle a line
2018-01-10 21:25:19 +01:00
Benno Schulenberg
e1199cd94d
tweaks: elide a tiny intermediate buffer, and rename two variables
...
Use the same method as in parse_verbatim_kbinput() for Unicode input.
2018-01-10 20:33:12 +01:00
Benno Schulenberg
45d2458b47
tweaks: don't bother freeing the key buffer, just reallocate it
2018-01-10 19:25:23 +01:00
Benno Schulenberg
4c505e5127
tweaks: rename a function, for aptness, and drop a superfluous check
2018-01-10 17:40:07 +01:00
Benno Schulenberg
0bb6c0234f
tweaks: condense the conditional compilation of shortcut reassignments
...
These three functions are needed only when both linter and speller
are available.
2018-01-09 13:31:58 +01:00
Benno Schulenberg
17429d7f38
tweaks: fix some whitespace errors, and convert alignment tabs to spaces
2017-12-29 21:35:14 +01:00
Benno Schulenberg
87206c0607
tweaks: convert the indentation to use only tabs
...
Each leading tab is converted to two tabs, and any leading four spaces
is converted to one tab. The intended tab size (for keeping most lines
within 80 columns) is now four.
2017-12-29 20:06:50 +01:00
Benno Schulenberg
b574f73e60
tweaks: add a separate function that actually wipes the status bar
2017-12-29 17:40:41 +01:00
Benno Schulenberg
12073001c2
tweaks: condense, reword, and rewrap a bunch of comments
2017-12-26 22:14:25 +01:00
David Lawrence Ramsey
62ebd93579
tweaks: use printf's z modifier for (s)size_t, instead of casting
2017-12-26 14:11:18 +01:00
Benno Schulenberg
7ad5afb935
tweaks: remove some unneeded parentheses, and shorten two function calls
2017-12-17 20:32:17 +01:00
Benno Schulenberg
e1b0f2b275
display: ensure that cursor is visible when compiled with --with-slang
...
This fixes https://savannah.gnu.org/bugs/?52651 .
Reported-by: David Lawrence Ramsey <pooka109@gmail.com>
2017-12-17 16:34:02 +01:00
Benno Schulenberg
0e0fb452a3
input: optimize a bit for non-shortcut keys, as they are most frequent
2017-12-17 12:49:04 +01:00
David Lawrence Ramsey
f66432e999
input: support backtab when Slang and/or --rebindkeypad is used
...
The escape sequence "Esc [ Z" is a backtab on most supported terminals,
so make sure convert_sequence() treats it as such.
2017-12-17 12:11:35 +01:00
Benno Schulenberg
08e9d30fa2
tweaks: condense some debugging code, and rewrap a line
2017-12-16 21:50:10 +01:00
Benno Schulenberg
031305c205
tweaks: strip some debugging stuff, and condense a bit of code
2017-12-16 19:56:15 +01:00
Benno Schulenberg
09958ebdff
input: allow using <Tab> and <Shift+Tab> to (un)indent selected region
...
When the mark is on, instead of letting a <Tab> simply insert a Tab
character at the cursor position, let it indent the marked region.
Original-idea-by: Chris Allegretta <chrisa@asty.org>
2017-12-12 20:37:41 +01:00
Benno Schulenberg
a95c6c5fe8
tweaks: condense or rewrap a bunch of repetitious comments
2017-12-11 20:02:43 +01:00
Benno Schulenberg
c24e95e3d6
tweaks: elide the 'mark_set' boolean -- the 'mark' pointer is enough
...
The pointer not being NULL is enough indication that the mark is set.
Also, rename the pointer from 'mark_begin' to simply 'mark', since
the former is kind of pleonastic.
2017-11-21 21:14:33 +01:00
Benno Schulenberg
2b438e6ef4
input: make the macro key discoverable by giving feedback when undefined
2017-11-20 19:57:33 +01:00
Benno Schulenberg
5239e7c52b
copyright: update some years, and standardize on the dashed format
2017-11-12 10:46:20 +01:00
Benno Schulenberg
0c2b54a276
tweaks: rename a function plus two parameters, to be more fitting
2017-11-11 20:58:56 +01:00
David Lawrence Ramsey
477b246771
tweaks: use printf's z modifier for most of the size_t/ssize_t types
...
Also, properly refer to numreplaced as signed, since it's ssize_t
(even though it's only shown when positive).
2017-11-07 17:55:21 +01:00