Variables
Const bool
bool: RegExp = /true|false/
Const boolLine
boolLine: RegExp = new RegExp(`^${bool.source}$`, 'i')
Const doubleQuoted
doubleQuoted: RegExp = /"[^"]*"/
Const identifier
identifier: RegExp = /[\w-]+[?]?/
Const literal
literal: RegExp = new RegExp(`(?:${quoted.source}|${bool.source}|${number.source})`)
Const number
number: RegExp = /[+-]?(?:\d+\.?\d*|\.?\d+)/
Const numberLine
numberLine: RegExp = new RegExp(`^${number.source}$`)
Const quoteBalanced
quoteBalanced: RegExp = new RegExp(`(?:${quoted.source}|[^'"])*`)
Const quoted
quoted: RegExp = new RegExp(`${singleQuoted.source}|${doubleQuoted.source}`)
Const quotedLine
quotedLine: RegExp = new RegExp(`^${quoted.source}$`)
Const range
range: RegExp = new RegExp(`\\(${rangeLimit.source}\\.\\.${rangeLimit.source}\\)`)
Const rangeCapture
rangeCapture: RegExp = new RegExp(`\\((${rangeLimit.source})\\.\\.(${rangeLimit.source})\\)`)
Const rangeLimit
rangeLimit: RegExp = new RegExp(`(?:${variable.source}|${number.source})`)
Const rangeLine
rangeLine: RegExp = new RegExp(`^${rangeCapture.source}$`)
Const singleQuoted
singleQuoted: RegExp = /'[^']*'/
Const subscript
subscript: RegExp = new RegExp(`\\[(?:${quoted.source}|[\\w-\\.]+)\\]`)
Const tagLine
tagLine: RegExp = new RegExp(`^\\s*(${identifier.source})\\s*([\\s\\S]*?)\\s*$`)
Const value
value: RegExp = new RegExp(`(?:${variable.source}|${literal.source}|${range.source})`)
Const variable
variable: RegExp = new RegExp(`${identifier.source}(?:\\.${identifier.source}|${subscript.source})*`)