A rawmode CLI editor, in PHP, based on the C Kilo tutorial: https://viewsourcecode.org/snaptoken/kilo/
Go to file
Timothy Warren 03fed4d667
Some checks failed
timw4mail/php-kilo/pipeline/head There was a failure building this commit
PHP Syntax highlighting using PhpToken
2021-03-03 11:50:29 -05:00
src PHP Syntax highlighting using PhpToken 2021-03-03 11:50:29 -05:00
tests Create php8 fork 2020-12-04 11:18:21 -05:00
.editorconfig Add editorconfig 2019-10-10 15:49:18 -04:00
.gitignore Fix CTRL method 2020-02-05 16:32:17 -05:00
composer.json PHP Syntax highlighting using PhpToken 2021-03-03 11:50:29 -05:00
composer.lock Create php8 fork 2020-12-04 11:18:21 -05:00
Dockerfile Move phpdbg install to Dockerfile 2019-12-04 16:21:56 -05:00
Jenkinsfile Clover code coverage, try again 2020-03-11 14:59:34 -04:00
kilo Create php8 fork 2020-12-04 11:18:21 -05:00
phpunit.xml Create php8 fork 2020-12-04 11:18:21 -05:00
README.md Refactor and simplify 2020-02-05 14:50:31 -05:00
test.php PHP Syntax highlighting using PhpToken 2021-03-03 11:50:29 -05:00

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.