A rawmode CLI editor, in PHP, based on the C Kilo tutorial: https://viewsourcecode.org/snaptoken/kilo/
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.
timw4mail/php-kilo/pipeline/head This commit looks good
Details
|
7 months ago | |
---|---|---|
src | 7 months ago | |
tests | 9 months ago | |
.editorconfig | 4 years ago | |
.gitignore | 3 years ago | |
Dockerfile | 10 months ago | |
Jenkinsfile | 10 months ago | |
README.md | 7 months ago | |
composer.json | 10 months ago | |
composer.lock | 10 months ago | |
kilo | 2 years ago | |
phpstan.neon | 2 years ago | |
phpunit.xml | 2 years ago | |
test.php | 9 months ago |
README.md
PHP Kilo
A reimplementation of the Kilo tutorial in PHP. Also has some inspiration from the Hecto text editor tutorial. Requires PHP 8 and FFI.
Requirements
- PHP 8.1
- FFI enabled
Implementation notes:
- The
editor
prefix has been removed from all the relevant functions, instead they are methods on one of the implementation classes. - 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.
- Classes are used to modularize functionality, and reduce the amount of functions with global side effects