Maxime Coste
d90cd6de77
Refactor find_diff_rec and detect kept prefix/suffixes early
...
Certain cases, like diffing an empty buffer with a big buffer, were
very slow, now this should get better as we will directly detect the
matching eol at the end of both buffers, end then immediatly detect
we need to add the rest of the big buffer.
We still are too slow on some general diff when there is a lot of
differences.
2017-07-17 13:30:11 +02:00
Maxime Coste
388ada8142
Remove MirroredArray for diff implementation
...
We can index native arrays negatively, so just setup V1 and V2 to
point in the middle of the work arrays and remove the need for
creating MirroredArray.
2017-07-17 19:28:52 +09:00
Maxime Coste
da9794e272
Fix xmessage handling in assert.cc
...
The return value of the system call is not directly the exit value
of the process, but a status that needs to be inspected with some
macros.
2017-07-17 18:13:20 +09:00
Maxime Coste
a9455bf132
Tolerate that the cursor might not be visible
...
Sometimes, like if the window is not high enough, we might not be
able to display any buffer lines, hence not have the cursor visible.
Fixes #1502
2017-07-16 13:12:17 +09:00
Maxime Coste
c625080ecf
Merge remote-tracking branch 'lenormf/fix-formatter'
2017-07-16 13:08:04 +09:00
Maxime Coste
5eae7aacc7
Small code cleanup in diff implementation
2017-07-15 17:17:27 +09:00
Frank LENORMAND
74babc36b1
rc formatter: Don't force selection restoration
...
The `|` primitive now correctly restores selections, we don't need to
forcibly restore the main one after formatting anymore.
2017-07-14 11:21:48 +03:00
Maxime Coste
6e40e57ed4
Fix replacing reducing selections to their cursor
...
Broken by 8650c99f13
2017-07-14 16:16:43 +09:00
Maxime Coste
580eae0388
|
now applies the diff of the modification instead of plain replace
...
Fixes #312
Fixes #1501
2017-07-14 16:16:40 +09:00
Maxime Coste
8650c99f13
Fix assertion when replacing with empty strings
...
Replacing with empty strings is essentially a deletion, which means
it can end up push some selections out of the buffer (imagine 3 a
2 empty line buffer, and deleting the second one). We are fixing
the selections in SelectionList::erase, but we were not doing that
in SelectionList::insert.
Fixes #1504
2017-07-14 13:08:29 +09:00
Maxime Coste
53f5b3d709
Fix an assert in compute modified ranges when merging single char ranges
...
Due to the way Selection::min/max worked, we were creating backward
selections, with cursor < anchor, which was triggering an assert when
trying to move cursor back one char when it was already on the first
char of the buffer.
2017-07-14 12:42:43 +09:00
Maxime Coste
26cc8b3ee0
Fix undo handling in <a-o>/<a-O>
2017-07-13 08:24:55 +09:00
Maxime Coste
7389e37b4b
Small startup message formatting tweak
2017-07-13 00:31:17 +09:00
Maxime Coste
74076ef9b7
Alternative, and hopefully safer implementation of <a-o>/<a-O>
...
Fixes #1495
2017-07-11 22:35:42 +09:00
Maxime Coste
81b5de6fd8
Add <a-c> and <a-d> for changing/deleting without yanking
...
As asked for in #1175
2017-07-11 22:25:15 +09:00
Maxime Coste
42e5d95cd8
Preserve order of definition of mappings when listing them
...
Fixes #1479
Closes #1494
2017-07-11 09:51:56 +09:00
Maxime Coste
ebc1e054fc
Merge remote-tracking branch 'Delapouite/last-command-reg'
2017-07-11 09:11:10 +09:00
Maxime Coste
b575067317
Add <a-o> and <a-O> to add lines below/above selections
...
Fixes #1480
2017-07-11 09:03:45 +09:00
Delapouite
0d2b303f62
Docs: add missing colon register (last entered command)
2017-07-10 22:05:21 +02:00
Maxime Coste
c38dc9a37b
Merge remote-tracking branch 'Delapouite/alt-r'
2017-07-09 22:29:05 +09:00
Delapouite
f917402f89
Docs: add missing <a-R> key and fix info message
2017-07-09 12:00:28 +02:00
Maxime Coste
50e26a2bac
Remove assert in String::String(Codepoint, ColumnCount)
...
codepoint_width is locale dependent, and we could end up with it
returning a different value depending on the locale. It is better
to return a string of the wrong column length than fail on assert
in this case as we cannot fix it anyway.
Fixes #1489
2017-07-09 11:03:04 +09:00
Maxime Coste
52c8dc9d09
Highliight git MERGE_MSG files as commit messages
2017-07-08 13:39:48 +09:00
Maxime Coste
822225cbbb
Merge remote-tracking branch 'lenormf/fix-tupfile'
2017-07-08 13:39:22 +09:00
Maxime Coste
051054c812
Merge remote-tracking branch 'lenormf/fix-c-family'
2017-07-08 13:36:55 +09:00
Maxime Coste
7a28e4c5c0
Fix trailing whitespaces in README
2017-07-08 13:34:30 +09:00
Maxime Coste
dbba047a8a
Merge remote-tracking branch 'Delapouite/prompt-idle'
2017-07-08 13:33:44 +09:00
Maxime Coste
ad1dad9d04
Merge remote-tracking branch 'Delapouite/extend'
2017-07-08 13:32:11 +09:00
Maxime Coste
8cad40a0c9
Merge remote-tracking branch 'Delapouite/stars-less'
2017-07-08 13:31:17 +09:00
Maxime Coste
b51d19bfaa
Formatting fixes
2017-07-07 13:59:53 +09:00
Maxime Coste
6604aa66f7
Treat non printable characters as zero-width instead of -1 width
...
This fix a bug when opening a file where a line has a lot of unprintable
chars (like a binary file) which was confusing Kakoune into considering
that the line length in column was negative.
2017-07-07 10:57:32 +09:00
Delapouite
9254363673
Make register and completion autoinfo lists uniform with all the other ones
2017-07-06 18:47:02 +02:00
Delapouite
b3f2a7e46e
Refine info titles to distinguish f/t (select) and F/T (extend)
2017-07-05 20:23:02 +02:00
Delapouite
8ed29dbd7a
Docs: add missing PromptIdle hook mentions
2017-07-05 13:45:45 +02:00
Frank LENORMAND
50b635ce2d
rc c-family: Add a hook to the insert group
2017-06-29 13:29:48 +03:00
Frank LENORMAND
a2be15801f
rc tupfile: Fix the keywords regex
2017-06-29 13:13:01 +03:00
Frank LENORMAND
e1e3cfaf45
contrib Tupfile: Adapt to upstream changes
2017-06-29 13:12:49 +03:00
Maxime Coste
620e718087
Formatting tweak
2017-06-29 09:31:02 +01:00
Maxime Coste
eb2984807c
Remove some dead code
2017-06-29 07:43:20 +01:00
Maxime Coste
e95fab0e7a
Code style tweak
2017-06-29 07:36:07 +01:00
Maxime Coste
14958a7c94
Validating an empty command in prompt reruns the last command
...
This is more consistent with other prompts like regexes or shells,
and has proven useful from time to time.
2017-06-29 07:33:16 +01:00
Maxime Coste
9bbab690ba
Merge remote-tracking branch 'danr/Expose-last-entered-command-in-register'
2017-06-29 07:29:32 +01:00
Maxime Coste
cc946764ed
Consider non-files buffers as never modified
2017-06-28 06:48:24 +01:00
Maxime Coste
641acc5943
Do not allow repeating last insert when we are not in normal mode
...
<a-;>. is not accepted anymore. Note that <a-;> are not repeatable
currently anyway (That could be fixed, athough not trivial).
Fixes #1469
2017-06-27 09:57:10 +01:00
Maxime Coste
ce8078ad73
Ensure cursor stays visible with wrapped line bigger than window
...
Fixes #1459
2017-06-27 09:29:25 +01:00
Maxime Coste
169426dc3c
Merge remote-tracking branch 'Delapouite/hook-expansions'
2017-06-26 22:05:23 +01:00
Delapouite
a932b6b21e
Add error message when using format command with no formatcmd specified
2017-06-26 22:10:04 +02:00
Delapouite
21e8da7c37
Docs: add more details about hooks
2017-06-26 18:50:22 +02:00
Maxime Coste
e9c0c05548
Fix reference highlighter not forwarding compute_display_setup
2017-06-26 16:50:12 +01:00
Maxime Coste
475e8849a1
Fix replacing last eol with a single eol
2017-06-26 16:16:46 +01:00