provider.addCompletion(new BasicCompletion(provider, "abstract")); provider.addCompletion(new BasicCompletion(provider, "assert")); provider.addCompletion(new BasicCompletion(provider, "break")); provider.addCompletion(new BasicCompletion(provider, "case")); provider.addCompletion(new BasicCompletion(provider, "transient")); provider.addCompletion(new BasicCompletion(provider, "try")); provider.addCompletion(new BasicCompletion(provider, "void")); provider.addCompletion(new BasicCompletion(provider, "volatile")); provider.addCompletion(new BasicCompletion(provider, "while")); provider.addCompletion(new BasicCompletion(provider, "click")); provider.addCompletion(new ShorthandCompletion(provider, "find", "#find|@?|$R")); provider.addCompletion(new ShorthandCompletion(provider, "sysout", "System.out.println(", "System.out.println(")); provider.addCompletion(new ShorthandCompletion(provider, "syserr", "System.err.println(", "System.err.println(")); return provider;
/** * Selects the last item in the completion list. * * @see #selectFirstItem() */ private void selectLastItem() { int index = model.getSize() - 1; if (index > -1) { list.setSelectedIndex(index); list.ensureIndexIsVisible(index); } }
/** * {@inheritDoc} */ @Override public boolean isAutoActivateOkay(JTextComponent tc) { CompletionProvider provider = getProviderFor(tc); return provider!=null ? provider.isAutoActivateOkay(tc) : false; }
/** * Returns the provider to use when in a comment. * * @return The provider. * @see #createCodeCompletionProvider() */ protected CompletionProvider createCommentCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); cp.addCompletion(new BasicCompletion(cp, "TODO:", "A to-do reminder")); cp.addCompletion(new BasicCompletion(cp, "FIXME:", "A bug that needs to be fixed")); return cp; }
contentPane.add(new RTextScrollPane(textArea)); CompletionProvider provider = createCompletionProvider(); AutoCompletion ac = new AutoCompletion(provider); ac.setAutoActivationEnabled(true); ac.install(textArea);
/** * Adds shorthand completions to the code completion provider. * * @param codeCP The code completion provider. */ protected void addShorthandCompletions(DefaultCompletionProvider codeCP) { codeCP.addCompletion(new ShorthandCompletion(codeCP, "main", "int main(int argc, char **argv)")); //for (int i=0; i<5000; i++) { // codeCP.addCompletion(new BasicCompletion(codeCP, "Number" + i)); //} }
/** * {@inheritDoc} */ @Override public String getAlreadyEnteredText(JTextComponent comp) { if (!(comp instanceof RSyntaxTextArea)) { return EMPTY_STRING; } CompletionProvider provider = getProviderFor(comp); return provider!=null ? provider.getAlreadyEnteredText(comp) : null; }
/** * Inserts the currently selected completion. * * @see #getSelection() */ private void insertSelectedCompletion() { Completion comp = getSelection(); ac.insertCompletion(comp); }
/** * {@inheritDoc} */ @Override @SuppressFBWarnings(value = "RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE", justification = "Subclasses could return null") public String getToolTipText() { String text = getSummary(); if (text==null) { text = getDefinitionString(); } return text; }
/** * Selects the next item in the completion list. * * @see #selectPreviousItem() */ private void selectNextItem() { int index = list.getSelectedIndex(); if (index > -1) { index = (index + 1) % model.getSize(); list.setSelectedIndex(index); list.ensureIndexIsVisible(index); } }
/** * Returns a decent "parameter" color based on the current default * foreground color. * * @return The parameter color to use. */ private String createParamColor() { return Util.isLightForeground(getForeground()) ? Util.getHexString(Util.getHyperlinkForeground()): "#aa0077"; }
/** * {@inheritDoc} */ @Override public List<ParameterizedCompletion> getParameterizedCompletions( JTextComponent tc) { // Parameterized completions can only come from the "code" completion // provider. We do not do function/method completions while editing // strings or comments. CompletionProvider provider = getProviderFor(tc); return provider==defaultProvider ? provider.getParameterizedCompletions(tc) : null; }
/** * Returns the selected value, or <code>null</code> if nothing is selected. * * @return The selected value. */ public Completion getSelection() { return isShowing() ? (Completion)list.getSelectedValue():lastSelection; }
/** * Returns the default list cell renderer used when a completion provider * does not supply its own. * * @return The default list cell renderer. * @see #setListCellRenderer(ListCellRenderer) */ public ListCellRenderer getListCellRenderer() { DelegatingCellRenderer dcr = (DelegatingCellRenderer)list. getCellRenderer(); return dcr.getFallbackCellRenderer(); }
/** * If a summary has been set, that summary is returned. Otherwise, the * replacement text is returned. * * @return A description of this completion (the text that will be * inserted). * @see #getReplacementText() */ @Override public String getSummary() { String summary = super.getSummary(); return summary!=null ? summary : ("<html><body>" + getSummaryBody()); }
/** * Sets the completions to display in the choices list. The first * completion is selected. * * @param completions The completions to display. */ public void setCompletions(List<Completion> completions) { model.setContents(completions); selectFirstItem(); }
/** * Returns the provider to use when in a comment. * * @return The provider. * @see #createCodeCompletionProvider() * @see #createStringCompletionProvider() */ protected CompletionProvider createCommentCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); cp.addCompletion(new BasicCompletion(cp, "TODO:", "A to-do reminder")); cp.addCompletion(new BasicCompletion(cp, "FIXME:", "A bug that needs to be fixed")); return cp; }
/** * Selects the first item in the completion list. * * @see #selectLastItem() */ private void selectFirstItem() { if (model.getSize() > 0) { list.setSelectedIndex(0); list.ensureIndexIsVisible(0); } }
/** * Returns the provider to use when in a comment. * * @return The provider. * @see #createCodeCompletionProvider() * @see #createStringCompletionProvider() */ protected CompletionProvider createCommentCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); cp.addCompletion(new BasicCompletion(cp, "TODO:", "A to-do reminder")); cp.addCompletion(new BasicCompletion(cp, "FIXME:", "A bug that needs to be fixed")); return cp; }