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"));
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 createOtherCompletion() { BasicCompletion bc = new BasicCompletion(provider, name); if (desc.length()>0) { bc.setSummary(desc.toString()); desc.setLength(0); } return bc; }
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")));
private void recursivelyAddLocalVars(List<Completion> completions, CodeBlock block, int dot) { if (!block.contains(dot)) { return; } // Add local variables declared in this code block for (int i=0; i<block.getVariableDeclarationCount(); i++) { VariableDeclaration dec = block.getVariableDeclaration(i); int decOffs = dec.getOffset(); if (decOffs<dot) { BasicCompletion c = new BasicCompletion(this, dec.getName()); completions.add(c); } else { break; } } // Add any local variables declared in a child code block for (int i=0; i<block.getChildCodeBlockCount(); i++) { CodeBlock child = block.getChildCodeBlock(i); if (child.contains(dot)) { recursivelyAddLocalVars(completions, child, dot); return; // No other child blocks can contain the dot } } }
p2.addCompletion(new BasicCompletion(p2, "assert")); p2.addCompletion(new VBasicCompletion(p2, "break")); p2.addCompletion(new VBasicCompletion(p2, "case"));