export default function extendFenceLineNumbers(md: any, alt?: string): void { const fence = md.renderer.rules.fence md.renderer.rules.fence = (...args: any[]) => { const rawCode = fence(...args) const code = rawCode.slice(rawCode.indexOf('') + 6, rawCode.indexOf('')) const lines = code.trim().split('\n') const lineNumbersCode = [...Array(lines.length)] .map( (line, index) => `
${alt === void 0 ? index + 1 : alt}
`, ) .join('') const lineNumbersWrapperCode = `
${lineNumbersCode}
${rawCode}
` const finalCode = `
${lines.length < 3 ? rawCode : lineNumbersWrapperCode}
` return finalCode } }