1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-05-23 13:34:03 +02:00

Use the read action for neovim tests

This commit is contained in:
Alex Plate 2025-02-21 13:17:37 +02:00
parent 8d89847d4b
commit 58de834832
No known key found for this signature in database
GPG Key ID: 0B97153C8FFEC09F

View File

@ -12,6 +12,7 @@ import com.ensarsarajcic.neovim.java.api.NeovimApi
import com.ensarsarajcic.neovim.java.api.NeovimApis import com.ensarsarajcic.neovim.java.api.NeovimApis
import com.ensarsarajcic.neovim.java.api.types.api.VimCoords import com.ensarsarajcic.neovim.java.api.types.api.VimCoords
import com.ensarsarajcic.neovim.java.corerpc.client.ProcessRpcConnection import com.ensarsarajcic.neovim.java.corerpc.client.ProcessRpcConnection
import com.intellij.openapi.application.ApplicationManager
import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.Editor
import com.intellij.openapi.editor.LogicalPosition import com.intellij.openapi.editor.LogicalPosition
import com.maddyhome.idea.vim.VimPlugin import com.maddyhome.idea.vim.VimPlugin
@ -113,8 +114,10 @@ object NeovimTesting {
fun setupEditor(editor: Editor, test: TestInfo) { fun setupEditor(editor: Editor, test: TestInfo) {
if (!neovimEnabled(test, editor)) return if (!neovimEnabled(test, editor)) return
neovimApi.currentBuffer.get().setLines(0, -1, false, editor.document.text.split("\n")).get() neovimApi.currentBuffer.get().setLines(0, -1, false, editor.document.text.split("\n")).get()
val charPosition = CharacterPosition.fromOffset(editor, editor.caretModel.offset) ApplicationManager.getApplication().runReadAction {
neovimApi.currentWindow.get().setCursor(VimCoords(charPosition.line + 1, charPosition.column)).get() val charPosition = CharacterPosition.fromOffset(editor, editor.caretModel.offset)
neovimApi.currentWindow.get().setCursor(VimCoords(charPosition.line + 1, charPosition.column)).get()
}
} }
fun typeCommand(keys: String, test: TestInfo, editor: Editor) { fun typeCommand(keys: String, test: TestInfo, editor: Editor) {