A rawmode CLI editor, in PHP, based on the C Kilo tutorial: https://viewsourcecode.org/snaptoken/kilo/
Timothy J Warren
6df5bda8f2
Some checks failed
timw4mail/php-kilo/pipeline/head There was a failure building this commit
|
||
---|---|---|
src | ||
tests | ||
.editorconfig | ||
.gitignore | ||
composer.json | ||
composer.lock | ||
Dockerfile | ||
Jenkinsfile | ||
kilo | ||
phpstan.neon | ||
phpunit.xml | ||
README.md | ||
test.php | ||
tokens.php |
PHP Kilo
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 theEditor
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.