private void setCursors(boolean isBlock) { Editor[] editors = EditorFactory.getInstance().getAllEditors(); for (Editor editor : editors) { // Vim plugin should be turned on in insert mode ((EditorEx)editor).setInsertMode(true); editor.getSettings().setBlockCursor(isBlock); } }
private static void resetCursor(@NotNull Editor editor, boolean insert) { Document doc = editor.getDocument(); VirtualFile vf = FileDocumentManager.getInstance().getFile(doc); if (vf != null) { resetCursor(vf, editor.getProject(), insert); } else { editor.getSettings().setBlockCursor(!insert); } }
private static void resetCursor(@NotNull VirtualFile virtualFile, Project proj, boolean insert) { logger.debug("resetCursor"); Document doc = FileDocumentManager.getInstance().getDocument(virtualFile); if (doc == null) return; // Must be no text editor (such as image) Editor[] editors = EditorFactory.getInstance().getEditors(doc, proj); if (logger.isDebugEnabled()) { logger.debug("There are " + editors.length + " editors for virtual file " + virtualFile.getName()); } for (Editor editor : editors) { editor.getSettings().setBlockCursor(!insert); } }
@Override public void editorCreated(@NotNull EditorFactoryEvent event) { final Editor editor = event.getEditor(); isBlockCursor = editor.getSettings().isBlockCursor(); isAnimatedScrolling = editor.getSettings().isAnimatedScrolling(); isRefrainFromScrolling = editor.getSettings().isRefrainFromScrolling(); EditorData.initializeEditor(editor); DocumentManager.getInstance().addListeners(editor.getDocument()); VimPlugin.getKey().registerRequiredShortcutKeys(editor); if (VimPlugin.isEnabled()) { initLineNumbers(editor); // Turn on insert mode if editor doesn't have any file if (!EditorData.isFileEditor(editor) && editor.getDocument().isWritable() && !CommandState.inInsertMode(editor)) { KeyHandler.getInstance().handleKey(editor, KeyStroke.getKeyStroke('i'), new EditorDataContext(editor)); } editor.getSettings().setBlockCursor(!CommandState.inInsertMode(editor)); editor.getSettings().setAnimatedScrolling(ANIMATED_SCROLLING_VIM_VALUE); editor.getSettings().setRefrainFromScrolling(REFRAIN_FROM_SCROLLING_VIM_VALUE); } }