1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-06-01 01:34:07 +02:00
IntelliJ-IdeaVim/src/com/maddyhome/idea/vim/action/AbstractCommandAction.java
2003-04-17 18:36:26 +00:00

45 lines
1.5 KiB
Java

package com.maddyhome.idea.vim.action;
/*
* IdeaVim - A Vim emulator plugin for IntelliJ Idea
* Copyright (C) 2003 Rick Maddy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.DataContext;
import com.maddyhome.idea.vim.KeyHandler;
import com.maddyhome.idea.vim.command.Command;
import com.maddyhome.idea.vim.command.CommandState;
/**
*/
public abstract class AbstractCommandAction extends AnAction
{
public final void actionPerformed(AnActionEvent event)
{
CommandState state = CommandState.getInstance();
Command cmd = state.getCommand();
if (!execute(event.getDataContext(), cmd))
{
KeyHandler.indicateError();
}
}
protected abstract boolean execute(DataContext context, Command cmd);
}