88 Commits

Author SHA1 Message Date
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
cae0b581a2 Buffer owns the file buffer 2016-07-14 20:09:35 -04:00
5f8bbcfca4 start a Timer when it is created 2016-07-14 19:27:39 -04:00
e562f77dab replace FileReader with File class; prepare for removing FileLoader 2016-07-14 18:44:18 -04:00
5a8894498b add System::free_pages() 2016-07-14 18:42:26 -04:00
ef6abd8ed7 Add other useful page-size-related fields to System module 2016-07-14 17:51:53 -04:00
48e82a11a3 add initial System module 2016-07-13 21:41:30 -04:00
dd7a5de619 add Timer 2016-07-10 20:42:38 -04:00
b1684f1341 scroll through file with J/K keys 2016-07-10 20:13:40 -04:00
5da9cde758 Buffer: hold on to the FileLoader for now so the memory is not released 2016-07-10 17:23:30 -04:00
a08bc144e2 Add initial Runtime module 2016-07-06 23:09:53 -04:00
ff51d17344 add Path::listdir() 2016-07-06 22:41:43 -04:00
725a0f22a1 allow Path::join() to take an arbitrary number of arguments 2016-07-06 22:41:42 -04:00
2012591b27 add Path::is_file() and Path::is_dir() 2016-07-06 19:40:35 -04:00
1f9a981e6a add initial Path class 2016-07-06 19:21:35 -04:00
b58c344604 rename FileReader::load() -> FileReader::read() 2016-07-05 19:10:32 -04:00
6d6988c027 expose line iteration in Buffer API 2016-06-29 22:03:40 -04:00
fdcba81a3d most rudimentary Buffer class imaginable 2016-06-29 20:54:08 -04:00
1636ee1728 add FileLoader::get_line() 2016-06-29 20:18:33 -04:00
9adcd93fd3 get a temporary Text class in place 2016-06-29 20:05:59 -04:00
e16e81375b move some sources to src/core 2016-06-20 22:03:43 -04:00