1
1
import { EnvConfig , Language , PrismGrammar , PrismLib } from "../types"
2
2
import normalizeTokens from "../utils/normalizeTokens"
3
- import { useMemo , useRef } from "react"
3
+ import { useMemo } from "react"
4
4
5
5
type Options = {
6
6
prism : PrismLib
@@ -10,7 +10,6 @@ type Options = {
10
10
}
11
11
12
12
export const useTokenize = ( { prism, code, grammar, language } : Options ) => {
13
- const prismRef = useRef ( prism )
14
13
return useMemo ( ( ) => {
15
14
if ( grammar == null ) return normalizeTokens ( [ code ] )
16
15
@@ -21,9 +20,15 @@ export const useTokenize = ({ prism, code, grammar, language }: Options) => {
21
20
tokens : [ ] ,
22
21
}
23
22
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 )
27
26
return normalizeTokens ( prismConfig . tokens )
28
- } , [ code , grammar , language ] )
27
+ } , [
28
+ code ,
29
+ grammar ,
30
+ language ,
31
+ // prism is a stable import
32
+ prism ,
33
+ ] )
29
34
}
0 commit comments