nicm
8d2af4fb54
Add a 10 second timeout to prevent searches taking too much time, from
...
Anindya Mukherjee.
2020-04-06 16:04:51 +01:00
nicm
a5922546ac
Do not go down the regex search path (which is expensive because we need
...
to convert the grid data into a string for regexec and reverse it to
find the grid position) if the search string does not contain any regex
special characters.
2020-04-01 10:09:03 +01:00
nicm
3476eccf48
Use a comparison to check for wrap and avoid an expensive modulus.
2020-04-01 10:08:54 +01:00
nicm
0dbf414578
Performance improvements for regex searching, most notably:
...
- Use the grid data directly instead of copying it.
- Special case the most typical one byte character cells and use memcmp
for multiple bytes instead of a handrolled loop.
- Hoist regcomp out of the loop into the calling functions.
GitHub issue 2143.
Also a man page from from jmc@.
2020-04-01 10:08:39 +01:00
nicm
8dedccaa20
Add non-regex search variants to avoid the performance cost for people
...
with large histories or long lines.
2020-04-01 10:08:09 +01:00
nicm
f65b9c0d36
Change mouse selection so that after selecting a word, dragging selects
...
only words and similar for lines. From Anindya Mukherjee.
2020-02-24 09:53:59 +00:00
nicm
229be034fb
Add selection_active format for when the selection is present but not
...
moving with the cursor, from Mark Kelly.
2020-02-20 07:34:57 +00:00
nicm
f48b041cf2
Do not jump to next word end if already on a word end when selecting a
...
word. Fixes select-word with single character words and vi(1) keys. From
Mark Kelly.
2020-02-13 09:02:07 +00:00
nicm
4ea07716de
Support regex search in copy mode, from Anindya Mukherjee in GitHub
...
issue 2038.
2019-12-27 18:42:49 +00:00
nicm
64fb7e472a
Tweak previous to check the wrapped flag and stop if not set.
2019-12-11 18:30:29 +00:00
nicm
ab630f72ed
Allow search across wrapped lines and fix some inconsistencies in how th
...
position is represented, GitHub issue 2014 from Anindya Mukherjee.
2019-12-11 18:23:34 +00:00
nicm
58f870ef6e
Don't use motion flag uninitialized.
2019-11-25 22:38:36 +00:00
nicm
87a11a9214
Fix a warning in previous.
2019-11-25 20:43:32 +00:00
nicm
c2fde58701
Do not clear search marks on cursor movement with vi(1) keys, from Eric
...
Pruitt in GitHub issue 1985.
2019-11-25 20:42:18 +00:00
nicm
c225262e13
Add -F flag to send-keys to expand formats in search-backward and
...
forward copy mode commands, this makes it easier to use the cursor_word
and cursor_line formats. From Anindya Mukherjee in GitHub issue 1964.
2019-11-07 07:11:25 +00:00
nicm
f7fb5df543
Use the existing code in format.c to add foramts for word and line at
...
cursor position in copy mode, from Anindya Mukherjee.
2019-10-23 07:42:05 +00:00
nicm
56e5067c46
Add formats for cursor and selection position in copy mode, from Jason Felice.
2019-10-19 19:20:14 +00:00
nicm
4b7e97ba53
Set up format tree for %if, GitHub issue 1896.
2019-09-10 07:50:33 +00:00
nicm
b31515fec3
Add cursor-down-and-cancel, from Mark Kelly.
2019-09-09 08:01:21 +00:00
nicm
21fae50089
Default to previous search string for search-forward and
...
search-backward, from Leah Neukirchen.
2019-08-14 10:02:24 +00:00
nicm
c4744620af
Correctly wrap search in copy mode even if at the very top left, GitHub
...
issue 1845.
2019-08-01 14:31:39 +00:00
nicm
3d660b0023
Select the correct word for select-word when already at the start of a
...
word, GitHub issue 1820.
2019-08-01 14:30:31 +00:00
nicm
a4be028b76
Clear search marks before resize, GitHub issue 1823.
2019-07-08 20:29:11 +00:00
nicm
55c694a467
Do not use uninitialized buffer name.
2019-07-05 07:52:27 +00:00
nicm
26b9a8e49b
Set the cursor x at the same time as changing the y or the end of line
...
marker may not be redrawn.
2019-06-13 20:38:05 +00:00
nicm
09e90c1645
Need to increment the argument to skip the prefix earlier, fixes
...
repeated incremental search in copy mode, reported by Kaushal Modi in
GitHub issue 1780.
2019-06-05 19:00:36 +00:00
nicm
e90d4a6021
Add formats for word and line under the mouse and use them to add some
...
items to the pane menu.
2019-05-26 17:34:45 +00:00
nicm
cf4566b47b
Fix dragging when in view mode rather than copy mode, GitHub issue 1740
...
from Brad Town.
2019-05-15 19:25:53 +00:00
nicm
00f19b7f91
Fix some indentation and dead assignments.
2019-05-12 18:16:33 +00:00
nicm
d53d3bce59
Adjust the same bit to adjust the selection for history-top and
...
history-bottom as for cursor-up and cursor-down. GitHub issue 1723.
2019-05-07 19:46:17 +00:00
nicm
4097257bef
Do not store the mouse position we calculate as the start of a drag back
...
into the mouse event that later code uses, it has been adjusted and they
should use the original position. GitHub issue 1710.
2019-05-03 18:42:40 +00:00
nicm
c176361788
Remove unused variable from Thomas Adam.
2019-05-01 06:07:14 +00:00
nicm
ec81bd2399
Add support for keys to jump between matching brackets - C-M-f and C-M-b
...
in emacs, % in vi. Suggested by and help from Chris Barber in GitHub
issue 1666.
2019-04-29 06:55:21 +00:00
nicm
567d3e27ab
Automatically scroll if dragging to create a selection with the mouse
...
and the cursor reaches the top or bottom line.
2019-04-25 06:34:57 +00:00
nicm
564e44adc6
Add -no-clear variants of copy-selection and copy-pipe which do not
...
clear the selection after copying. Make copy-pipe clear the selection by
default to be consistent with copy-selection. From Avi Halachmi.
2019-04-23 09:39:07 +00:00
nicm
7bcc0d16f2
Add an argument to copy commands to set the prefix for the buffer name,
...
allows buffers for different sessions to be named separately.
2019-04-02 09:03:39 +00:00
nicm
c1f0918f8a
Fix stop-selection, from Avi Halachmi.
2019-03-27 13:25:11 +00:00
nicm
9f8d193b11
Break copy mode commands into individual functions instead of a big load
...
of if statements.
2019-03-26 21:01:19 +00:00
nicm
938156d73b
DECRC and DECSC apparently need to preserve origin mode as well, based
...
on a fix from Marc Reisner.
2019-03-12 20:02:47 +00:00
nicm
3f6bfbaf2b
Allow multiple modes to be open in a pane. A stack of open modes is kept
...
and the previous restored when the top is exited. If a mode that is
already on the stack is entered, the existing instance is moved to the
top as the active mode rather than being opened new.
2019-03-12 11:16:49 +00:00
nicm
de730f68a4
Make the mode used to view command output (a variant of copy mode) use
...
its own mode definition struct with a different init function rather
than calling special setup functions.
2019-03-08 10:34:20 +00:00
nicm
9cc04a0f9a
Do not use window mode entry after free.
2019-03-08 10:29:25 +00:00
nicm
f98c66ece8
Add a separate mode struct for the active window mode if any.
2019-03-07 20:24:21 +00:00
nicm
3c24bc5617
Tidy changing the mode into window_copy_init_for_output.
2019-03-07 19:34:22 +00:00
nicm
7f093fcddc
Make adding mode formats a function pointer as well.
2019-03-07 19:01:21 +00:00
nicm
bde0224deb
Pass window into mode functions.
2018-12-18 13:20:44 +00:00
nicm
40d246b29c
Handle UTF-8 in word-separators option, GitHub issue 1551.
2018-11-28 11:20:13 +00:00
nicm
09aee53763
It isn't possible to specify buffer name to copy mode commands now, so
...
remove the function argument.
2018-11-08 18:49:19 +00:00
nicm
f7c85f3ed8
Do not move the cursor when the mouse wheel is used, GitHub issue 1493.
2018-10-03 15:27:55 +00:00
nicm
7d59f82cf9
Allow panes to be 1 line or column by redrawing instead of using the
...
scroll region, from Soeren Tempel in GitHub issue 1487.
2018-09-25 14:27:20 +00:00