#!/usr/bin/env php $no, 'message' => $str, 'file' => $file, 'line' => $line, ], TRUE); file_put_contents('kilo.log', $msg, FILE_APPEND); }, -1); // ! Init with an IIFE return (static function (int $argc, array $argv): int { Termios::enableRawMode(); register_shutdown_function([Termios::class, 'disableRawMode']); $editor = Editor::new(); if ($argc >= 2) { $editor->open($argv[1]); } $editor->setStatusMessage('HELP: Ctrl-S = save | Ctrl-Q = quit | Ctrl-F = find'); // Input Loop while (true) { $editor->refreshScreen(); $char = $editor->processKeypress(); if ($char === NULL) { break; } } return 0; })($argc, $argv);