* Split fs file into multiple files
* Use DirEntry#into
* Reorganize dir entry creation prior to refactoring
* Refactor Block
* Refactor bits manipulation in Dir#create_entry
* Refactor ReadDir
* Truncate filename to 255 chars at most
* Refactor Dir#update_entry
* Refactor new block alloc
* Allow different kinds of block devices
* Display disk usage
* Add fs::read to API
* Add command to mount fs in memory
* Add tests
When `Prompt#input` received a `^C` or `^D` it would return `None`.
It is used in a `while let` loop so in the shell and the lisp
interpreter it translated to exiting. This is good for `^D` but `^C`
should just cancel the current line.
So now in the latter case it returns `Some(String::new())` instead and
let the application deal with the empty string, which is fine for the
shell and the lisp interpreter.
* Add a regular expression engine
* Fix off by one error
* Add + quantifier
* Add more tests
* Use assert_eq instead of assert in tests
* Rewrite tests with an array
* Fix bug in is_match_star
* Use the same do while equivalent in is_match_plus
* Add ? quantifier
* Refactor engine code
* Add backslash char
* Group ifs in match
* Add special escaped chars
* Add doc
* Add find command
* Add Match#find
* Show multiple matches in the same line
* Dry Regex
* Change matches color
* Add greedy version of matching by default
* Add MetaChar enum to fix matching escaped chars
* Change function signatures
* Remove macro_export
* Add TODO
* Find matching lines recursively
* Handle special patterns
* Replace sys::vga::clear_screen() by csi code
* Replace all remaining calls of vga functions by csi code
* Remove dead code
* Add some guard clauses
* Add TODO on partially implemented CSI codes
* Fix inverted params on cursor position
* Print newline char between lines
* Add a TODO to load a palette via ANSI OSC commands
* Move cursor after clear screen
* Simplify line insert
* Fix old bug when scrolling twice the screen width
* Simplify backspace code
* Disable interrupts when printing in serial
* Refactor status line
* Hide cursor during printing
* Avoid printing status line over saving status
* Use 1-indexed rows and cols in the user interface
* Add creation time to dir entry
* Update and publish fuse script
* Change boot offset in doc
* Change creation time into last modified time
* Add sort parameter to list command
* Add error for missing sort key
* Add shortcut params for sort
* Fix slow zero-filled vector initialization
* Fix warnings in user command
* Fix clippy error in httpd command
* Fix warnings about using print instead println
* Fix length comparison to zero
* Fix some clippy warnings
* Fix length comparison to zero
* Fix some clippy warnings
* Fix some clippy warnings
* Fix bug introduced by clippy
* Rename height and width to rows and cols
* Refactor line editing
* Add partial support of delete key
* Use parser from vte crate to strip csi
* Use parser from vte crate to read input chars
* Add suppor of delete key in serial
* Move keys handling into separate functions
* Add history navigation
* Add autocompletion
* Use Prompt for shell
* Fix shell exiting
* Leave more space for kernel on disk
* Move code to api
* Add palette::from_csv
* Refactor palette::from_str with tests
* Add tests to api::font::from_bytes
* Add TODO comments to fs code
* Rename kernel and user dirs to sys and usr
* Add missing files from migration
* Move console::Style to api
* Add more missing changes