diff --git a/__tests__/unit/node/markdown/plugins/snippet.test.ts b/__tests__/unit/node/markdown/plugins/snippet.test.ts
index 15f72fc50..4d118f628 100644
--- a/__tests__/unit/node/markdown/plugins/snippet.test.ts
+++ b/__tests__/unit/node/markdown/plugins/snippet.test.ts
@@ -1,8 +1,7 @@
import {
dedent,
findRegions,
- rawPathToToken,
- stripMarkers
+ rawPathToToken
} from 'node/markdown/plugins/snippet'
import { expect } from 'vitest'
@@ -428,64 +427,4 @@ describe('node/markdown/plugins/snippet', () => {
}
})
})
-
- describe('stripRegionMarkers', () => {
- it('removes #region and #endregion lines', () => {
- const src = [
- '// #region A',
- '// #region B',
- 'console.log("Hello, World!");',
- '// #endregion B',
- '// #endregion A'
- ]
- expect(stripMarkers(src, true)).toBe('console.log("Hello, World!");')
- })
-
- it('does not remove any marker if stripRegionMarkers is false', () => {
- const src = [
- '// #region A',
- '// #region B',
- 'console.log("Hello, World!");',
- '// #endregion B',
- '// #endregion A'
- ]
- expect(stripMarkers(src, false)).toBe(src.join('\n'))
- })
-
- it('removes region markers for various syntaxes', () => {
- const src = [
- '',
- '
hi
',
- '',
- '/* #region css */',
- 'body {}',
- '/* #endregion css */',
- '#pragma region cpp',
- 'int main(){}',
- '#pragma endregion cpp',
- '::#region bat',
- 'ECHO ON',
- 'REM #endregion bat'
- ]
- const out = stripMarkers(src, true)
- expect(out).not.toContain('#region')
- expect(out).not.toContain('#endregion')
- expect(out).toContain('hi
')
- expect(out).toContain('body {}')
- expect(out).toContain('int main(){}')
- expect(out).toContain('ECHO ON')
- })
-
- it('removes markers even if indented or with extra spaces', () => {
- const src = [
- ' // #region spaced ',
- '\t/* #region */',
- 'code();',
- ' // #endregion spaced',
- '/* #endregion */'
- ]
- const out = stripMarkers(src, true)
- expect(out.trim()).toBe('code();')
- })
- })
})
diff --git a/src/node/markdown/plugins/snippet.ts b/src/node/markdown/plugins/snippet.ts
index 87ba8da14..a8f3be5f8 100644
--- a/src/node/markdown/plugins/snippet.ts
+++ b/src/node/markdown/plugins/snippet.ts
@@ -126,23 +126,23 @@ export function findRegions(lines: string[], regionName: string) {
return returned
}
-export function stripMarkers(lines: string[], stripMarkers: boolean): string {
- if (!stripMarkers) return lines.join('\n')
- return lines
- .filter((l) => {
- for (const m of markers) {
- if (m.start.test(l) || m.end.test(l)) return false
- }
- return true
- })
- .join('\n')
-}
-
export const snippetPlugin = (
md: MarkdownItAsync,
srcDir: string,
stripMarkersFromSnippets = false
) => {
+ function stripMarkers(lines: string[]): string {
+ if (!stripMarkersFromSnippets) return lines.join('\n')
+ return lines
+ .filter((l) => {
+ for (const m of markers) {
+ if (m.start.test(l) || m.end.test(l)) return false
+ }
+ return true
+ })
+ .join('\n')
+ }
+
const parser: RuleBlock = (state, startLine, endLine, silent) => {
const CH = '<'.charCodeAt(0)
const pos = state.bMarks[startLine] + state.tShift[startLine]
@@ -231,8 +231,7 @@ export const snippetPlugin = (
lines
.slice(r.start, r.end)
.filter((l) => !(r.re.start.test(l) || r.re.end.test(l)))
- ),
- stripMarkersFromSnippets
+ )
)
)
} else {
@@ -241,7 +240,7 @@ export const snippetPlugin = (
return fence(...args)
}
} else {
- content = stripMarkers(content.split('\n'), stripMarkersFromSnippets)
+ content = stripMarkers(content.split('\n'))
}
token.content = content