Skip to content

Commit d8f8967

Browse files
authored
feat(transformers): support meta.indent for indent guides (#1087)
1 parent b536e4d commit d8f8967

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

packages/transformers/src/transformers/render-indent-guides.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import type { ShikiTransformer } from '@shikijs/types'
22
import type { Element } from 'hast'
33

44
export interface TransformerRenderIndentGuidesOptions {
5-
indent?: number
5+
indent?: number | false
66
}
77

88
/**
@@ -15,14 +15,15 @@ export function transformerRenderIndentGuides(
1515
return {
1616
name: '@shikijs/transformers:render-indent-guides',
1717
code(hast) {
18-
let { indent = 2 } = options
18+
const indent = Number(
19+
this.options.meta?.indent
20+
?? this.options.meta?.__raw?.match(/\{indent:(\d+|false)\}/)?.[1]
21+
?? options.indent
22+
?? 2,
23+
)
1924

20-
const match = this.options.meta?.__raw?.match(/\{indent:(\d+|false)\}/)
21-
if (match) {
22-
if (match[1] === 'false') {
23-
return hast
24-
}
25-
indent = Number(match[1])
25+
if (Number.isNaN(indent) || indent <= 0) {
26+
return hast
2627
}
2728
const indentRegex = new RegExp(` {${indent}}| {0,${indent - 1}}\t| {1,}$`, 'g')
2829

0 commit comments

Comments
 (0)