Syntax highlighting

This commit is contained in:
nub31
2025-07-23 01:42:52 +02:00
parent f0ab3a5af3
commit 2d6cf0ba7f
3 changed files with 148 additions and 27 deletions

View File

@@ -2,17 +2,17 @@
namespace NubLang.Tokenization;
public abstract class Token(SourceFileSpan? fileSpan)
public abstract class Token(SourceFileSpan fileSpan)
{
public SourceFileSpan? FileSpan { get; } = fileSpan;
public SourceFileSpan FileSpan { get; } = fileSpan;
}
public class IdentifierToken(SourceFileSpan? fileSpan, string value) : Token(fileSpan)
public class IdentifierToken(SourceFileSpan fileSpan, string value) : Token(fileSpan)
{
public string Value { get; } = value;
}
public class LiteralToken(SourceFileSpan? fileSpan, LiteralKind kind, string value) : Token(fileSpan)
public class LiteralToken(SourceFileSpan fileSpan, LiteralKind kind, string value) : Token(fileSpan)
{
public LiteralKind Kind { get; } = kind;
public string Value { get; } = value;
@@ -26,7 +26,7 @@ public enum LiteralKind
Bool
}
public class SymbolToken(SourceFileSpan? fileSpan, Symbol symbol) : Token(fileSpan)
public class SymbolToken(SourceFileSpan fileSpan, Symbol symbol) : Token(fileSpan)
{
public Symbol Symbol { get; } = symbol;
}