'use strict' var alphabetical = require('is-alphabetical') var locate = require('../locate/tag') var tag = require('../util/html').tag module.exports = inlineHTML inlineHTML.locator = locate var lessThan = '<' var questionMark = '?' var exclamationMark = '!' var slash = '/' var htmlLinkOpenExpression = /^/i function inlineHTML(eat, value, silent) { var self = this var length = value.length var character var subvalue if (value.charAt(0) !== lessThan || length < 3) { return } character = value.charAt(1) if ( !alphabetical(character) && character !== questionMark && character !== exclamationMark && character !== slash ) { return } subvalue = value.match(tag) if (!subvalue) { return } /* istanbul ignore if - not used yet. */ if (silent) { return true } subvalue = subvalue[0] if (!self.inLink && htmlLinkOpenExpression.test(subvalue)) { self.inLink = true } else if (self.inLink && htmlLinkCloseExpression.test(subvalue)) { self.inLink = false } return eat(subvalue)({type: 'html', value: subvalue}) }