Benno Schulenberg
68a0314500
build: add configure option --disable-wordcomp to disable word completion
...
(The variable 'pletion_line' is not conditionalized with this option, as
it would become messy. The compiler will probably be able to elide it.)
When using --enable-tiny, it is not possible to use --enable-wordcomp,
because the word completion function uses the undo system.
2016-12-07 17:02:25 +01:00
Sumedh Pendurkar
dca4ab5d8f
new feature: complete a fragment to a longer word found in the buffer
...
Executing the 'complete_a_word' function will search from the start
of the current buffer for entire words that begin with the fragment
that is before the cursor, and will complete this fragment to the
first word that is found. Each consecutive call of 'complete_a_word'
will search for the next matching word and will complete the fragment
to that. By default the function is bound to the ^] keystroke.
Signed-off-by: Sumedh Pendurkar <sumedh.pendurkar@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2016-12-07 16:42:39 +01:00
Benno Schulenberg
bfcce57b69
screen: remove an unneeded blanking of the statusbar
...
It's redundant because the call of total_refresh() wipes everything.
2016-12-04 12:32:59 +01:00
Benno Schulenberg
4eac699df3
tweaks: remove some more annoying conditional compilation
2016-12-04 12:26:33 +01:00
Benno Schulenberg
372bd0f7dd
screen: switch the cursor back on only in the main loop
...
This fixes https://savannah.gnu.org/bugs/?49750 .
2016-12-03 18:03:11 +01:00
Benno Schulenberg
f920e0d30c
tweaks: replace some unneeded direct calls of edit_refresh()
2016-12-03 17:00:28 +01:00
Benno Schulenberg
0f3e303d1a
tweaks: get rid of some spurious textual references to edit_refresh()
2016-12-02 18:13:10 +01:00
David Lawrence Ramsey
e4d452424b
files: give feedback when restricted mode prevents overwriting a file
...
Achieve this by reusing the code that gives feedback when trying to
save a buffer while using --tempfile and the file has no name yet.
This fixes https://savannah.gnu.org/bugs/?48622 .
2016-11-29 12:08:39 +01:00
Benno Schulenberg
c1a484270b
rcfile: actually avoid opening directories and devices
...
Achieve this elegantly by factoring out the reading of one rcfile.
2016-11-27 18:21:04 +01:00
Benno Schulenberg
eb5968f845
startup: activate restricted mode earlier, so --help will reflect it
...
Kind-of-discovered-by: Markus Bergholz <markuman@gmail.com>
2016-11-17 18:05:09 +01:00
Benno Schulenberg
f2c72bf759
binding: always initialize some keycode variables to a standard value
...
Also when somehow key_defined() is missing.
This fixes https://savannah.gnu.org/bugs/?49614 .
Reported-by: Mike Frysinger <vapier@gentoo.org>
2016-11-17 17:32:28 +01:00
Benno Schulenberg
ed165827bc
screen: don't hide the cursor when --constantshow is used
...
(Bug was introduced yesterday, by commit a4132e2.)
2016-11-13 20:00:31 +01:00
Benno Schulenberg
7598b77e75
screen: use the correct width to determine whether a softwrap occurred
...
This fixes the two bugs reported by Anton Minaev
in https://savannah.gnu.org/bugs/?49511 .
2016-11-13 19:20:38 +01:00
Benno Schulenberg
a4132e2e64
screen: do a refresh before changing the value of 'focusing'
...
This fixes https://savannah.gnu.org/bugs/?49530 .
2016-11-12 18:02:03 +01:00
Benno Schulenberg
9c2e270b3e
softwrap: initialize 'editwincols' early, for computing the number of wraps
...
When giving a line number on the command line, do_gotolinecolumn() needs
to know the width of the screen to be able to (roughly) place the target
line in the center of the screen.
This fixes https://savannah.gnu.org/bugs/?49462 .
2016-10-28 10:50:06 +02:00
Benno Schulenberg
ffeb0f9d4b
tweaks: don't spread a statement over multiple lines unnecessarily
2016-10-27 11:41:49 +02:00
Benno Schulenberg
10c9093942
general: add the option -g/--showcursor, to match Pico
...
The nanorc option already exists, but not the corresponding one
for the command line.
2016-10-27 11:34:41 +02:00
Benno Schulenberg
b38cbfe173
startup: always initialize 'margin' and 'editwincols'
...
This fixes https://savannah.gnu.org/bugs/?49428 .
2016-10-24 17:40:06 +02:00
Benno Schulenberg
01bbf7e82f
tweaks: rename a function to better describe what it does
...
It does not update anything -- it just picks a new point from
where to start displaying the buffer. All actual updating of
the screen is done by edit_refresh() and edit_redraw() and such.
2016-10-23 17:26:19 +02:00
Benno Schulenberg
ae648778e2
screen: refresh when a new magicline is added in line-numbering mode
...
This fixes https://savannah.gnu.org/bugs/?49406 .
2016-10-21 15:59:16 +02:00
Benno Schulenberg
023edffe3d
screen: move the margin determination to the main loop
...
There is no need to look at this for every painted line, because
the margin can only change when some key is struck.
2016-10-21 14:56:56 +02:00
Benno Schulenberg
2789bb0813
screen: repaint the edit window in a single place -- the main loop
...
Instead of doing this in two places: after interpreting shortcuts,
and after injecting characters.
2016-10-21 14:56:53 +02:00
Benno Schulenberg
de2aa4f24a
rcfile: add an option to customize the color of line numbers
2016-10-20 16:48:45 +02:00
Faissal Bensefia
de95ca68f7
new feature: the ability to show line numbers before the text
...
It can be activated with --linenumbers on the command line or with
'set linenumbers' in a nanorc file, and it can be toggled with M-#.
Signed-off-by: Faissal Bensefia <faissaloo@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2016-10-20 16:47:52 +02:00
Benno Schulenberg
43f35fc7a9
softwrap: ensure the current line is fully visible when moving in it
...
This fixes https://savannah.gnu.org/bugs/?49099 ,
and fixes the unreported corresponding bugs for
<End> and <Del> and typing extra characters.
2016-10-18 15:07:47 +02:00
Benno Schulenberg
08cd197bf1
general: include word-jumping and block-jumping into the tiny version
...
And also case-sensitive searches, backward searches, and searching again.
2016-09-13 09:27:04 +02:00
Benno Schulenberg
57d1755d10
tweaks: preen some comments, and reshuffle a few ifdefs
2016-09-03 12:14:08 +02:00
Benno Schulenberg
7b7d2bf7c9
tweaks: make tiny nano a teeny bit smaller
2016-09-02 12:01:03 +02:00
Benno Schulenberg
96fbdfbc7d
input: unset a softmark whenever a character is typed
2016-08-30 10:41:28 +02:00
Benno Schulenberg
514cd9a099
update the license text to the preferred version
...
Mentioning "GNU nano" instead of "This program" and referring to the
website instead of to a postal address.
2016-08-29 21:27:16 +02:00
Benno Schulenberg
406e5242a3
update the copyright notices
2016-08-29 21:27:05 +02:00
Benno Schulenberg
5ad26f864a
tweaks: adjust indentation after previous change
2016-08-29 13:36:29 +02:00
Benno Schulenberg
e7f39bc248
tweaks: remove an unneeded check, reshuffle some things, add a comment
...
Resetting the cutbuffer is irrelevant when 'allow_funcs' is false or
when in view mode, so do_input() can just return in those cases.
2016-08-29 13:35:35 +02:00
Benno Schulenberg
382c9d792d
new feature: allow text selection by holding Shift with the cursor keys
...
Add the keycodes and routines to allow the user to forego setting the
mark explicitly (with M-A / ^6) and instead quickly select a few words
or lines by holding down Shift together with the movement keys.
(Some combinations with Shift are swallowed by some terminal emulators.
To work around some of those, the combinations Shift+Alt+Left/Right work
as Shift+Home/End and Shift+Alt+Up/Down work as Shift+PageUp/PageDown.)
2016-08-28 11:29:28 +02:00
Benno Schulenberg
76a960d73d
screen: continue to function also in a terminal with very few lines
...
This fixes https://savannah.gnu.org/bugs/?48787 .
2016-08-17 10:13:22 +02:00
Benno Schulenberg
97eb0e515f
tweaks: reshuffle some stuff in a more logical order
2016-08-16 19:22:56 +02:00
Benno Schulenberg
68010d931a
startup: don't crash when dying early
...
That is: don't try to look at open files when none are open yet.
2016-08-16 16:59:37 +02:00
Benno Schulenberg
c661506681
tweaks: use a separate function to ask ncurses for keycodes
2016-08-16 12:01:59 +02:00
Benno Schulenberg
0dd2a55284
screen: don't die when the window is narrower than four columns
...
This fixes https://savannah.gnu.org/bugs/?48520 .
2016-08-15 17:25:33 +02:00
Benno Schulenberg
49fc528d88
restore the GNU marker in nano's name
2016-08-14 21:42:37 +02:00
Benno Schulenberg
928a24c204
input: look at the modifier keys only when compiled on Linux
...
This fixes https://savannah.gnu.org/bugs/?48751 reported by Andrew Ho.
This also fixes compilation when configured with --enable-tiny.
2016-08-14 21:42:08 +02:00
Benno Schulenberg
290d278f68
input: make the Ctrl+Arrow keys work on a Linux console
...
If this breaks your build, please send report or instructions or patch.
2016-08-07 18:20:34 +02:00
Benno Schulenberg
0a387d9d08
usage: show that the option --wordchars needs an argument
2016-08-07 17:04:23 +02:00
Benno Schulenberg
f6dd0ad18a
tweaks: compile a parameter unconditionally
...
Straightforward code is more important than the tiniest possible binary.
Also adjust some comments and rename a variable.
2016-08-02 17:30:58 +02:00
Benno Schulenberg
a7ae1766c0
locking: remove any lock files when dying
...
This fixes https://savannah.gnu.org/bugs/?48675 .
2016-08-02 17:30:40 +02:00
Benno Schulenberg
9cd30d4917
tweaks: don't bother setting meta_key to false when a key is invalid
...
That is a task for the key-getting routine.
2016-07-31 18:32:18 +02:00
Benno Schulenberg
cb10b2b908
tweaks: elide the global variable 'func_key'
...
There is no need to specially flag a function key or editing key --
the keycode is indication enough in itself: outside of byte range.
2016-07-31 18:13:05 +02:00
Benno Schulenberg
df7353b312
tweaks: compute the sizes of the subwindows in a more direct manner
2016-07-27 12:27:04 +02:00
Benno Schulenberg
c6dbcf91c3
new feature: functions to jump to previous or following block of text
...
And hard-bind the keys Ctrl+Up and Ctrl+Down to these functions.
Unlike the paragraph-jumping code, these new functions disregard
any indentation, treating only blank lines as separators. They
also do an automatic smart home when that option is set.
This fulfills https://savannah.gnu.org/bugs/?48291 .
2016-07-24 12:00:00 +02:00
Benno Schulenberg
b3fbb7c7ff
input: report keystroke M-[ as being unbindable instead of just unbound
2016-07-16 14:05:33 +02:00