Maxime Coste
d0dfcd2b78
Support values starting with -
for in set-register command
...
Fixes #1220
2017-07-25 11:38:13 +02:00
Maxime Coste
5eb63a32e5
Do not reject switch parameters starting with -
...
Closes #1193
2017-07-23 23:21:51 +02:00
Maxime Coste
d75a835ca1
Merge remote-tracking branch 'Delapouite/main_index'
2017-07-23 23:15:51 +02:00
Maxime Coste
d1c005dd8c
Limit diff algorithm complexity
...
Return a non-optimal, but valid, diff when we detect too many
iterations
Fixes #1509
2017-07-23 21:33:12 +02:00
Maxime Coste
d43e2ac843
More cleanups in diff code
2017-07-20 17:47:50 +02:00
Maxime Coste
d7c0bfddd0
Merge remote-tracking branch 'Delapouite/rmhl'
2017-07-20 12:47:49 +02:00
Delapouite
720ff62f03
Fix wrong autoinfo for remove-highlighter
2017-07-20 12:08:06 +02:00
Maxime Coste
ec1824d3c3
Make non smart case full match better than smart case full match
2017-07-19 20:18:47 +02:00
Maxime Coste
016a50f213
Use smart case matching for contiguous/prefix/fullmatch detection
...
Fixes #1498
2017-07-19 20:16:28 +02:00
Maxime Coste
f87afbcb65
Detect overflow using a long long for the computation result.
...
Closes #1306
2017-07-19 17:55:48 +02:00
Maxime Coste
d3f438810e
Fix main selection handling in keep pipe ($)
...
$kak_reg_hash will properly contain the current selection index when
executing the shell command, fixing its use.
Fixes #1503
2017-07-19 17:42:41 +02:00
Maxime Coste
9c4448ac41
Remove echo -color
support, superseeded by echo -markup
...
`echo -color Error "blah"` is the same as `echo -markup '{Error}blah'`
Fixes #1512
2017-07-19 17:18:52 +02:00
Maxime Coste
5ccf18d772
More use of std::enable_if_t alias
2017-07-19 08:55:24 +02:00
Maxime Coste
d37c3d175d
More uses of standard type traits aliases
2017-07-19 08:49:44 +02:00
Maxime Coste
609bc24f67
Remove unused function
2017-07-19 08:49:44 +02:00
Maxime Coste
ba83cbee0e
Use c++14 function deduction and decltype(auto) to cleanup some code
2017-07-19 08:49:43 +02:00
Maxime Coste
5bf401948a
Cleanup some code with C++14 features
2017-07-19 08:47:14 +02:00
Maxime Coste
bbaa98c46d
Fix travis configuration for C++14 support
2017-07-19 08:47:14 +02:00
Maxime Coste
7a79cbbc81
Migrate code to c++14
2017-07-19 08:47:14 +02:00
Maxime Coste
fbffd86f85
Add an assert to try to get more info on #1506
2017-07-19 08:40:17 +02:00
Maxime Coste
7b96d56996
Use the provided equal functor for prefix/suffix detection in diff
...
We were wrongly using the `==` operator.
2017-07-18 17:53:30 +02:00
Maxime Coste
9197dd393c
More refactoring of the diff code in order to make it cleaner
2017-07-18 16:11:24 +02:00
Maxime Coste
50fec86749
Change diff Implementation to use end indices instead of length
...
Having absolute begin and relative lenght was a bit strange to
work with. Rename middle_snake to snake.
2017-07-18 12:14:52 +02:00
Maxime Coste
793c2ed9cf
Slight style change
2017-07-17 19:29:57 +02:00
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
5eae7aacc7
Small code cleanup in diff implementation
2017-07-15 17:17:27 +09: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
Delapouite
287a20c485
Add main selection index in mode_info
2017-07-12 19:08:13 +02: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
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