import {Command, ParseContext, StrTerm} from "./command.js"; import {LexInput} from "../lexer.js"; export type IndentData = { type: 'space'|'tab', level?: StrTerm, } export class Indent extends Command { attemptParse(context: ParseContext): IndentData { return { type: context.popKeywordInSet(['space', 'tab']).value, level: context.popOptionalTerm(), } } isParseCandidate(token: LexInput): boolean { return this.isKeyword(token, 'indent') } getDisplayName(): string { return 'indent' } }