A Rust implementation of the Kilo text editor tutorial: https://viewsourcecode.org/snaptoken/kilo/index.html
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Timothy Warren ddf0963c65 Some minor cleanup 2 years ago
src Some minor cleanup 2 years ago
.gitignore Ugly progress commit 4 years ago
Cargo.lock Update version 4 years ago
Cargo.toml Update version 4 years ago
README.md Minor code cleanup 4 years ago


Oxidized Kilo

A reimplementation of the Kilo tutorial in Rust.

Implementation notes:

  • The editor prefix has been removed from all the editor methods. Since this implementation uses impls on a shared Editor struct, the prefix is redundant
  • Any C equivalent functionality based on memory allocating/deallocating, or other manual book-keeping is instead implemented in a more idiomatic Rust fashion.
  • Row structs are referenced by their index in the Editor struct, rather than as a direct reference in method calls. This generally simplifies dealing with the rules of Rust (borrow checker).
  • The prompt method of the editor can not take an arbitrary formatting string, due to Rust requiring a string literal for string formatting macros.

Additions / Changes

  • Reverse coloring for search results, so comment types can have different colors
  • Two separate vectors are used to define the two types of keywords, rather than the weird pipe suffix