Commit Graph

47 Commits

Author SHA1 Message Date
Maxime Coste
7defdd3039 Make FDWatcher support Read, Write and Except events, instead of just Read 2016-12-01 19:44:07 +00:00
Maxime Coste
12856066b1 Cleanup include dependencies a bit 2016-11-28 23:58:08 +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
28db6f04f1 Re-enable undo support on fifo buffers when the fifo closes
Fixes #881
2016-10-23 18:22:42 +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
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
1788126f38 BufferManager now owns the Buffers instead of registering them 2016-05-14 08:33:50 +01:00
Maxime Coste
131b0a8298 Use ByteCoords directly for buffer insert/erase/replace 2016-03-16 13:59:30 +00:00
Maxime Coste
06c1c5f28b Do not include the debug buffer in word completion 2016-03-12 16:44:55 +00:00
Maxime Coste
a81dbd90a1 Consolidate writing to fd 2015-11-27 13:50:40 +00:00
Maxime Coste
bf213b01dd Keep an empty last line in debug buffer to provide auto scrolling 2015-11-19 21:33:50 +00:00
Maxime Coste
944d8f53fb Fix OSX compilation 2015-10-18 12:45:27 +01:00
Maxime Coste
76fadd8108 More cleanups in the buffer open/reload code 2015-10-17 11:33:09 +01:00
Maxime Coste
fe704b9b84 Move line parsing and to Buffer.cc directly 2015-10-17 11:33:09 +01:00
Maxime Coste
3795ff735a Refactor buffer creation and reloading to be more explicit
Reloading used to be implicit in the buffer creation function,
which is not always nice, as code that explicitely wanted to
reload a buffer could not say so.
2015-10-17 11:33:09 +01:00
Maxime Coste
e2720f1fbe Store timespec for buffer fs timestamps, not just time_t
time_t has a resolution of one second, which cause troubles when
a file changes multiple time during that same second.
2015-09-27 11:55:34 +01:00
Maxime Coste
e7b4217762 Support flags getting modified by hooks at buffer creation
Fixes #361
2015-08-04 23:02:40 +01:00
Maxime Coste
05b4d95a56 Run BufReadFifo hook after reading from fifo 2015-06-28 11:06:19 +01:00
Maxime Coste
e6f0e8ef75 Move write_debug to buffer utils as write_to_debug_buffer 2015-06-06 11:54:48 +01:00
Maxime Coste
64a3b0bd50 Fix memory leak in fifo buffer handling 2015-06-03 20:22:26 +01:00
Maxime Coste
9f1b129053 Fix bug in fifo creation where BufOpenFifo hook was using a dead string 2015-05-05 20:23:15 +01:00
Maxime Coste
5bff742e0a Replace some String temporaries with StringViews 2015-04-27 16:46:57 +01:00
Maxime Coste
b570c68c75 Run BufOpenFifo hook when opening a fifo in a (new or already existing) buffer 2015-04-19 14:48:39 +01:00
Maxime Coste
3c1a325b6f Refactor String, use a common StringOps interface, hide std::string 2015-03-10 19:50:22 +00:00
Maxime Coste
98972c18b7 rename StringStorage to StringData 2015-03-01 12:03:08 +00:00
Maxime Coste
00bde4ef48 Respect columns when copying selection, not just bytes 2015-02-25 13:41:00 +00:00
Maxime Coste
cb197f57ba Avoid temporary strings on buffer load/reload
Pass directly a Vector<ref_ptr<StringStorage>> to the buffer
2015-01-22 13:39:29 +00:00
Maxime Coste
da562e03a0 replace all std::vector with Vector 2015-01-12 13:58:41 +00:00
Maxime Coste
0517a19e6d Use a select based event handling and fix deadlock 2014-12-03 13:56:02 +00:00
Maxime Coste
49931fbf05 Separate events between normal and urgent ones
Run urgent ones while executing %sh blocks.

Fixes #236
2014-11-25 13:52:06 +00:00
Maxime Coste
c8ea2e78f9 Reuse existing buffer when creating a fifo one
That way, client having this buffer already visible wont switch to
another one due to previous buffer getting deleted
2014-11-04 23:51:22 +00:00
Maxime Coste
fc4142178f Port more code to StringView instead of const String& 2014-10-20 19:18:38 +01:00
Maxime Coste
fa85f0fc32 Refactor regex uses, do not reference boost except in regex.hh 2014-10-13 13:14:23 +01:00
Maxime Coste
d4a84125ef Use InternedStrings for buffer contents 2014-10-03 13:39:13 +01:00
Maxime Coste
114d33c7f8 Limit the iteration count when reading from a fifo 2014-08-26 22:11:23 +01:00
Maxime Coste
8d4531d419 Add support for reading from stdin/writing to stdout in filter mode
Note that kakoune still needs to read the whole buffer first, only
once stdin is closed can it execute the keys.
2014-08-15 13:21:54 +01:00
Maxime Coste
c6df0c9174 Do not write '*** kak: fifo closed ***' in buffers
The status line '[fifo]' flag should replace that
2014-07-07 23:56:17 +01:00
Maxime Coste
ed68d1ff28 utf8: use end of sequence iterators for more security 2014-07-05 12:10:06 +01:00
Maxime Coste
b18db68c8a Fix spurious eol appearing in non scrolling fifo buffers 2014-06-30 18:56:18 +01:00
Maxime Coste
3ef5bf53d5 Add BufCloseFifo hook and use that to remove fifo directories 2014-06-16 19:50:20 +01:00
Maxime Coste
aa48179131 read all available text in fifo each time the fd is signaled 2014-05-15 19:11:59 +01:00
Maxime Coste
8546788b43 Refactor LineAndColumn coordinates
BufferCoord -> ByteCoord
DisplayCoord -> CharCoord

Moved their definition along with LineAndColumn into coord.hh
2014-05-07 19:53:45 +01:00
Maxime Coste
e83123de1f Add support for non-scrolling fifo buffers 2014-05-02 18:58:04 +01:00
Maxime Coste
479c067a40 Add support for running Kakoune with redirected stdin
Will read to a *stdin* fifo buffer
2014-04-29 21:37:11 +01:00
Maxime Coste
7190791927 Move some buffer related utility functions to buffer_utils.{cc,hh} 2014-04-28 19:48:23 +01:00