UNPKG

prism-code-editor

Version:

Lightweight, extensible code editor component for the web using Prism

58 lines (57 loc) 2.15 kB
/** * @typedef TokenStreamItem * @property {string} type * @property {string | Array<string|TokenStreamItem>} content * * @typedef {Array<string|TokenStreamItem>} TokenStream * * @typedef {string | [string, string | SimplifiedTokenStream]} SimplifiedToken * @typedef {Array<string | [string, string | Array]>} SimplifiedTokenStream * * @typedef {Array<PrettyTokenStreamItem>} PrettyTokenStream * @typedef {string | LineBreakItem | GlueItem | [string, string | Array]} PrettyTokenStreamItem */ /** * Simplifies the token stream to ease the matching with the expected token stream. * * * Strings are kept as-is * * In arrays each value is transformed individually * * Values that are empty (empty arrays or strings only containing whitespace) * @param {TokenStream} tokenStream * @returns {SimplifiedTokenStream} */ export function simplify(tokenStream: TokenStream): SimplifiedTokenStream; /** * @param {TokenStream} tokenStream * @param {string} [indentation] * @returns {string} */ export function prettyprint(tokenStream: TokenStream, indentation?: string): string; export type TokenStreamItem = { type: string; content: string | Array<string | TokenStreamItem>; }; export type TokenStream = Array<string | TokenStreamItem>; export type SimplifiedToken = string | [string, string | SimplifiedTokenStream]; export type SimplifiedTokenStream = Array<string | [string, string | any[]]>; export type PrettyTokenStream = Array<PrettyTokenStreamItem>; export type PrettyTokenStreamItem = string | LineBreakItem | GlueItem | [string, string | any[]]; /** * This item indicates that one or multiple line breaks are present between the preceding and following items in the * source token stream. * * Only if an item is enabled will it appear in the pretty-printed token stream. */ declare class LineBreakItem { /** @param {number} sourceCount */ constructor(sourceCount: number); sourceCount: number; enabled: boolean; } /** * This item indicates the the preceding and following items are to be printed on the same line in the pretty-printed * token stream. */ declare class GlueItem { } export {};