Skip to content

Commit b905533

Browse files
committed
Add missing useCallbacks
1 parent 8f00d1b commit b905533

File tree

2 files changed

+36
-35
lines changed

2 files changed

+36
-35
lines changed

src/extensions/folding/index.ts

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ const useReadOnlyCodeFolding = (editor: PrismEditor, ...providers: FoldingRangeP
174174
foldPositions = []
175175
foldedRanges.clear()
176176
foldedLines.clear()
177+
lines = editor.lines!
177178
value = code = editor.value
178179
lineNumberWidth = Math.ceil(Math.log10(numLines(code))) + ".001ch"
179180
const folds: [number, number][] = []
@@ -212,36 +213,38 @@ const useReadOnlyCodeFolding = (editor: PrismEditor, ...providers: FoldingRangeP
212213

213214
providerRef.current = providers
214215

215-
useLayoutEffect(() => {
216-
editor.extensions.folding = {
217-
get fullCode() {
218-
return code
219-
},
220-
toggleFold: (lineNumber, force) =>
221-
!!foldPositions[lineNumber] &&
222-
foldedLines.has(lineNumber) != force &&
223-
!toggleFold(lineNumber)!,
224-
updateFolds: () => update(),
225-
}
216+
useLayoutEffect(
217+
useCallback(() => {
218+
editor.extensions.folding = {
219+
get fullCode() {
220+
return code
221+
},
222+
toggleFold: (lineNumber, force) =>
223+
!!foldPositions[lineNumber] &&
224+
foldedLines.has(lineNumber) != force &&
225+
!toggleFold(lineNumber)!,
226+
updateFolds: () => update(),
227+
}
226228

227-
lines = editor.lines!
228-
if (editor.value) createFolds()
229+
if (editor.value) createFolds()
229230

230-
return () => {
231-
delete editor.extensions.folding
232-
if (foldToggles) {
233-
foldToggles.forEach((el, i) => {
234-
el.remove()
235-
foldPlaceholders[i]?.remove()
236-
})
237-
}
238-
if (foldedRanges.size) {
239-
foldedRanges.clear()
240-
foldPositions = []
241-
update()
231+
return () => {
232+
delete editor.extensions.folding
233+
if (foldToggles) {
234+
foldToggles.forEach((el, i) => {
235+
el.remove()
236+
foldPlaceholders[i]?.remove()
237+
})
238+
}
239+
if (foldedRanges.size) {
240+
foldedRanges.clear()
241+
foldPositions = []
242+
update()
243+
}
242244
}
243-
}
244-
}, [])
245+
}, []),
246+
[],
247+
)
245248

246249
useLayoutEffect(
247250
useCallback(() => {

src/extensions/search/replace.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useLayoutEffect, useMemo } from "react"
1+
import { useCallback, useLayoutEffect, useMemo } from "react"
22
import { addTextareaListener } from "../../core"
33
import { PrismEditor } from "../../types"
44
import { SearchAPI, useEditorSearch } from "./search"
@@ -61,25 +61,23 @@ export const useEditorReplace = (
6161
currentMatch?.classList.toggle("match")
6262
}
6363

64-
const removeSelection = () => {
64+
const removeSelection = useCallback(() => {
6565
if (hasSelected) {
6666
toggleClasses()
6767
hasSelected = false
6868
}
69-
}
69+
}, [])
7070

7171
let currentLine: HTMLDivElement
7272
let currentMatch: HTMLSpanElement
7373
let hasSelected = false
7474

7575
useLayoutEffect(() => {
76-
let removeListener = addTextareaListener(editor, "focus", removeSelection)
77-
return () => {
78-
removeListener()
79-
removeSelection()
80-
}
76+
return addTextareaListener(editor, "focus", removeSelection)
8177
}, [])
8278

79+
useLayoutEffect(() => removeSelection, [])
80+
8381
return useMemo<ReplaceAPI>(
8482
() =>
8583
Object.assign(search, {

0 commit comments

Comments
 (0)