|
c2c0d6f042
|
add a piece table insertion test
|
2016-09-25 23:01:59 -04:00 |
|
|
bc4c5b5c98
|
fix PieceTable::Cursor::next_line()
|
2016-09-25 22:58:13 -04:00 |
|
|
6e5489c88e
|
do not allow cursor movements for non-valid cursors
|
2016-09-13 23:16:23 -04:00 |
|
|
f876b68bd0
|
Add cursor movements to move to SOL and EOL.
|
2016-09-07 22:31:24 -04:00 |
|
|
86246385d4
|
Draw text based on new cursor movement system
The cursor row still locked to the first row for now
|
2016-09-06 21:05:24 -04:00 |
|
|
33a190c495
|
complete cursor movement routines taking Encoding and tabs into account
|
2016-08-27 21:38:48 -04:00 |
|
|
b478d17e16
|
add Interator and Cursor constructors
|
2016-08-27 15:43:35 -04:00 |
|
|
d6b3810a3c
|
Split some PieceTable::Cursor functionality into PieceTable::Iterator
|
2016-08-27 15:20:08 -04:00 |
|
|
f659c14242
|
add Encoding::decode()
|
2016-08-15 22:14:47 -04:00 |
|
|
b2bed71ee4
|
add Encoding::beginning_of_code_point()
|
2016-08-11 23:13:32 -04:00 |
|
|
1aa9fb0c41
|
add Encoding::num_bytes_in_code_point()
|
2016-08-11 23:08:21 -04:00 |
|
|
490505faa1
|
detect file encoding when loading it
|
2016-08-11 20:11:13 -04:00 |
|
|
c4253078a9
|
add Encoding class
|
2016-08-11 20:03:53 -04:00 |
|
|
3c5a7b7341
|
add initial cursor movement support
|
2016-08-08 22:40:47 -04:00 |
|
|
81e6a53c08
|
add PieceTable.tabstop attribute
|
2016-08-04 22:42:27 -04:00 |
|
|
f6338da8d0
|
add PieceTable::Cursor::operator*(), add unit test
|
2016-08-04 22:38:18 -04:00 |
|
|
abf853e1ba
|
link from a piece table cursor object back to the containing piece table
|
2016-08-04 22:19:13 -04:00 |
|
|
728e389c1e
|
add column to a PieceTable::Cursor
|
2016-08-01 22:02:42 -04:00 |
|
|
e913c15212
|
remove number of characters from a Piece
|
2016-08-01 22:02:42 -04:00 |
|
|
8beea3461c
|
Rework PieceTable cursor management
- rename PieceTable::Position -> PieceTable::Cursor
- remove built-in cursor
- add PieceTable::add_cursor()
|
2016-07-31 22:11:12 -04:00 |
|
|
a5bfcdd3c4
|
remove PieceTable::ChangeDescriptor
|
2016-07-31 20:51:06 -04:00 |
|
|
887fb4b980
|
use scoped enum instead of #define
|
2016-07-30 09:54:30 -04:00 |
|
|
7064afc1f1
|
rename PieceDescriptor to just Piece
|
2016-07-30 09:52:46 -04:00 |
|
|
b61513b97e
|
add PieceTable::get_start_of_line()
|
2016-07-29 21:19:01 -04:00 |
|
|
dc71520a88
|
PieceTable: rename m_cursor_position -> cursor_position
|
2016-07-29 21:04:48 -04:00 |
|
|
89c0ca0bfa
|
add a cursor position attribute to PieceTable
|
2016-07-28 21:48:18 -04:00 |
|
|
26f8fb355e
|
allow File::write() to take a Span
|
2016-07-26 22:40:04 -04:00 |
|
|
382d155e40
|
add LineEndings module
|
2016-07-26 22:36:22 -04:00 |
|
|
cdae9e51ae
|
add Span class and use it from TextLoader
|
2016-07-26 21:09:33 -04:00 |
|
|
63b3848424
|
Preserve whether there is a EOL at EOF when writing the file
|
2016-07-24 17:24:00 -04:00 |
|
|
e66130b603
|
fix File::open() when opening for writing
|
2016-07-24 17:16:05 -04:00 |
|
|
a416a47b29
|
add Buffer::write_to_file()
|
2016-07-24 12:50:27 -04:00 |
|
|
1730838921
|
add File::write()
|
2016-07-24 12:37:34 -04:00 |
|
|
0780659c8c
|
Buffer: keep track of eol_at_eof flag from TextLoader
|
2016-07-24 12:27:15 -04:00 |
|
|
7093560a94
|
Support loading files that do not end with a EOL sequence
- do not drop the last line of such files from TextLoader
- add a flag to TextLoader to indicate if the loaded file ended with a
EOL sequence
|
2016-07-24 12:22:03 -04:00 |
|
|
89e8dc5de3
|
add TextLoader::get_eol_at_eof()
|
2016-07-24 12:06:50 -04:00 |
|
|
500a6891d4
|
remove Text module
|
2016-07-19 22:35:51 -04:00 |
|
|
20a2786755
|
Render from the piece table!
|
2016-07-19 22:34:11 -04:00 |
|
|
e52710b47c
|
add PieceTable::append_initial_line_piece()
|
2016-07-19 21:31:06 -04:00 |
|
|
8fcbad02f8
|
Update PieceDescriptor structure - use direct pointers for list links
|
2016-07-18 22:32:45 -04:00 |
|
|
ebf92f07ac
|
drop const in TextLoader line pointer
|
2016-07-18 22:07:29 -04:00 |
|
|
aa45f6d6dc
|
Add a PieceTable to Buffer
|
2016-07-18 22:04:57 -04:00 |
|
|
2805ac36d3
|
add PieceTable::start_descriptor and PieceTable::end_descriptor
|
2016-07-18 22:02:56 -04:00 |
|
|
793bc46293
|
add PieceTable::add_piece_descriptor() and set up start/end descriptors
|
2016-07-18 22:01:33 -04:00 |
|
|
b30b6eb202
|
Start on PieceTable
|
2016-07-17 23:05:02 -04:00 |
|
|
7e8b5c0b64
|
Allow PagedBuffer to hold non-power-of-2-sized objects
|
2016-07-17 21:55:29 -04:00 |
|
|
cab874305f
|
add PagedBuffer; use own main() for tests
|
2016-07-17 20:43:18 -04:00 |
|
|
3be19dbf81
|
implement TextLoader tests, add TestSupport module
|
2016-07-16 21:28:29 -04:00 |
|
|
181d3ad64a
|
Avoid signed and unsigned comparison
|
2016-07-15 19:58:01 -04:00 |
|
|
a2bd7504b5
|
replace FileLoader with TextLoader
|
2016-07-14 21:28:38 -04:00 |
|