package org.kevoree.tools.ui.kevscript; import jsyntaxpane.SyntaxDocument; import jsyntaxpane.Token; import jsyntaxpane.actions.ComboCompletionAction; import jsyntaxpane.actions.gui.ComboCompletionDialog; import javax.swing.text.JTextComponent; import java.awt.event.ActionEvent; import java.util.Arrays; import java.util.Iterator; import java.util.List; /** * Created with IntelliJ IDEA. * User: duke * Date: 30/11/2013 * Time: 14:33 */ public class KevScriptCompletion extends ComboCompletionAction { ComboCompletionDialog ldlg = null; private List<String> cmd = Arrays.asList("add INSTANCENAME : TYPENAME\n", "move NODE.COMPONENT TARGETNODE\n"); @Override public void actionPerformed(JTextComponent target, SyntaxDocument sdoc, int dot, ActionEvent e) { if (ldlg == null) { ldlg = new ComboCompletionDialog(target); } Token token = sdoc.getTokenAt(dot); if (token == null) { Iterator<Token> it = sdoc.getTokens(0, dot); while (it.hasNext()) { token = it.next(); } } if (token != null) { if (token.getString(sdoc).endsWith(":")) { //fill type } else { ldlg.displayFor("", cmd); } } else { ldlg.displayFor("", cmd); } } }