Major changes: - New ThemeManager with Twig templating and SCSS compilation - Dynamic themes system (themes/default, themes/demo) - LogManager with SQLite storage and syslog forwarding - RequestLogger with static helper methods - Admin UI overhaul (Bootstrap 5, dark mode) - Admin config page with logging and theme settings - Admin logs page with filters and search - Removed legacy Mustache templates - Removed test plugin and theme - Composer dependencies: Twig, scssphp, CommonMark, MaxMind GeoIP
41 lines
904 B
PHP
41 lines
904 B
PHP
<?php
|
|
|
|
namespace SourceSpan\Highlighter;
|
|
|
|
/**
|
|
* A single line of the source file being highlighted.
|
|
*
|
|
* @internal
|
|
*/
|
|
final class Line
|
|
{
|
|
/**
|
|
* All highlights that cover any portion of this line, in source span order.
|
|
*
|
|
* This is populated after the initial line is created.
|
|
*
|
|
* @var list<Highlight>
|
|
*/
|
|
public array $highlights = [];
|
|
|
|
/**
|
|
* The URL of the source file in which this line appears.
|
|
*
|
|
* For lines created from spans without an explicit URL, this is an opaque
|
|
* object that differs between lines that come from different spans.
|
|
*/
|
|
public readonly object $url;
|
|
|
|
|
|
/**
|
|
* @param int $number The O-based line number in the source file
|
|
*/
|
|
public function __construct(
|
|
public readonly string $text,
|
|
public readonly int $number,
|
|
object $url,
|
|
) {
|
|
$this->url = $url;
|
|
}
|
|
}
|