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"));
/** * Returns a string representation of this completion. If the short * description is not <code>null</code>, this method will return: * * <code>getInputText() + " - " + shortDesc</code> * * otherwise, it will return <tt>getInputText()</tt>. * * @return A string representation of this completion. */ @Override public String toString() { if (shortDesc==null) { return getInputText(); } return getInputText() + " - " + shortDesc; }
private BasicCompletion createOtherCompletion() { BasicCompletion bc = new BasicCompletion(provider, name); if (desc.length()>0) { bc.setSummary(desc.toString()); desc.setLength(0); } return bc; }
/** * 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()); }
@Override public int compareTo(Completion c2) { if (c2 == this) { return 0; } // Check for classes with same name, but in different packages else if(c2.toString().equalsIgnoreCase(toString())) { if (c2 instanceof JSClassCompletion) { JSClassCompletion jsc2 = (JSClassCompletion) c2; return getReplacementText().compareTo(jsc2.getReplacementText()); } } return super.compareTo(c2); }
/** * Prepares this renderer to display a completion not specifically handled * elsewhere. * * @param list The list of choices being rendered. * @param c The completion to render. * @param index The index into <code>list</code> being rendered. * @param selected Whether the item is selected. * @param hasFocus Whether the item has focus. */ protected void prepareForOtherCompletion(JList list, Completion c, int index, boolean selected, boolean hasFocus) { StringBuilder sb = new StringBuilder(PREFIX); sb.append(c.getInputText()); if (c instanceof BasicCompletion) { String definition = ((BasicCompletion)c).getShortDescription(); if (definition!=null) { sb.append(" - "); if (!selected) { sb.append("<font color='").append(typeColor).append("'>"); } sb.append(definition); if (!selected) { sb.append("</font>"); } } } setText(sb.toString()); }
private CompletionProvider addToProvider(Stream<String> words) { words.map(word -> new BasicCompletion(provider, word)) .forEach(provider::addCompletion); return provider; } private static boolean isSave(KeyEvent ke) {
/** * Adds simple completions for a list of words. * * @param words The words. * @see BasicCompletion */ protected void addWordCompletions(String[] words) { int count = words==null ? 0 : words.length; for (int i=0; i<count; i++) { completions.add(new BasicCompletion(this, words[i])); } Collections.sort(completions); }
private BasicCompletion makeListEntry( final MacroAutoCompletionProvider provider, String headline, final String name, String description) { if (!headline.startsWith("run(\"")) { final String link = // "https://imagej.net/developer/macro/functions.html#" + name; description = // "<a href=\"" + link + "\">" + headline + "</a><br>" + description; } if (headline.trim().endsWith("-")) { headline = headline.trim(); headline = headline.substring(0, headline.length() - 2); } return new BasicCompletion(provider, headline, null, description); }
/** * 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; }
/** * Returns the completion provider to use when the caret is in a string. * * @return The provider. * @see #createCodeCompletionProvider() * @see #createCommentCompletionProvider() */ protected CompletionProvider createStringCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); cp.addCompletion(new BasicCompletion(cp, "%c", "char", "Prints a character")); cp.addCompletion(new BasicCompletion(cp, "%i", "signed int", "Prints a signed integer")); cp.addCompletion(new BasicCompletion(cp, "%f", "float", "Prints a float")); cp.addCompletion(new BasicCompletion(cp, "%s", "string", "Prints a string")); cp.addCompletion(new BasicCompletion(cp, "%u", "unsigned int", "Prints an unsigned integer")); cp.addCompletion(new BasicCompletion(cp, "\\n", "Newline", "Prints a newline")); return cp; }
/** * 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; }
/** * Returns the completion provider to use when the caret is in a string. * * @return The provider. * @see #createCodeCompletionProvider() * @see #createCommentCompletionProvider() */ protected CompletionProvider createStringCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); cp.addCompletion(new BasicCompletion(cp, "%c", "char", "Prints a character")); cp.addCompletion(new BasicCompletion(cp, "%i", "signed int", "Prints a signed integer")); cp.addCompletion(new BasicCompletion(cp, "%f", "float", "Prints a float")); cp.addCompletion(new BasicCompletion(cp, "%s", "string", "Prints a string")); cp.addCompletion(new BasicCompletion(cp, "%u", "unsigned int", "Prints an unsigned integer")); cp.addCompletion(new BasicCompletion(cp, "\\n", "Newline", "Prints a newline")); return cp; }
/** * 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; }
private CompletionProvider createCompletionProvider() { DefaultCompletionProvider provider = new DefaultCompletionProvider(); provider.setAutoActivationRules(true, ""); URL[] urls = new URL[3]; urls[0] = getClass().getResource("/openlatexstudio/tex.cwl"); urls[1] = getClass().getResource("/openlatexstudio/latex-document.cwl"); urls[2] = getClass().getResource("/openlatexstudio/latex-mathsymbols.cwl"); for (URL url : urls) { InputStream is = null; try { is = url.openStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line; while ((line = br.readLine()) != null) { if (!line.startsWith("#")) { provider.addCompletion(new BasicCompletion(provider, line.substring(1))); } } } catch (IOException ex) { Exceptions.printStackTrace(ex); } finally { IOUtils.closeQuietly(is); } } return provider; }
Completion from = new BasicCompletion(p, text); Completion to = new BasicCompletion(p, text + '{'); varCompletions = varCompletions.subSet(from, to);
@Override public void setUI(ListUI ui) { if (Util.getUseSubstanceRenderers() && SUBSTANCE_LIST_UI.equals(ui.getClass().getName())) { // Substance requires its special ListUI be installed for // its renderers to actually render (!), but long completion // lists (e.g. PHPCompletionProvider in RSTALanguageSupport) // will simply populate too slowly on initial display (when // calculating preferred size of all items), so in this case // we give a prototype cell value. CompletionProvider p = ac.getCompletionProvider(); BasicCompletion bc = new BasicCompletion(p, "Hello world"); setPrototypeCellValue(bc); } else { // Our custom UI that is faster for long HTML completion lists. ui = new FastListUI(); setPrototypeCellValue(null); } super.setUI(ui); }
addCommentCompletion(new BasicCompletion(commentsProvider, "TODO:", null, msg.getString("todo"))); addCommentCompletion(new BasicCompletion(commentsProvider, "FIXME:", null, msg.getString("fixme")));
name = firstChar + name.substring(1); BasicCompletion c = new BasicCompletion(this, name); completions.add(c);
addCommentCompletion(new BasicCompletion(commentsProvider, "TODO:", null, msg.getString("todo"))); addCommentCompletion(new BasicCompletion(commentsProvider, "FIXME:", null, msg.getString("fixme")));