23 lines
576 B
JavaScript
23 lines
576 B
JavaScript
/**
|
||
* @typedef {import('mdast').Code} Code
|
||
* @typedef {import('../types.js').State} State
|
||
*/
|
||
|
||
/**
|
||
* @param {Code} node
|
||
* @param {State} state
|
||
* @returns {boolean}
|
||
*/
|
||
export function formatCodeAsIndented(node, state) {
|
||
return Boolean(
|
||
state.options.fences === false &&
|
||
node.value &&
|
||
// If there’s no info…
|
||
!node.lang &&
|
||
// And there’s a non-whitespace character…
|
||
/[^ \r\n]/.test(node.value) &&
|
||
// And the value doesn’t start or end in a blank…
|
||
!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(node.value)
|
||
)
|
||
}
|