Commit Graph

7448 Commits

Author SHA1 Message Date
Maxime Coste
0ba7c7286d Store buffer content in a list of lines
Instead of a big std::string, buffer now store it's content in a
list of lines. In order to achieve O(log(n)) random access, lines
contains both their content and their offset since the start of
the file, making binary search usable.

BufferIterator now have a LineAndColumn coordinate into the buffer
instead of an offset so that access is still O(1).
2012-03-30 11:37:18 +00:00
Maxime Coste
c336bf1365 set print pretty in gdbinit 2012-03-27 13:27:35 +00:00
Maxime Coste
f43d206e4e remove unused measure_string from window.cc 2012-03-26 23:13:09 +00:00
Maxime Coste
63d1c4471c catch throw in gdbinit 2012-03-26 14:23:27 +00:00
Maxime Coste
a555e28b4e add basic unit tests run at startup 2012-03-21 19:27:36 +00:00
Maxime Coste
0748aa042b add a COMMA macro for assert parameters 2012-03-25 20:15:54 +00:00
Maxime Coste
3dd96565b3 display modified buffers names when quit fails 2012-03-25 20:12:35 +00:00
Maxime Coste
792f0f7f2e BufferManager no longer owns buffers, only register them 2012-03-26 14:21:49 +00:00
Maxime Coste
3c798a4ee8 remove useless Window::cursor_{position,iterator} 2012-03-21 19:26:42 +00:00
Maxime Coste
60fb523d62 add some missing operators to LineAndColumn 2012-03-21 14:13:26 +00:00
Maxime Coste
3dd82a2b85 get rid of Buffer::at 2012-03-19 14:04:33 +00:00
Maxime Coste
6d3e8b00f2 gitignore .pyc and GTAGS 2012-03-14 14:29:47 +00:00
Maxime Coste
a377ff79aa buffer style fix 2012-03-12 21:39:54 +00:00
Maxime Coste
3c105592e0 get rid of Buffer::compute_lines 2012-03-12 21:31:27 +00:00
Maxime Coste
97b8905a6d fix update_lines on empty buffer 2012-03-12 14:26:46 +00:00
Maxime Coste
cd615b35a2 generalize do_select_surrounding in do_select_object and add a whole word selector 2012-03-12 14:23:30 +00:00
Maxime Coste
df0f7b4689 rename BufferString to String 2012-03-08 21:23:29 +00:00
Maxime Coste
f2fd2b125a support read error in shell_eval 2012-03-08 21:15:37 +00:00
Maxime Coste
97648b1fda add some highlighting for git 2012-03-08 20:58:22 +00:00
Maxime Coste
c98657a512 fix some unitialized variable use (thanks valgrind) 2012-03-08 20:49:10 +00:00
Maxime Coste
8bc6ed6cbb add gdb pretty printers for kakoune data structures 2012-03-08 20:32:13 +00:00
Maxime Coste
782b557660 factor word and WORD selectors 2012-03-07 19:20:32 +00:00
Maxime Coste
7e01867d55 'I' now inserts before the first non blank character of the line instead of the first character of the line 2012-03-07 19:19:33 +00:00
Maxime Coste
c183acb800 use an Editor in write_debug 2012-03-06 23:12:48 +00:00
Maxime Coste
c99a6a3e4c fix last line handling in window display buffer 2012-03-06 14:27:49 +00:00
Maxime Coste
0ce3bc4621 simplify and optimize buffer line handling 2012-03-06 14:27:03 +00:00
Maxime Coste
0a385885ff correctly handle boost::regex_error in selectors 2012-03-04 20:11:22 +00:00
Maxime Coste
583de3ba6e do not take a std::string by value in runtime_error constructor 2012-03-04 20:10:09 +00:00
Maxime Coste
ded05bb5d3 NCurses: support default colors 2012-03-04 19:55:38 +00:00
Maxime Coste
d91ac911e7 fix complete_filename when directory does not exist 2012-03-04 19:43:47 +00:00
Maxime Coste
454258a495 fix shell_eval when no buffer in context 2012-03-04 19:42:31 +00:00
Maxime Coste
1f854bc0cc fix select_surrounding when selection is on the closing char 2012-02-29 14:27:25 +00:00
Maxime Coste
8275fe30f9 support appending with search 2012-02-28 20:50:47 +00:00
Maxime Coste
c4ad372d91 call compute_lines before hooks at Buffer construction 2012-02-28 14:23:52 +00:00
Maxime Coste
bc3d20bf2a document Selection class 2012-02-27 20:01:59 +00:00
Maxime Coste
5bddd166f1 fix Buffer::line_length for last line 2012-02-27 19:52:36 +00:00
Maxime Coste
c03506ca04 save and restore " and / registers in exec_keys 2012-02-27 19:51:30 +00:00
Maxime Coste
13d74414e1 fix exec_commands_in_file parsing of [\'"`] strings 2012-02-27 14:25:07 +00:00
Maxime Coste
b6b66aecc9 fix number_lines line count computing 2012-02-27 14:24:14 +00:00
Maxime Coste
7f175da3fd Selection: handle last buffer character deleted case 2012-02-22 22:03:11 +00:00
Maxime Coste
416a1805b3 Fix last line handling in buffer 2012-02-22 22:02:43 +00:00
Maxime Coste
a386315bde Buffer: optimize line updating when applying a modification 2012-02-22 21:54:25 +00:00
Maxime Coste
030450838a fix Buffer::line_length for last line 2012-02-22 21:49:00 +00:00
Maxime Coste
275c0c67d4 Final attribute support for DisplayAtom
When DisplayAtoms have the Final attributes, highlighters
may not modify them anymore.
2012-02-22 21:48:14 +00:00
Maxime Coste
aeac9484b0 compute the number of digits needed in number_lines highlighter 2012-02-22 20:43:59 +00:00
Maxime Coste
46c614c4a2 fix skip_while 2012-02-16 14:28:22 +00:00
Maxime Coste
7026693ecd move ncurses function to ncurses.{cc,hh} 2012-02-16 14:25:16 +00:00
Maxime Coste
d548037922 tweak kakrc highlighting 2012-02-16 14:04:19 +00:00
Maxime Coste
6aacebd2e0 Add an echo command which print it's params in the status line 2012-02-15 14:24:52 +00:00
Maxime Coste
91f2292ec5 Support shell expansion in place of command name in command manager 2012-02-15 14:19:57 +00:00