Что это такое?
Shiki — это подсветка синтаксиса для фрагментов кода, построенная на грамматике TextMate, поэтому разбиение на токены точное, а результат выглядит аккуратно.
Это библиотека, которую я добавляю в свой проект, или отдельное приложение?
Это библиотека на JavaScript/TypeScript (опубликована как пакет 'shiki'), которую вы импортируете, чтобы подсвечивать код программно, а не самостоятельное приложение.
Как начать использовать её для подсветки кода?
Этот фрагмент README не показывает команды установки, но как npm-пакет 'shiki' его можно добавить через менеджер пакетов и вызывать его API подсветки из JS/TS, чтобы выводить подсвеченный код.
Зачем есть отдельные ветки v0-v4?
Shiki хранит старые основные релизы (v0 — устаревшая, v1, v2, v3) в отдельных ветках, а активная разработка идёт в основной ветке v4.x, чтобы пользователи старого API могли найти подходящую документацию и исправления.
Что на самом деле означает «основано на грамматике TextMate»?
Shiki разбивает исходный код на токены по тем же грамматикам TextMate, на которых работает подсветка в VS Code, поэтому цвета и границы токенов близко совпадают с тем, что вы видите в этом редакторе, а не с результатом более простого подсветчика на регулярных выражениях.
Можно ли использовать Shiki в коммерческих целях бесплатно?
Да, лицензия MIT, поэтому его можно использовать в коммерческих и открытых проектах с минимальными ограничениями.
What are similar projects?
prism, MDsveX, woocommerce, microlighter, lollipop-css, editor.md, tui.editor, pug
Which topics is it in?
syntax-highlighting, npm-package, monorepo, ci, javascript-library, testing, browser, documentation, markdown, frontend, tool, nodejs