UNPKG

logsdx

Version:

<div align="center"><img alt="logsdx" width="300" src="https://github.com/user-attachments/assets/cc2a3b55-5bfd-44e8-a330-bfa146b50059" /></div>

77 lines (76 loc) 3.12 kB
import type { Token, TokenList } from "../schema/types"; import type { Theme } from "../types"; import type { MatcherType } from "./types"; export declare class TokenContext { text: string; type: string; value?: unknown; ignored?: boolean; constructor(text: string, type: string); accept(type: string, value?: unknown): void; ignore(): void; } export declare class SimpleLexer { private rules; private inputContent; private position; rule(pattern: RegExp, action: (ctx: TokenContext) => void): void; input(text: string): void; token(): { type: string; text: string; value?: unknown; } | null; private findMatchingToken; private consumeUnmatchedText; tokenize(input: string): ReadonlyArray<{ type: string; text: string; value?: unknown; }>; } export declare function addWhitespaceRules(lexer: SimpleLexer): void; export declare function addDefaultLogRules(lexer: SimpleLexer): void; export declare function addTrimWhitespaceRules(lexer: SimpleLexer): void; export declare function addTrimNewlineRules(lexer: SimpleLexer): void; export declare function addWordMatchRules(lexer: SimpleLexer, matchWords: Record<string, unknown>): void; export declare function addPatternMatchRules(lexer: SimpleLexer, matchPatterns: ReadonlyArray<{ pattern: string | RegExp; name?: string; identifier?: string; options?: unknown; }>): void; export declare function addThemeRules(lexer: SimpleLexer, theme: Theme): void; export declare function createLexer(theme?: Theme): SimpleLexer; export declare function createDefaultToken(line: string): Token; export declare function shouldUseDefaultToken(theme?: Theme): boolean; export declare function createTokenMetadata(matchType: MatcherType, tokenType: string, tokenValue: unknown): Token["metadata"]; export declare function convertLexerToken(lexerToken: { type: string; text: string; value?: unknown; }): Token; export declare function convertLexerTokens(lexerTokens: ReadonlyArray<{ type: string; text: string; value?: unknown; }>): TokenList; export declare function tokenize(line: string, theme?: Theme): TokenList; export declare function findPatternByName(matchPatterns: unknown, name: unknown): { options?: unknown; } | undefined; export declare function findPatternByIndex(matchPatterns: unknown, index: number): { options?: unknown; } | undefined; export declare function applyWordStyle(token: Token, theme: Theme): Token | undefined; export declare function applyPatternStyleByName(token: Token, theme: Theme): Token | undefined; export declare function applyPatternStyleByIndex(token: Token, theme: Theme): Token | undefined; export declare function applyDefaultStyle(token: Token, theme: Theme): Token; export declare function applyTokenStyle(token: Token, theme: Theme): Token; export declare function applyTheme(tokens: TokenList, theme: Theme): TokenList; declare const _default: { tokenize: typeof tokenize; applyTheme: typeof applyTheme; createLexer: typeof createLexer; }; export default _default;