/** * {@inheritDoc} */ @Override protected CompletionProvider createStringCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); return cp; }
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;
/** * {@inheritDoc} */ @Override public boolean isValidChar(char ch) { return super.isValidChar(ch) || ch=='@' || ch=='$' || ch=='%'; }
/** * Creates a completion provider that provides completion for a simple * list of words. * * @param words The words to offer as completion suggestions. If this is * <code>null</code>, no completions will be known. * @see BasicCompletion */ public DefaultCompletionProvider(String[] words) { init(); addWordCompletions(words); }
/** * 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; }
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; }
char paramListStart = getParameterListStart(); if (paramListStart==0) { return list; // null while (offs>=s.offset && isValidChar(s.array[offs])) { offs--; List<Completion> l = getCompletionByInputText(text); if (l!=null && !l.isEmpty()) { for (int i=0; i<l.size(); i++) {
/** * Loads completions from an XML input stream. The XML should validate * against <code>CompletionXml.dtd</code>. * * @param in The input stream to read from. * @throws IOException If an IO error occurs. */ public void loadFromXML(InputStream in) throws IOException { loadFromXML(in, null); }
while (startOffs>=s.offset && isValidChar(s.array[startOffs])) { startOffs--; while (endOffs<s.offset+s.count && isValidChar(s.array[endOffs])) { endOffs++; List<Completion> list = getCompletionByInputText(text); lastCompletionsAtText = text; return lastParameterizedCompletionsAt = list;
saxParser.parse(bin, handler); List<Completion> completions = handler.getCompletions(); addCompletions(completions); char startChar = handler.getParamStartChar(); if (startChar!=0) { String sep = handler.getParamSeparator(); if (endChar!=0 && sep!=null && sep.length()>0) { // Sanity setParameterizedCompletionParams(startChar, sep, endChar);
private void initProvider() { provider.clear(); addToProvider(keywords()); }
/** * 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; }
/** * Loads completions from an XML file. The XML should validate against * <code>CompletionXml.dtd</code>. * * @param file An XML file to load from. * @throws IOException If an IO error occurs. */ public void loadFromXML(File file) throws IOException { BufferedInputStream bin = new BufferedInputStream( new FileInputStream(file)); try { loadFromXML(bin); } finally { bin.close(); } }
/** * 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; }
/** * {@inheritDoc} */ @Override protected CompletionProvider createStringCompletionProvider() { DefaultCompletionProvider cp = new DefaultCompletionProvider(); return cp; }
/** * 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)); //} }
/** * Called from {@link #createCodeCompletionProvider()} to actually load * the completions from XML. Subclasses that override that method will * want to call this one. * * @param cp The code completion provider. */ protected void loadCodeCompletionsFromXml(DefaultCompletionProvider cp) { // First try loading resource (running from demo jar), then try // accessing file (debugging in Eclipse). ClassLoader cl = getClass().getClassLoader(); String res = getXmlResource(); if (res!=null) { // Subclasses may specify a null value InputStream in = cl.getResourceAsStream(res); try { if (in!=null) { cp.loadFromXML(in); in.close(); } else { cp.loadFromXML(new File(res)); } } catch (IOException ioe) { ioe.printStackTrace(); } } }
while (start>=seg.offset && isValidChar(seg.array[start])) { start--;
/** * 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; }
public StyledEditor() { provider = new DefaultCompletionProvider(); }