Maxime Coste
6d79ade019
Tweak RankedMatch behaviour and fix bug in its comparison function
...
casting TestableFlag<T> to UnderlyingType<T> was going through bool
conversion... Not sure how things worked earlier.
2016-11-14 19:39:35 +00:00
Maxime Coste
b3ba769220
Propagate the hooks disabled state through prompt, menu, and command execution
...
Maintain it as well during buffer creation even if the hooks are not executed
in client context.
Fixes #818
2016-11-14 19:39:35 +00:00
Maxime Coste
c2989704d5
More correct handling of SIGHUP while suspended
...
Fixes #833
2016-11-14 00:49:34 +00:00
Maxime Coste
5249df78d4
Do not include aliases in command completion candidates anymore
...
Fuzzy matching makes it redundant.
Closes #817
2016-11-14 00:29:43 +00:00
Maxime Coste
dcd733e5fa
Do a first phase of command renaming
2016-11-14 00:27:14 +00:00
Maxime Coste
9d9beb7e3a
Pass regex flags on keep matching/not matching
...
Related to #921
2016-11-12 18:03:54 +00:00
Maxime Coste
8490caa0d7
Add support for <a-Z> appending current selections to the given register
2016-11-09 13:57:05 +00:00
Maxime Coste
9153663dfa
Add -save-regs defaults in the context wrap docstring
2016-11-08 09:49:48 +00:00
Maxime Coste
6889494869
Emit an OSC 104 on quit to reset color palette on supporting terminals
...
xterm and vte based terminals support it, unfortunately rxvt-unicode
does not yet.
Fixes #914
2016-11-05 11:43:25 +00:00
Maxime Coste
8e5f491d3f
Support deleting a buffer even if another client is in insert mode on it
2016-11-05 11:29:47 +00:00
Maxime Coste
bc2d79d302
Run WinDisplay hook on creation of clients
...
Fixes #913
2016-11-03 19:09:52 +00:00
Maxime Coste
6347787cf2
Propagate NormalParams to user mappings
...
Closes #896
2016-11-02 23:12:57 +00:00
Maxime Coste
4d222bbb33
Add experimental static linking support to the makefile
2016-11-02 22:28:05 +00:00
Nikolaus Wittenstein
e7970232d3
Fix typo in write_cmd's desc
...
Should be possessive "its".
2016-10-31 12:42:10 -04:00
Maxime Coste
650a989c1e
Add to_string(long long int) overload to fix OSX compilation
2016-10-31 10:19:06 +00:00
Maxime Coste
a7cac87753
Display a status line message when Kakoune is waiting on a shell to complete
...
If a shell commands takes more than 1s to execute, a message will appear
on the status line notifying the user, along with the time Kakoune has
been waiting for.
2016-10-29 11:25:58 +01:00
Maxime Coste
965cd8e0c3
Fix align support with aligntab = true
2016-10-28 09:50:25 +01:00
Maxime Coste
7c6c6871ce
BufferRange option syntax support <line>.<column>+<len> and is inclusive
...
Fixes #864
2016-10-26 22:58:12 +01:00
Maxime Coste
dc18963875
Make o/O open multiple lines when a count is given
...
Fixes #873
2016-10-24 20:45:12 +01:00
Maxime Coste
7a04efb6d9
Force wrapping when searching from buffer end
...
Fixes #868
2016-10-23 21:03:15 +01:00
Maxime Coste
2809ce00de
Set main selection index to the current sel when piping different selections
...
Fixes #884
2016-10-23 19:54:40 +01:00
Maxime Coste
d2aa292c17
Change handling of OpenLineAbove to fix first line edge cases
...
Fixes #877
2016-10-23 19:48:16 +01:00
Maxime Coste
28db6f04f1
Re-enable undo support on fifo buffers when the fifo closes
...
Fixes #881
2016-10-23 18:22:42 +01:00
Maxime Coste
e318190a59
Small formatting tweak
2016-10-17 18:37:05 +01:00
Maxime Coste
e8dcdb6072
Support Ctrl + mouse dragging to add a new selection
...
Fixes #838
2016-10-13 22:59:02 +01:00
Maxime Coste
cc2affea11
Always allow to delete a buffer, just recreate a scratch buffer if needed
...
Fixes #850
2016-10-13 21:37:44 +01:00
Maxime Coste
6bfc68d4f3
Rename DisplayAtom::Types to avoid conflicts with struct BufferRange
2016-10-13 19:55:15 +01:00
Maxime Coste
1f3e424047
Do not expand filenames when doing insert filename completion
...
Fixes #855
2016-10-13 19:46:09 +01:00
Maxime Coste
e384e7263c
Use CPPFLAGS instead of CXXFLAGS for the _XOPEN_SOURCE define
2016-10-13 00:19:27 +01:00
Frank LENORMAND
f7e2bfd76f
Document the optional parameter of the cd
command
2016-10-11 10:39:20 +03:00
Maxime Coste
5440d31f99
Only create a default *scratch* when we dont have any non debug buffers
...
Fixes #852
Closes #856
2016-10-11 00:45:05 +01:00
Maxime Coste
780a4605fa
More transform(...) filter cleanup using mem_fn when possible
2016-10-11 00:32:40 +01:00
Maxime Coste
8b6eba8208
Add support for repeating the last object/char find command
...
This is a potential solution for #794 .
2016-10-11 00:20:36 +01:00
Maxime Coste
f6cdc2eee5
Use std::begin/std::end in containers.hh instead of the method version
2016-10-11 00:17:00 +01:00
Maxime Coste
025b91baca
Convert some uses of lambda to more concise std::mem_fn
2016-10-10 23:44:18 +01:00
Maxime Coste
bc9d1b4dac
Small formatting fixup
2016-10-10 23:20:05 +01:00
Maxime Coste
0d2bb4756b
Fix register alternate name doc and dash -> hash for '#'
2016-10-10 23:19:57 +01:00
Maxime Coste
10681f4809
Merge remote-tracking branch 'Delapouite/typo'
2016-10-09 23:30:00 +01:00
Maxime Coste
314108e539
Document register alternate names and add some missing ones
...
Fixes #853
2016-10-09 23:27:52 +01:00
Maxime Coste
f904402486
Handle all available keys when a RemoteClient input is available
...
We were just treating the next key. Which led to <esc> byte
remaining after suspend, that led that <esc> being interpretted
as <alt> when the following key got available.
Fixes #739
2016-10-06 23:47:44 +01:00
Maxime Coste
006be63a32
Ensure local client is destroyed before we fork the server to background
...
The recent change that introduced defered client deletion made the local
client destruction happens too late, putting the terminal in a bad state
when we resumed the process as client only.
2016-10-06 23:35:32 +01:00
Maxime Coste
5dd47e9c33
Preserve shell context through eval command
...
Fixes #835
2016-10-06 23:22:39 +01:00
Delapouite
acafe5f0b9
Fix typo horzontally → horizontally
2016-10-06 16:13:40 +02:00
Maxime Coste
9078039326
Fix select_to_previous_word with spaces at buffer start
...
Fixes #844
2016-10-05 23:42:36 +01:00
Maxime Coste
8579e299da
Fix custom text object
2016-10-05 09:36:39 +01:00
Maxime Coste
f81b8c137b
Replace non ascii chars with ? in xterm title, and limit to 511 chars
...
Closes #839
2016-10-04 20:13:15 +01:00
Maxime Coste
d2a324d3c4
Treat '\n' as 1 column wide
...
Fixes #842
2016-10-04 19:37:43 +01:00
Maxime Coste
40fb56c87a
Small code cleanup
2016-10-04 19:37:17 +01:00
Maxime Coste
620fc28ea6
Add "(extend)" to search prompts when we are extending the selection
...
Fixes #832
2016-10-04 13:18:03 +01:00
Maxime Coste
9e12ac327b
Refactor hook disabling in normal mode
...
Normal mode takes care of keeping hooks disabled until nested modes
finishes.
Requiered form #818 , not sufficient yet.
2016-10-03 20:02:37 +01:00
Maxime Coste
a51d5a1046
Do not select the next word for inner word.
2016-10-03 20:01:37 +01:00
Maxime Coste
c7356c8e9c
Close write buffer file descriptor before getting the new fs timestamp
2016-10-03 20:00:36 +01:00
Maxime Coste
d50087eabe
Change BufWritePre/BufWritePost logic
...
Run them in client context if possible, and give them the target
filename instead of the buffer name.
Fixes #823
2016-10-01 23:51:53 +01:00
Maxime Coste
4b6d4ec8eb
Small refactoring in highlighters.cc
2016-10-01 14:12:21 +01:00
Maxime Coste
8cc30a8ca0
Enable _XOPEN_SOURCE=700 on cygwin to get the wcwidth function
2016-10-01 13:46:55 +01:00
Maxime Coste
249ec4835e
Rename get_width to codepoint_width
2016-10-01 13:45:00 +01:00
Maxime Coste
28cfd0bb61
Fix get_column function and add some unit tests for fullwidth text
2016-10-01 13:45:00 +01:00
Maxime Coste
35559b65dd
Support codepoints of variable width
...
Add a ColumnCount type and use it in place of CharCount whenever
more appropriate, take column size of codepoints into account for
vertical movements and docstring wrapping.
Fixes #811
2016-10-01 13:45:00 +01:00
Maxime Coste
dc735450a8
Tweak ranked match comparison, give contiguous matches an edge
2016-09-30 22:13:01 +01:00
Maxime Coste
e701254b02
Fix String::Data::reserve on big endian platforms, and document String::Data
...
reserve was not ensuring the capacity would be pair, which is needed
on big endian machines, as we use its least significant bit to flag
short string optimizations. On little endian the bit we use is the
8th most significant (the least significant bit of the last byte),
so we were not hitting any problems.
Fixes #828
2016-09-28 19:06:25 +01:00
Maxime Coste
1b9eb2c6ba
Validate option names to be in [a-zA-Z0-9_]
...
Closes #824
2016-09-27 09:54:55 +01:00
Maxime Coste
e3c4bddd3b
Make hook disabling work for all hooks, not only user hooks
...
Fixes #823
2016-09-26 23:43:05 +01:00
Maxime Coste
696db111e2
Selecting 'around' word when on spaces after word now selects next word
2016-09-26 23:33:28 +01:00
Maxime Coste
fcb37cc754
Pass count to all object selectors
2016-09-26 23:32:07 +01:00
Maxime Coste
1e0ec182c1
Assert substr from parameter is within the string
...
Should catch #756 earlier if it happens again.
2016-09-26 23:24:09 +01:00
Maxime Coste
a0c20a924a
OptionDescs are const in OptionRegistry
2016-09-26 22:59:02 +01:00
Maxime Coste
5e3effc1f0
Merge remote-tracking branch 'lenormf/fix-src-makefile'
2016-09-26 22:04:34 +01:00
Maxime Coste
b5450aa375
Tweak RankedMatch logic, prioritize matches that are in a single word
2016-09-26 21:54:39 +01:00
Frank LENORMAND
b9d21a9e9e
Add some standard GNU targets to the Makefile
...
Closes #813
2016-09-25 09:40:24 +03:00
Maxime Coste
532e3758fe
Add InsertCompletionShow/InsertCompletionHide hooks
2016-09-21 13:43:06 +01:00
Maxime Coste
12f2815159
Tweak Buffer::offset_coord implementation
2016-09-21 13:36:11 +01:00
Maxime Coste
4f874a3679
Code cleanup in make_completer, use std::decay
2016-09-19 23:26:52 +01:00
Maxime Coste
fafde8655b
Fix select_to_reverse to correctly handle the first character of the buffer
...
Fixes #809
2016-09-19 09:20:55 +01:00
Maxime Coste
396b71ecc2
Add an unmap command to remove key mappings
2016-09-19 09:10:41 +01:00
Maxime Coste
44e9da3bee
More command completer code cleanup
2016-09-18 16:27:34 +01:00
Maxime Coste
d14c39ebdd
Rewrite PerArgumentCommandCompleter to use compile time dispatching
...
No need to store these vectors of std::functions around anymore.
2016-09-18 16:07:00 +01:00
Maxime Coste
c152fbe3b6
Make idle timeout and filesystem check timeout configurable
2016-09-18 13:47:22 +01:00
Maxime Coste
c63c92cbf7
Support kill session inside init command
2016-09-06 22:46:27 +01:00
Maxime Coste
c1d7f79a52
Do not let boost regex errors propagate, convert them to Kakoune errors.
2016-09-06 13:55:14 +01:00
Maxime Coste
da0fe5d0bd
Small code tweak in generate_switches_doc
2016-09-05 23:34:03 +01:00
Maxime Coste
21a76d135c
Fix handling of remote errors in the accepter
2016-09-05 13:47:56 +01:00
Maxime Coste
4fc20b8d7d
Rework client quitting and handling of remote errors
...
Client quitting no longer immediately unwinds, client is just pushed
for deletion until we get back to the main loop, similarly to what
happens for buffer and window deletion.
2016-09-04 17:56:07 +01:00
Maxime Coste
563497ade7
Use proper buffering when reading remote messages
...
Messages now have their size in a header, along with their type
and are only executed once fully received. We dont block anymore
while trying to read a full message.
2016-09-04 11:17:35 +01:00
Maxime Coste
044a6ce860
Rework binary network protocol to be more message based
...
We cannot just write to Kakoune socket from any application anymore,
use of kak -p is mandatory, as we now have an introduction to write.
2016-09-04 11:17:34 +01:00
Maxime Coste
4d13e6fb88
Do not crash whenever S matches the whole selection and hence does not select anything
...
Fixes #787
2016-09-04 11:17:34 +01:00
Maxime Coste
97e36233fb
Remove the to_string(unsigned) (it conflicts with to_string(size_t) on x86)
...
Just cast to int when we pass an unsigned.
2016-08-31 09:07:33 +01:00
Maxime Coste
3831117bc7
style tweak
2016-08-30 23:23:07 +01:00
Maxime Coste
8b02bb749d
Add a fd_readable(int fd) helper function
...
Use it instead of direct calls to select scatered around the code
base.
2016-08-30 22:56:47 +01:00
Maxime Coste
b6cab458ed
Use a heap instead of sorting to gather the best shell-candidates matches
...
O(n + k * log n) (with k = 100 here) instead of O(n log n), much faster
with many candidates.
2016-08-30 13:42:29 +01:00
Maxime Coste
f6cb6319d6
Enable shell-candidates update in fast completion mode
2016-08-30 00:55:01 +01:00
Maxime Coste
f52f5f7c53
Only decode utf8 when strictly necessary in RankedMatch::operator<
2016-08-30 00:51:21 +01:00
Maxime Coste
2b631837d8
Tweak RankedMatch, compare max match index instead of match indices sum
2016-08-30 00:30:15 +01:00
Maxime Coste
cbe38b2f96
Use flags and bit operations instead of bools in RankedMatch
...
full match is now the most important flag for comparison.
2016-08-29 23:56:22 +01:00
Maxime Coste
95c21a4ebd
Merge remote-tracking branch 'doppioandante/json-fix'
2016-08-28 18:51:19 +01:00
Enrico Lumetti
c6da163cb3
Fix menu_select in the JSON ui
2016-08-27 17:57:48 +02:00
Maxime Coste
b934bcd4e1
Support merging consecutive selections with <a-m>
...
Fixes #773
2016-08-27 11:20:38 +01:00
Maxime Coste
093d3bd0df
Map tab to jump forward until we can distinguish <c-i> from it
...
Fixes #769
2016-08-27 11:07:24 +01:00
Maxime Coste
85f54a77ac
Display the capture used in select/split prompt
...
Fixes #770
2016-08-27 10:55:07 +01:00
Maxime Coste
2bf100bdd0
Add a to_string overload for unsigned int
2016-08-27 10:46:49 +01:00
Maxime Coste
7ac54b0b0f
Fix another bug in wrap_lines
2016-08-26 00:08:34 +01:00