Commit Graph

845 Commits

Author SHA1 Message Date
Maxime Coste
0ce6bd9bf5 use ByteCount instead of CharCount when we are really counting bytes
(that is most of the time when we are not concerned with displaying)
2012-10-11 00:41:48 +02:00
Maxime Coste
571861bc7b Return something in utf8::distance, thanks again gcc for letting this work 2012-10-11 00:39:17 +02:00
Maxime Coste
561cc72d6c Add a ByteCount unit 2012-10-11 00:13:31 +02:00
Maxime Coste
2cdebe01d3 fix make tags 2012-10-10 22:44:06 +02:00
Maxime Coste
8de754e2e9 when executing keys, propagate potentially changed editor to calling context 2012-10-10 19:15:43 +02:00
Maxime Coste
dae8f65308 exec concat all its arguments instead of accepting only one 2012-10-10 19:15:09 +02:00
Maxime Coste
ffba94fcde Actually return something in utf8::codepoint, thanks gcc for using rax 2012-10-10 19:14:18 +02:00
Maxime Coste
a04d1e3a1f Editor merge selections when they overlap 2012-10-10 19:11:24 +02:00
Maxime Coste
5bb37ad755 Support Append mode for Editor::select and use it for 'N' key 2012-10-10 13:59:55 +02:00
Maxime Coste
4c8b4890e6 Context: explicit constructors and more comments 2012-10-10 13:59:55 +02:00
Maxime Coste
74cdeb5952 Paste use a linewise mode when pasted string ends with a \n 2012-10-10 13:59:55 +02:00
Maxime Coste
b48d639976 Editor::insert handle all InsertModes 2012-10-10 13:59:55 +02:00
Maxime Coste
d574ae864d Editor::insert takes an InsertMode param, remove Editor::{append,replace} 2012-10-09 19:25:20 +02:00
Maxime Coste
7a8366da2b add a unicode.hh header for Codepoint related functions, s/utf8::Codepoint/Codepoint/ 2012-10-09 19:15:05 +02:00
Maxime Coste
e1d4215159 InsertMode insert the whole utf8 representation of a codepoint 2012-10-09 14:31:00 +02:00
Maxime Coste
c0db3b81be NCursesUI::get_key returns the codepoint 2012-10-09 14:30:35 +02:00
Maxime Coste
ba50d853b3 Editor: fix move_selection(LineCount) for utf8 2012-10-09 14:29:59 +02:00
Maxime Coste
1af7465107 utf8: add dump(OutputIterator& it, Codepoint cp) 2012-10-09 14:29:37 +02:00
Maxime Coste
c7272e427d get rid of Character 2012-10-08 19:33:53 +02:00
Maxime Coste
194bf6ac98 Buffer: add some utf8 sanity checks 2012-10-08 19:25:17 +02:00
Maxime Coste
bff015d5b9 WordCompleter: avoid word currently being edited 2012-10-08 19:14:48 +02:00
Maxime Coste
0a686573ab utf8 awareness in selectors 2012-10-08 19:12:09 +02:00
Maxime Coste
ed592a3005 DisplayAtom: add utf8 sanity check 2012-10-08 14:28:54 +02:00
Maxime Coste
5602bc10e8 DisplayAtom: only let DisplayLine touch m_begin and m_end 2012-10-08 14:28:38 +02:00
Maxime Coste
7e046e3f0b utf8 awareness in editor, highlighters and ncurses 2012-10-08 14:27:43 +02:00
Maxime Coste
5a267ab627 selections should always point to an utf8 character sequence start byte 2012-10-08 14:26:57 +02:00
Maxime Coste
f2e98f700e add utf8_iterator for adapting byte iterators to iterate on unicode characters 2012-10-08 14:25:58 +02:00
Maxime Coste
2db1d02329 add utf8 helpers in utf8.hh 2012-10-08 14:25:05 +02:00
Maxime Coste
946b4650b6 fix postfix StronglyTypedInteger::operator{++,--} 2012-10-02 14:19:45 +02:00
Maxime Coste
514aeead63 do not use our broken safe bool, c++11 explicit bool conversion is better 2012-10-02 14:18:34 +02:00
Maxime Coste
9ae8f5e47b Editor::move_selection now either takes a LineCount or a CharCount 2012-10-02 14:10:00 +02:00
Maxime Coste
669d2e456f add postfix operator++ to BufferIterator 2012-10-02 14:09:06 +02:00
Maxime Coste
9ec10daf69 move clamp to utils.hh 2012-10-02 14:08:09 +02:00
Maxime Coste
84acf2594a grep,make: tweak mktemp call to work on OSX 2012-10-02 10:37:08 +02:00
Maxime Coste
081f579ba1 OSX compilation fixes 2012-10-02 10:36:28 +02:00
Maxime Coste
4b0ccb0437 String and BufferIterator value_type goes back to plain char 2012-10-01 20:20:08 +02:00
Maxime Coste
f2f3421637 cpp.kak: fix string highlighter 2012-10-01 14:24:32 +02:00
Maxime Coste
bd0805cf3e autoenable word completion while inserting 2012-10-01 14:23:04 +02:00
Maxime Coste
29b72b3e24 Add a word completing functionality to insert mode (wip) 2012-09-30 16:24:06 +02:00
Maxime Coste
430765e132 extract is_alpha to string.hh 2012-09-30 16:23:18 +02:00
Maxime Coste
801e3eaae2 Add a Window::display_position(const BufferIterator&) method 2012-09-30 16:22:03 +02:00
Maxime Coste
6cd5d80757 Add a length method to AtomContent 2012-09-30 16:21:20 +02:00
Maxime Coste
5b6cb500fc Menus can be placed anywhere on the screen, and takes a style parameter
This paves the way for insert mode completion menu using the current
prompt menu system.
2012-09-30 15:18:37 +02:00
Maxime Coste
f230feec7f Change buffer order based on the last one used 2012-09-28 14:14:49 +02:00
Maxime Coste
79d8d082bd Store capture groups with selections in editor, and access them through dynamic registers 2012-09-26 20:43:42 +02:00
Maxime Coste
a8d2482eb6 Editor now stores selections as SelectionAndCapturesList 2012-09-26 20:33:47 +02:00
Maxime Coste
a2fd1528e6 Move last insertion from Client to Context 2012-09-26 20:07:06 +02:00
Maxime Coste
77eb86bcdb Forbid context copy 2012-09-26 14:27:23 +02:00
Maxime Coste
efc069b531 Extract IncrementalInserter::Mode as InsertMode
move ClientMode classes in a namespace due to InsertMode name collisions
2012-09-26 14:22:24 +02:00
Maxime Coste
f76323f56e Move UserInterface out of Client into Context 2012-09-26 14:13:04 +02:00