Skip to content

Commit f67c11f

Browse files
committed
fix(lang-treesitter): new AST is unexpectedly edited by main thread sometimes
1 parent 3783c7b commit f67c11f

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Diff for: language-treesitter/src/main/java/io/github/rosemoe/sora/editor/ts/TsAnalyzeManager.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ open class TsAnalyzeManager(val languageSpec: TsLanguageSpec, var theme: TsTheme
178178
if (thread == this && messageQueue.isEmpty()) {
179179
val oldTree = (styles.spans as LineSpansGenerator?)?.safeTree
180180
val newTree = SafeTsTree(tree!!.copy())
181-
styles.spans = LineSpansGenerator(
181+
val newSpans = LineSpansGenerator(
182182
newTree,
183183
reference!!.lineCount,
184184
reference!!.reference,
@@ -190,6 +190,7 @@ open class TsAnalyzeManager(val languageSpec: TsLanguageSpec, var theme: TsTheme
190190
val oldBlocks = styles.blocks
191191
updateCodeBlocks()
192192
currentReceiver?.setStyles(this@TsAnalyzeManager, styles) {
193+
styles.spans = newSpans
193194
oldTree?.close()
194195
if (oldBlocks != null) {
195196
ObjectAllocator.recycleBlockLines(oldBlocks)

0 commit comments

Comments
 (0)