WIP - add extractor, generate snippet_data
This commit is contained in:
85
node_modules/remark-parse/lib/tokenize/strong.js
generated
vendored
Normal file
85
node_modules/remark-parse/lib/tokenize/strong.js
generated
vendored
Normal file
@ -0,0 +1,85 @@
|
||||
'use strict'
|
||||
|
||||
var trim = require('trim')
|
||||
var whitespace = require('is-whitespace-character')
|
||||
var locate = require('../locate/strong')
|
||||
|
||||
module.exports = strong
|
||||
strong.locator = locate
|
||||
|
||||
var backslash = '\\'
|
||||
var asterisk = '*'
|
||||
var underscore = '_'
|
||||
|
||||
function strong(eat, value, silent) {
|
||||
var self = this
|
||||
var index = 0
|
||||
var character = value.charAt(index)
|
||||
var now
|
||||
var pedantic
|
||||
var marker
|
||||
var queue
|
||||
var subvalue
|
||||
var length
|
||||
var prev
|
||||
|
||||
if (
|
||||
(character !== asterisk && character !== underscore) ||
|
||||
value.charAt(++index) !== character
|
||||
) {
|
||||
return
|
||||
}
|
||||
|
||||
pedantic = self.options.pedantic
|
||||
marker = character
|
||||
subvalue = marker + marker
|
||||
length = value.length
|
||||
index++
|
||||
queue = ''
|
||||
character = ''
|
||||
|
||||
if (pedantic && whitespace(value.charAt(index))) {
|
||||
return
|
||||
}
|
||||
|
||||
while (index < length) {
|
||||
prev = character
|
||||
character = value.charAt(index)
|
||||
|
||||
if (
|
||||
character === marker &&
|
||||
value.charAt(index + 1) === marker &&
|
||||
(!pedantic || !whitespace(prev))
|
||||
) {
|
||||
character = value.charAt(index + 2)
|
||||
|
||||
if (character !== marker) {
|
||||
if (!trim(queue)) {
|
||||
return
|
||||
}
|
||||
|
||||
/* istanbul ignore if - never used (yet) */
|
||||
if (silent) {
|
||||
return true
|
||||
}
|
||||
|
||||
now = eat.now()
|
||||
now.column += 2
|
||||
now.offset += 2
|
||||
|
||||
return eat(subvalue + queue + subvalue)({
|
||||
type: 'strong',
|
||||
children: self.tokenizeInline(queue, now)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if (!pedantic && character === backslash) {
|
||||
queue += character
|
||||
character = value.charAt(++index)
|
||||
}
|
||||
|
||||
queue += character
|
||||
index++
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user