fix: Semantic highlighting broken on editor split

This commit is contained in:
FalsePattern 2024-03-12 22:53:42 +01:00
parent 0e1314a2bd
commit 03dfb20c9c
Signed by: falsepattern
GPG key ID: E930CDEC50C50E23
3 changed files with 11 additions and 0 deletions

View file

@ -395,6 +395,7 @@ public class LanguageServerWrapper {
uriToEditorManagers.put(uri, set);
manager.documentOpened();
}
manager.initComplete();
LOG.info("Created a manager for " + uri);
synchronized (toConnect) {
toConnect.remove(editor);

View file

@ -1463,6 +1463,9 @@ public class EditorEventManager {
});
}
public void initComplete() {
}
private static class LSPTextEdit implements Comparable<LSPTextEdit> {
private String text;
private int startOffset;

View file

@ -16,6 +16,7 @@
package com.falsepattern.zigbrains.zig.lsp;
import com.falsepattern.zigbrains.common.util.ApplicationUtil;
import com.falsepattern.zigbrains.lsp.client.languageserver.ServerOptions;
import com.falsepattern.zigbrains.lsp.client.languageserver.requestmanager.RequestManager;
import com.falsepattern.zigbrains.lsp.client.languageserver.wrapper.LanguageServerWrapper;
@ -26,6 +27,7 @@ import com.falsepattern.zigbrains.zig.ide.SemaEdit;
import com.falsepattern.zigbrains.zig.util.HighlightingUtil;
import com.falsepattern.zigbrains.zig.util.TokenDecoder;
import com.intellij.lang.annotation.Annotation;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.editor.event.DocumentListener;
import lombok.val;
@ -111,6 +113,11 @@ public class ZLSEditorEventManager extends EditorEventManager {
return result;
}
@Override
public void initComplete() {
ApplicationUtil.pool(() -> HighlightingUtil.refreshHighlighting(this));
}
@Override
public Runnable getEditsRunnable(int version, List<Either<TextEdit, InsertReplaceEdit>> edits, String name, boolean setCaret) {
val run = super.getEditsRunnable(version, edits, name, setCaret);