in src/main/java/com/maddyhome/idea/vim/VimPlugin.java [381:420]
private void updateState() {
if (stateUpdated) return;
if (isEnabled() && !ApplicationManager.getApplication().isUnitTestMode()) {
stateUpdated = true;
if (SystemInfo.isMac) {
final Boolean enabled = MacKeyRepeat.INSTANCE.isEnabled();
final Boolean isKeyRepeat = getEditor().isKeyRepeat();
if ((enabled == null || !enabled) && (isKeyRepeat == null || isKeyRepeat)) {
// This system property is used in IJ ui robot to hide the startup tips
boolean showNotification =
Boolean.parseBoolean(System.getProperty("ide.show.tips.on.startup.default.value", "true"));
LOG.info("Do not show mac repeat notification because ide.show.tips.on.startup.default.value=false");
if (showNotification) {
if (VimPlugin.getNotifications().enableRepeatingMode() == Messages.YES) {
getEditor().setKeyRepeat(true);
MacKeyRepeat.INSTANCE.setEnabled(true);
}
else {
getEditor().setKeyRepeat(false);
}
}
}
}
if (previousStateVersion > 0 && previousStateVersion < 3) {
final KeymapManagerEx manager = KeymapManagerEx.getInstanceEx();
Keymap keymap = null;
if (previousKeyMap != null) {
keymap = manager.getKeymap(previousKeyMap);
}
if (keymap == null) {
keymap = manager.getKeymap(DefaultKeymap.getInstance().getDefaultKeymapName());
}
assert keymap != null : "Default keymap not found";
manager.setActiveKeymap(keymap);
}
if (previousStateVersion > 0 && previousStateVersion < 4) {
VimPlugin.getNotifications().noVimrcAsDefault();
}
}
}