Search in sources :

Example 1 with KeyHandler

use of com.maddyhome.idea.vim.KeyHandler in project ideavim by JetBrains.

the class VimTestCase method typeText.

@NotNull
protected Editor typeText(@NotNull List<KeyStroke> keys) {
    final Editor editor = myFixture.getEditor();
    final KeyHandler keyHandler = KeyHandler.getInstance();
    final EditorDataContext dataContext = new EditorDataContext(editor);
    final Project project = myFixture.getProject();
    TestInputModel.getInstance(editor).setKeyStrokes(keys);
    RunnableHelper.runWriteCommand(project, new Runnable() {

        @Override
        public void run() {
            final TestInputModel inputModel = TestInputModel.getInstance(editor);
            for (KeyStroke key = inputModel.nextKeyStroke(); key != null; key = inputModel.nextKeyStroke()) {
                final ExEntryPanel exEntryPanel = ExEntryPanel.getInstance();
                if (exEntryPanel.isActive()) {
                    exEntryPanel.handleKey(key);
                } else {
                    keyHandler.handleKey(editor, key, dataContext);
                }
            }
        }
    }, null, null);
    return editor;
}
Also used : Project(com.intellij.openapi.project.Project) ExEntryPanel(com.maddyhome.idea.vim.ui.ExEntryPanel) Editor(com.intellij.openapi.editor.Editor) KeyHandler(com.maddyhome.idea.vim.KeyHandler) NotNull(org.jetbrains.annotations.NotNull)

Aggregations

Editor (com.intellij.openapi.editor.Editor)1 Project (com.intellij.openapi.project.Project)1 KeyHandler (com.maddyhome.idea.vim.KeyHandler)1 ExEntryPanel (com.maddyhome.idea.vim.ui.ExEntryPanel)1 NotNull (org.jetbrains.annotations.NotNull)1