mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-06-01 10:34:05 +02:00
Fix <CR> parsing
It's ^M, not ^J
This commit is contained in:
parent
d2b929ddd0
commit
628b3ca89f
src
test/java/org/jetbrains/plugins/ideavim/ex
testFixtures/kotlin/org/jetbrains/plugins/ideavim
vim-engine/src/main/kotlin/com/maddyhome/idea/vim/api
@ -617,13 +617,11 @@ class ExEntryTest : VimTestCase() {
|
||||
fun `test insert multi-line register`() {
|
||||
// parseKeys parses <CR> in a way that Register#getText doesn't like
|
||||
val keys = mutableListOf<KeyStroke>()
|
||||
keys.addAll(injector.parser.parseKeys("hello"))
|
||||
keys.add(KeyStroke.getKeyStroke('\n'))
|
||||
keys.addAll(injector.parser.parseKeys("world"))
|
||||
keys.addAll(injector.parser.parseKeys("hello<CR>world"))
|
||||
VimPlugin.getRegister().setKeys('c', keys)
|
||||
|
||||
typeExInput(":<C-R>c")
|
||||
assertExText("hello world")
|
||||
assertExText("hello\u000Dworld")
|
||||
}
|
||||
|
||||
// TODO: Test other special registers, if/when supported
|
||||
|
@ -109,7 +109,7 @@ class RegistersCommandTest : VimTestCase() {
|
||||
assertExOutput(
|
||||
"""
|
||||
|Type Name Content
|
||||
| c "a ^IHello World^J^[
|
||||
| c "a ^IHello World^M^[
|
||||
""".trimMargin(),
|
||||
)
|
||||
}
|
||||
|
@ -552,8 +552,11 @@ abstract class VimNoWriteActionTestCase {
|
||||
}
|
||||
|
||||
protected fun assertRegister(char: Char, expected: String?) {
|
||||
val actual = injector.registerGroup.getRegister(char)?.keys?.let(injector.parser::toKeyNotation)
|
||||
assertEquals(expected, actual, "Wrong register contents")
|
||||
if (expected == null) {
|
||||
assertNull(injector.registerGroup.getRegister(char))
|
||||
} else {
|
||||
assertEquals(expected, injector.registerGroup.getRegister(char)?.printableString)
|
||||
}
|
||||
}
|
||||
|
||||
protected fun assertRegisterString(char: Char, expected: String?) {
|
||||
|
@ -43,6 +43,8 @@ abstract class VimStringParserBase : VimStringParser {
|
||||
} else {
|
||||
(key.keyCode - 'A'.code + 1).toChar()
|
||||
}
|
||||
} else if (key.keyChar == KeyEvent.CHAR_UNDEFINED && key.keyCode == KeyEvent.VK_ENTER) {
|
||||
return '\u000D'
|
||||
}
|
||||
return key.keyCode.toChar()
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user