Code Block ​
Stable
A component for displaying syntax-highlighted code with optional line numbers and copy functionality
Loading languages ​
Languages must be loaded before use. Load them once during app initialization:
ts
import { getHighlighter } from '@holistics/design-system'
async function initShikiLanguages() {
const highlighter = await getHighlighter()
await highlighter.loadLanguage(
import('@shikijs/langs/javascript'),
import('@shikijs/langs/sql'),
import('@shikijs/langs/typescript'),
// Add more languages as needed
)
}
// Await during app setup to ensure languages are loaded before rendering
await initShikiLanguages()See shiki languages for the full list of supported languages.
Examples ​
With line numbers ​
Overflow behavior ​
Control how long lines are handled: wrap (default) breaks lines, scroll enables horizontal scrolling.