1- import {
2- ClassList ,
3- PropsOf ,
4- component$ ,
5- useSignal ,
6- useVisibleTask$ ,
7- } from '@builder.io/qwik' ;
1+ import { ClassList , PropsOf , component$ , useSignal , useTask$ } from '@builder.io/qwik' ;
82import { CodeCopy } from '../code-copy/code-copy' ;
9- import { codeToHtml } from 'shikiji ' ;
3+ import { codeToHtml } from 'shiki ' ;
104import { cn } from '@qwik-ui/utils' ;
115
126export type HighlightProps = PropsOf < 'div' > & {
@@ -29,31 +23,28 @@ export const Highlight = component$(
2923 const codeSig = useSignal ( '' ) ;
3024
3125 // eslint-disable-next-line qwik/no-use-visible-task
32- useVisibleTask$ (
33- async function createHighlightedCode ( ) {
34- let modifiedCode : string = code ;
26+ useTask$ ( async function createHighlightedCode ( ) {
27+ let modifiedCode : string = code ;
3528
36- let partsOfCode = modifiedCode . split ( splitCommentStart ) ;
37- if ( partsOfCode . length > 1 ) {
38- modifiedCode = partsOfCode [ 1 ] ;
39- }
29+ let partsOfCode = modifiedCode . split ( splitCommentStart ) ;
30+ if ( partsOfCode . length > 1 ) {
31+ modifiedCode = partsOfCode [ 1 ] ;
32+ }
4033
41- partsOfCode = modifiedCode . split ( splitCommentEnd ) ;
42- if ( partsOfCode . length > 1 ) {
43- modifiedCode = partsOfCode [ 0 ] ;
44- }
34+ partsOfCode = modifiedCode . split ( splitCommentEnd ) ;
35+ if ( partsOfCode . length > 1 ) {
36+ modifiedCode = partsOfCode [ 0 ] ;
37+ }
4538
46- const str = await codeToHtml ( modifiedCode , {
47- lang : language ,
48- themes : {
49- light : 'poimandres' ,
50- dark : 'poimandres' ,
51- } ,
52- } ) ;
53- codeSig . value = str . toString ( ) ;
54- } ,
55- { strategy : 'document-idle' } ,
56- ) ;
39+ const str = await codeToHtml ( modifiedCode , {
40+ lang : language ,
41+ themes : {
42+ light : 'poimandres' ,
43+ dark : 'poimandres' ,
44+ } ,
45+ } ) ;
46+ codeSig . value = str . toString ( ) ;
47+ } ) ;
5748
5849 return (
5950 < div class = "code-example relative max-h-[31.25rem] rounded-b-sm" >
0 commit comments