A rawmode CLI editor, in PHP, based on the C Kilo tutorial: https://viewsourcecode.org/snaptoken/kilo/
Go to file
Timothy J Warren 94a3e2df7a
Some checks failed
Gitea - Tutorials/php-kilo/master There was a failure building this commit
Try CI with custom docker file
2019-12-04 15:59:18 -05:00
src Replace inline ANSI escapes with constants and static methods 2019-12-04 10:54:15 -05:00
tests Replace inline ANSI escapes with constants and static methods 2019-12-04 10:54:15 -05:00
.editorconfig Add editorconfig 2019-10-10 15:49:18 -04:00
.gitignore Update gitignore 2019-11-19 16:11:42 -05:00
composer.json Add json dependency for tests 2019-11-20 16:02:35 -05:00
composer.lock More test coverage, and snapshots 2019-11-20 15:03:48 -05:00
Dockerfile Try CI with custom docker file 2019-12-04 15:59:18 -05:00
Jenkinsfile Try CI with custom docker file 2019-12-04 15:59:18 -05:00
kilo Mac fixes 2019-12-02 09:44:11 -05:00
phpunit.xml Tests for every class 2019-11-19 17:01:45 -05:00
README.md Slight tweak of php token handling 2019-11-13 16:26:19 -05:00
test.php Fix syntax highlighting dissapearing when code pushed to new line (for PHP) 2019-11-15 16:19:34 -05:00

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 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.