A rawmode CLI editor, in PHP, based on the C Kilo tutorial: https://viewsourcecode.org/snaptoken/kilo/
You can not 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 83c5c51b58 Actually add the test... 1 month ago
src Tests for the ANSI methods 1 month ago
tests Actually add the test... 1 month ago
.editorconfig Add editorconfig 3 months ago
.gitignore Update gitignore 2 months ago
Dockerfile Move phpdbg install to Dockerfile 1 month ago
Jenkinsfile Attempt to enable ffi for code coverage 1 month ago
README.md Update README with build status 1 month ago
composer.json Add json dependency for tests 2 months ago
composer.lock More test coverage, and snapshots 2 months ago
kilo Mac fixes 1 month ago
phpunit.xml Tests for every class 2 months ago
test.php Fix syntax highlighting dissapearing when code pushed to new line (for PHP) 2 months ago


PHP Kilo

Build Status

A reimplementation of the Kilo tutorial in PHP. Requires PHP 7.4, due to requiring the FFI extension.

Implementation notes:

  • The editor prefix has been removed from all the relevant functions, instead they are methods on the Editor class.
  • Enums are faked with class constants
  • Composer is used for autoloading
  • Properties that must be manually updated in the C version (like counts/string length) are implemented with magic methods, so they are essentially calculated on read.
  • Generally, if a function exists in PHP, with the same name as the C function, the PHP version will be used.