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)
|
|||
|
)
|
|||
|
}
|