|
1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- const { calculateTokenCharactersRange } = require('../helpers')
-
- const { TOKEN_ATTRIBUTE_KEY } = require('../constants/token-types')
- const { ATTRIBUTES_CONTEXT } = require('../constants/tokenizer-contexts')
-
- function keyEnd (state, tokens) {
- const range = calculateTokenCharactersRange(state, { keepBuffer: false })
-
- tokens.push({
- type: TOKEN_ATTRIBUTE_KEY,
- content: state.accumulatedContent,
- startPosition: range.startPosition,
- endPosition: range.endPosition
- })
-
- state.accumulatedContent = ''
- state.decisionBuffer = ''
- state.currentContext = ATTRIBUTES_CONTEXT
- }
-
- function isKeyBreak (chars) {
- return (
- chars === '='
- || chars === ' '
- || chars === '\n'
- || chars === '\t'
- || chars === '/'
- || chars === '>'
- )
- }
-
- function parseSyntax (chars, state, tokens) {
- if (isKeyBreak(chars)) {
- return keyEnd(state, tokens)
- }
-
- state.accumulatedContent += state.decisionBuffer
- state.decisionBuffer = ''
- state.caretPosition++
- }
-
- module.exports = {
- parseSyntax
- }
|