Commit Graph

3000 Commits

Author SHA1 Message Date
Maxime Coste
913ee3f096 Use Keys instead of char for keymap 2011-12-21 14:29:28 +00:00
Maxime Coste
ba1fe056f4 Add an exec command, similar to vim normal command 2011-12-20 19:22:05 +00:00
Maxime Coste
7116ed6d61 Window: throw when multiselect results in no selections 2011-12-20 19:27:13 +00:00
Maxime Coste
42a24895de Add Key struct 2011-12-20 19:21:11 +00:00
Maxime Coste
91606850fd Utils: add on_scope_end utility
on_scope_end permits to register a functor to be called at scope
end (either exception thrown or normal scope end). this is usefull
for cleanup code that must be run.

usage:

auto cleaner = on_scope_end([]() { cleanup(); });
2011-12-20 19:18:00 +00:00
Maxime Coste
17cab9c7c4 Filters: add cleanup_whitespace filter
this filter remove trailing whitespaces on the previous line
when inserting an end-of-line.
2011-12-20 14:27:01 +00:00
Maxime Coste
e77f58c010 better rvalue reference forwarding 2011-12-07 18:57:07 +00:00
Maxime Coste
2239fb6e49 Filters: move from buffer to window 2011-12-07 14:29:10 +00:00
Maxime Coste
c40eb2b03a Buffer: replace insert and erase methods with modify
modify directly takes a Modification as parameter
2011-12-07 14:26:40 +00:00
Maxime Coste
2edddfe009 Buffer: rename BufferModification to Modification 2011-12-06 18:58:43 +00:00
Maxime Coste
73cebb9072 kakrc: do not highlight the end-of-line in trailing whitespaces 2011-12-06 18:50:05 +00:00
Maxime Coste
b245d80c4e Window: preserve current selection when empty multi_select 2011-12-05 19:21:16 +00:00
Maxime Coste
4ae2fcffbd Buffer: add comment for clamp 2011-12-05 19:21:11 +00:00
Maxime Coste
711c05b81e Window: fix trailing spaces 2011-12-05 14:29:36 +00:00
Maxime Coste
23eafd4504 Add a repeat last insert command, bound to . 2011-12-05 14:28:45 +00:00
Maxime Coste
d1cc5da8a6 Filters: add expand_tabulations to insert spaces instead of tabs 2011-12-03 20:25:05 +00:00
Maxime Coste
9a6cef5230 TODO: update 2011-12-03 20:24:16 +00:00
Maxime Coste
74a315cd0e kakrc: add preserve_indent filter on c++ files and highlight trailing spaces 2011-12-02 19:01:08 +00:00
Maxime Coste
c761420055 fix exec_commands_in_file 2011-12-02 19:00:37 +00:00
Maxime Coste
11d606f79e {Filter,Highlighter}Registry: more infos on factory not found 2011-12-02 19:00:01 +00:00
Maxime Coste
0b4ed2280f Buffer: call BufCreate hook on construction 2011-12-02 18:59:18 +00:00
Maxime Coste
8e39edc567 DynamicBufferIterator: fix end of buffer corner case 2011-12-02 18:57:18 +00:00
Maxime Coste
b1daf8de16 Selectors: fix select_line on the last line 2011-12-02 18:56:18 +00:00
Maxime Coste
5821995054 README: document filters 2011-12-02 14:30:10 +00:00
Maxime Coste
94d59cc4dd Buffer: add filter support
filters are functions called prior to applying a modification
to a buffer. They can manipulate the modification to change
the editor behaviour.
2011-12-02 14:28:27 +00:00
Maxime Coste
8e06e168d9 HighlighterRegistry: use idvaluemap to store factories 2011-12-02 14:22:51 +00:00
Maxime Coste
4252e0d610 Window: use an idvaluemap to store highlighters 2011-12-02 14:20:11 +00:00
Maxime Coste
a5a726d291 Add idvaluemap container
it is a vector based map, preserving insertion order and providing
completion on ids it contains.
2011-12-02 14:18:31 +00:00
Maxime Coste
934e62b502 stop clearing selections all the time 2011-11-30 14:18:54 +00:00
Maxime Coste
d8dd782960 Highlighters: style fix 2011-11-30 14:11:53 +00:00
Maxime Coste
0b48525b35 Window: do not stay on an eol when clearing selections 2011-11-29 22:48:00 +00:00
Maxime Coste
0859b20bcf Rename Filter to Highlighter to be more explicit 2011-11-29 22:37:20 +00:00
Maxime Coste
e89516f2a3 IncrementalInserter: refactoring 2011-11-29 21:35:50 +00:00
Maxime Coste
b24dec89a2 Buffer: add iterator_at_line_{begin,end} methods 2011-11-28 19:31:29 +00:00
Maxime Coste
51ee0b61f4 DynamicBufferIterator: use const_cast instead of having a mutable field in Buffer 2011-11-28 18:55:17 +00:00
Maxime Coste
46a01b5a0b Debug: stop writing key codes to debug buffer and cleanups 2011-11-28 18:52:29 +00:00
Maxime Coste
dc642f8afa Buffer: refactor to remove do_{insert,erase} methods 2011-11-27 18:41:25 +00:00
Maxime Coste
08ba791ff4 Add a kakrc file which automatically enables hlcpp on c/c++ files 2011-11-27 13:02:50 +00:00
Maxime Coste
70e0393c4d Add a source command to execute commands from file
a kakrc file in current directory is sourced automatically
at start
2011-11-27 12:59:59 +00:00
Maxime Coste
de19aeb035 File: extract read_file function which returns file content in a string 2011-11-27 12:56:38 +00:00
Maxime Coste
a2dfcc232c README: document hooks 2011-11-26 19:19:08 +00:00
Maxime Coste
b59a0816b9 Add wq and wq! commands 2011-11-26 19:11:24 +00:00
Maxime Coste
e36153f035 CommandManager: fix complete and style tweak 2011-11-26 19:05:49 +00:00
Maxime Coste
a00961da99 Add hook command 2011-11-26 18:41:55 +00:00
Maxime Coste
dd2896ecc8 Window: call WinCreate hook on creation 2011-11-26 18:39:59 +00:00
Maxime Coste
9c117a821c Filters: fix colorize_regex_range when range is not visible 2011-11-26 18:34:49 +00:00
Maxime Coste
68f3d24199 HooksManager: replace HookContext with Context 2011-11-26 18:34:10 +00:00
Maxime Coste
957446dee4 Add a Context parameter to commands 2011-11-26 18:32:57 +00:00
Maxime Coste
417802cbdf CommandManager: argument splitting supports "multi word"
works with " and '
2011-11-26 17:20:02 +00:00
Maxime Coste
9775958012 Add a HooksManager class 2011-11-25 14:26:29 +00:00