Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed https://markdown-it.github.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

44 lines
927 B

// Code block (4 spaces padded)
'use strict';
var isEmpty = require('../helpers').isEmpty;
var getLines = require('../helpers').getLines;
module.exports = function code(state, startLine, endLine, silent) {
var nextLine, last;
if (state.tShift[startLine] - state.blkIndent < 4) { return false; }
last = nextLine = startLine + 1;
while (nextLine < endLine) {
if (state.bqMarks[nextLine] < state.bqLevel) { break; }
if (isEmpty(state, nextLine)) {
nextLine++;
if (state.options.pedantic) {
last = nextLine;
}
continue;
}
if (state.tShift[nextLine] - state.blkIndent >= 4) {
nextLine++;
last = nextLine;
continue;
}
break;
}
if (silent) { return true; }
state.tokens.push({
type: 'code',
content: getLines(state, startLine, last, 4 + state.blkIndent, true),
block: true
});
state.line = nextLine;
return true;
};