import { CaretLeafParselet, CaretParser, CharToken, TokensTag, } from "@caret-js/core"; import { VariableNode } from "../nodes/variable"; export class VariableParselet extends CaretLeafParselet { parse(parser: CaretParser): VariableNode { const token = parser.consume(); this.assert( token instanceof CharToken && ((token.char >= "a" && token.char <= "z") || (token.char >= "A" && token.char <= "Z")), "Expected CharToken for variable" ); return VariableNode.from(token.char).addTag(new TokensTag([token])); } }