#!/usr/bin/php
<?php declare(strict_types=1);

namespace Kilo;

require_once __DIR__ . '/src/constants.php';
require_once __DIR__ . '/src/functions.php';
require_once __DIR__ . '/src/Editor.php';

function main(int $argc, array $argv): int
{
	global $ffi;

	enableRawMode();

	$editor = Editor::new($ffi);

	if ($argc >= 2)
	{
		$editor->open($argv[1]);
	}

	$editor->setStatusMessage('HELP: Ctrl-Q = quit');

	// Input Loop
	while (true)
	{
		$editor->refreshScreen();
		$char = $editor->processKeypress();
		if ($char === NULL)
		{
			break;
		}
	}

	return 0;
}

//! Init
main($argc, $argv);