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
21 lines
477 B
PHP
21 lines
477 B
PHP
<?php
|
|
|
|
namespace SourceSpan;
|
|
|
|
interface FileSpan extends SourceSpanWithContext
|
|
{
|
|
public function getFile(): SourceFile;
|
|
|
|
public function getStart(): FileLocation;
|
|
|
|
public function getEnd(): FileLocation;
|
|
|
|
public function expand(FileSpan $other): FileSpan;
|
|
|
|
/**
|
|
* Return a span from $start bytes (inclusive) to $end bytes
|
|
* (exclusive) after the beginning of this span
|
|
*/
|
|
public function subspan(int $start, ?int $end = null): FileSpan;
|
|
}
|