3 var trim = require('trim');
4 var whitespace = require('is-whitespace-character');
5 var locate = require('../locate/strong');
7 module.exports = strong;
8 strong.locator = locate;
11 var C_UNDERSCORE = '_';
13 function strong(eat, value, silent) {
16 var character = value.charAt(index);
26 (character !== C_ASTERISK && character !== C_UNDERSCORE) ||
27 value.charAt(++index) !== character
32 pedantic = self.options.pedantic;
34 subvalue = marker + marker;
35 length = value.length;
40 if (pedantic && whitespace(value.charAt(index))) {
44 while (index < length) {
46 character = value.charAt(index);
49 character === marker &&
50 value.charAt(index + 1) === marker &&
51 (!pedantic || !whitespace(prev))
53 character = value.charAt(index + 2);
55 if (character !== marker) {
60 /* istanbul ignore if - never used (yet) */
69 return eat(subvalue + queue + subvalue)({
71 children: self.tokenizeInline(queue, now)
76 if (!pedantic && character === '\\') {
78 character = value.charAt(++index);