mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2025-08-18 10:31:44 +02:00
.github
.idea
.teamcity
annotation-processors
assets
doc
gradle
scripts
src
tests
vim-engine
src
Evolution.md
build.gradle.kts
gradle.properties
vimscript-info
.editorconfig
.gitignore
AUTHORS.md
CHANGES.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.txt
README.md
ThirdPartyLicenses.md
build.gradle.kts
gradle.properties
gradlew
gradlew.bat
qodana.sarif.json
qodana.yaml
settings.gradle.kts

Why is the old interface bad? - it is not obvious. You cannot create a new panel or check if it is already created. Only "getOrCreate" it - output panel is bound to editor while in Vim it is global - we have the `isActive` field and the `clear()` method at the same time, because interface implies that you store the same instance of the panel and reactivate it for each output and I don't like it. We also can forget to call `clear()` after reusing panel - we cannot "build" output before showing to make the panel more efficient. With multiple carets we can only cal `output(oldText + newText)` for each caret, and it is bad. (imagine we have global command with a lot of matches and for each time we will need to call the `output(oldText + newText)`) - the `output()` method shows panel, activates it and updates it - there are more things that I do not like, but the points above should be already enough