<?php declare(strict_types=1);

require __DIR__."/../vendor/autoload.php";

$source = file_get_contents("php://input");

try {
	$Instance = new parkdown\Parkdown($source, false);
	echo $Instance->html();
} catch (parkdown\ParserError $error) {
	echo "<pre>";

	$message     = explode(" ", $error->getMessage());
	$location    = array_shift($message);
	$loc         = explode(":", $location);
	$file        = array_shift($loc);
	$line        = substr(implode(":", $loc), 0, -1);
	[$row, $col] = explode(":", $line);

	echo "<a class='error' href=\"javascript: highlight($col, $row);\">$location</a> ".implode(" ", $message);

	
	$stackTrace = explode("\n", $error->getTraceAsString());

	echo "<p><small>";
		foreach ($stackTrace as $step) {
			$step = explode(" ", $step);
			array_shift($step);
			$location = array_shift($step);
			$location = preg_replace("/\(([0-9]+)\):/", ":\$1:", $location);

			echo "<a class='error' href='vscode://file/".substr($location, 0, -1)."'>$location</a> ".implode(" ", $step)."<br>";
		}
	echo "</small></p>";
}