11import { EnvConfig , Language , PrismGrammar , PrismLib } from "../types"
22import normalizeTokens from "../utils/normalizeTokens"
3- import { useMemo , useRef } from "react"
3+ import { useMemo } from "react"
44
55type Options = {
66 prism : PrismLib
@@ -10,7 +10,6 @@ type Options = {
1010}
1111
1212export const useTokenize = ( { prism, code, grammar, language } : Options ) => {
13- const prismRef = useRef ( prism )
1413 return useMemo ( ( ) => {
1514 if ( grammar == null ) return normalizeTokens ( [ code ] )
1615
@@ -21,9 +20,15 @@ export const useTokenize = ({ prism, code, grammar, language }: Options) => {
2120 tokens : [ ] ,
2221 }
2322
24- prismRef . current . hooks . run ( "before-tokenize" , prismConfig )
25- prismConfig . tokens = prismRef . current . tokenize ( code , grammar )
26- prismRef . current . hooks . run ( "after-tokenize" , prismConfig )
23+ prism . hooks . run ( "before-tokenize" , prismConfig )
24+ prismConfig . tokens = prism . tokenize ( code , grammar )
25+ prism . hooks . run ( "after-tokenize" , prismConfig )
2726 return normalizeTokens ( prismConfig . tokens )
28- } , [ code , grammar , language ] )
27+ } , [
28+ code ,
29+ grammar ,
30+ language ,
31+ // prism is a stable import
32+ prism ,
33+ ] )
2934}
0 commit comments