Commit Graph

567 Commits

Author SHA1 Message Date
Maxime Coste
0e9b0c8b3a insert_char: remove 'ctrl-r %' handling, already provided by dynamic register 2012-07-25 14:29:51 +02:00
Maxime Coste
af203b2b94 diff.kak: recognize patch files 2012-07-25 14:14:25 +02:00
Maxime Coste
6fc0432e9f add inline keyword in cpp highlighting 2012-07-20 13:36:06 +02:00
Maxime Coste
435797e34f global: quote tag pattern 2012-07-18 19:03:20 +02:00
Maxime Coste
399b9b6235 optimize regex highlighter's regex 2012-07-18 19:02:41 +02:00
Maxime Coste
4908b2c3ef Fix end_it computation in Buffer::insert, avoid clamping in iterator_at 2012-07-18 14:12:41 +02:00
Maxime Coste
c915e18950 Move selection to last modification position in editor::{undo,redo} 2012-07-16 21:53:00 +02:00
Maxime Coste
31c0931dff Go back to a generic BufferChangeListener interface for selection update 2012-07-16 21:51:37 +02:00
Maxime Coste
fe988868e5 IncrementalInserter preserves selections 2012-07-16 21:21:56 +02:00
Maxime Coste
5a671db12c Correct multi select unit test 2012-07-16 21:14:52 +02:00
Maxime Coste
1d5180e782 Window: handle horizontal scrolling correctly
Window::scroll_to_keep_cursor_visible_ifn now highlights the cursor
line in order to find its real display position (for example if the
number_lines highlighter is present it may modify the position).
2012-07-15 01:48:50 +02:00
Maxime Coste
6e072d1a61 ncurses: fix first ~ line drawing 2012-07-12 23:59:02 +02:00
Maxime Coste
03d8efc249 DisplayBuffer: add range and compute_range methods 2012-07-12 23:51:13 +02:00
Maxime Coste
b1a087485c DisplayBuffer rewrite, a DisplayBuffer is now a list of DisplayLines
Code is now greatly simplified using this architecture, and
DisplayAtoms no longer know their DisplayCoords and can be in any
order.
2012-07-12 23:19:10 +02:00
Maxime Coste
2830825c56 BufferIterator: allow invalid iterator in operator= 2012-07-12 23:11:16 +02:00
Maxime Coste
71fcc123bc Window: remove iterator_at and line_and_column_at methods 2012-07-12 14:28:58 +02:00
Maxime Coste
06dd3f8aad Add Editor::replace(memoryview) and bind alt-P to replace paste 2012-07-11 14:15:27 +02:00
Maxime Coste
5cbded8221 make display buffers and highlighters handle better longer than display lines
still work in progress, I think the whole display system will in fact need
a rewrite.
2012-07-03 23:23:07 +02:00
Maxime Coste
d092afead9 make DisplayBuffer::atom_containing easier to understand 2012-07-03 21:12:05 +02:00
Maxime Coste
d7e1cab116 DisplayAtom: support empty replacement 2012-07-03 19:13:16 +02:00
Maxime Coste
603cfd3108 do not catch exception in commands, let them propagate 2012-06-30 00:44:14 +02:00
Maxime Coste
f11d44246c add safe_ptr::operator=(safe_ptr&&) and safe_ptr::reset(T*) 2012-06-30 00:33:36 +02:00
Maxime Coste
dfbda951d3 support static and dynamic registers, add '%' (filename) and '.' (selection) registers 2012-06-29 18:37:17 +02:00
Maxime Coste
5b2ef1da6a IncrementalInsertor::insert takes a memoryview<String> rather than a Register 2012-06-29 18:35:48 +02:00
Maxime Coste
7aa533c049 simplify Register interface 2012-06-29 13:25:34 +02:00
Maxime Coste
49e1d91804 Buffer: pass by value instead of by reference when object will be copied anyway
Let copy elision and move semantics kick in
2012-06-29 13:19:29 +02:00
Maxime Coste
36e4dacdf5 Fix BufferIterator::on_erase and tweak Buffer 2012-06-28 14:26:01 +02:00
Maxime Coste
9b6b6b6b17 Rename UI to Client 2012-06-28 14:11:43 +02:00
Maxime Coste
286462a2f6 Add Context::option_manager()
it returns the more specific option manager available
(window -> buffer -> global)
2012-06-28 14:01:37 +02:00
Maxime Coste
9c78453cb7 Context references buffer and window with a safe_ptr 2012-06-28 13:46:14 +02:00
Maxime Coste
4dfc910195 BufferManager use safe_ptr to reference the Buffers 2012-06-28 13:45:42 +02:00
Maxime Coste
1289268174 Add SafeCountable and safe_ptr classes
safe_ptr is a smart pointer which manage a safe count in pointed
objects. SafeCountable provides the interface needed for safe_ptr
and assert the safe count is zero in destructor.

This permits to have pointers that guarantees their pointed object is
alive.
2012-06-28 13:42:55 +02:00
Maxime Coste
e7e9b8a6cd add rc/diff.kak and load in kakrc 2012-06-27 14:29:12 +02:00
Maxime Coste
70bd18e1f2 add kak_opt_.* environement variable retriever to access options from shell. 2012-06-27 14:28:43 +02:00
Maxime Coste
ecb3a737a9 Tweak String class, and cleanup usages
remove String::clear, add operator=(String&&) add str_to_int(const String&)
to replace atoi.
2012-06-27 14:26:29 +02:00
Maxime Coste
ae590f35d8 update TODO 2012-06-27 14:23:13 +02:00
Maxime Coste
7fb49b183e ShellManager environment variable use a regex instead of an exact match
when a kakoune releated env var used in a shell command, the ShellManager
tries to match it with given regex and the first that matches calls its
value retriever.

For this to be useful, EnvVarRetrievers now also take the variable
name in its parameters.
2012-06-25 19:40:18 +02:00
Maxime Coste
cffb895797 remove ugly id_to_str param in idvaluemap and str_to_str 2012-06-25 19:11:13 +02:00
Maxime Coste
ccec35f88c code cleanups in buffer 2012-06-25 19:05:32 +02:00
Maxime Coste
d1c4a655b9 git.kak: use filetype option 2012-06-15 14:24:57 +02:00
Maxime Coste
77d3f4d5b1 update README 2012-06-15 14:24:09 +02:00
Maxime Coste
11e8d07797 cleanup kakrc.kak 2012-06-14 21:52:47 +00:00
Maxime Coste
c8fdbc2a60 support buffer as a hook target 2012-06-14 20:51:01 +00:00
Maxime Coste
0e8add34ae delete buffer deletes the current buffer when no params given 2012-06-14 18:05:42 +00:00
Maxime Coste
eb34f6db73 execute BufClose hook in Buffer destructor 2012-06-14 17:44:28 +00:00
Maxime Coste
fd8517f91e fix some warnings detected with clang 2012-06-05 13:33:02 +00:00
Maxime Coste
5936aa6710 rework cpp.kak and kakrc.kak to use the filetype option 2012-06-14 13:21:22 +00:00
Maxime Coste
dc91f344f7 Reorder managers creation in main 2012-06-14 13:20:40 +00:00
Maxime Coste
f7ee2801e9 Windows call the WinSetOption hook when an option changes 2012-06-14 13:19:38 +00:00
Maxime Coste
a943e08dc7 Refactor OptionManager, add OptionManagerWatcher
- use set_option to set an option, instead of operator[] (no-const)
- keeps a list of OptionManagerWatcher to notify when an option change
  it also notifies when an option changes in his parent and the option
  is not overridden.
2012-06-14 13:16:44 +00:00