UNPKG

@vectara/vectara-ui

Version:

Vectara's design system, codified as a React and Sass component library

24 lines (23 loc) 1.01 kB
/** * This exposes a utility that wraps an ANTLR-generated lexer in a TokensProvider class and returns that class. * The underlying logic is mostly lifted from https://tomassetti.me/writing-a-browser-based-editor-using-monaco-and-antlr. */ import * as monaco from "monaco-editor/esm/vs/editor/editor.api"; import ILineTokens = monaco.languages.ILineTokens; import { Token } from "antlr4ng"; type SyntaxChecker = { Parser: any; onError: (offendingSymbol: Token | null, line: number, column: number, msg: string) => void; }; /** * Generates a TokensProvider for use with the CodeEditor component. * Provide the optional syntaxChecker config to enable client-side syntax checking. */ export declare const generateTokensProvider: (Lexer: any, syntaxChecker?: SyntaxChecker) => { new (): { getInitialState(): monaco.languages.IState; tokenize(line: string): monaco.languages.ILineTokens; tokensForLine(input: string): monaco.languages.ILineTokens; }; }; export {};