/
githubmirror
/
marktext
Обзор
Документация
Войти
/
githubmirror
/
marktext
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/muya/src/inlineRenderer/renderer/backlashInToken.ts
38 строк
1 KB
Ran Luo
feat(muya): migrate TS rewrite to packages/muya alongside legacy muyajs (#4314)
29 май 2026, 15:35
Не верифицирован
29 май 2026, 15:35
0d86641
Код
Авторство
О чём код?
import type { H, Token } from '../types'; import type Renderer from './index'; import { CLASS_NAMES } from '../../config'; import { isEven, union } from '../../utils'; export default function backlashInToken( this: Renderer, h: H, backlashes: string, outerClass: string, start: number, token: Token, ) { const { highlights = [] } = token; const chunks = backlashes.split(''); const len = chunks.length; const result = []; let i: number; for (i = 0; i < len; i++) { const chunk = chunks[i]; const light = highlights.filter(light => union({ start: start + i, end: start + i + 1 }, light), ); let selector = 'span'; if (light.length) { const className = this.getHighlightClassName(!!light[0].active); selector += `.${className}`; } if (isEven(i)) result.push(h(`${selector}.${outerClass}`, chunk)); else result.push(h(`${selector}.${CLASS_NAMES.MU_BACKLASH}`, chunk)); } return result; }