/** * {@inheritDoc} */ @Override public boolean isAutoActivateOkay(JTextComponent tc) { CompletionProvider provider = getProviderFor(tc); return provider!=null ? provider.isAutoActivateOkay(tc) : false; }
/** * Constructor. * * @param defaultProvider The provider to use when no provider is assigned * to a particular token type. This cannot be <code>null</code>. */ public LanguageAwareCompletionProvider(CompletionProvider defaultProvider) { setDefaultCompletionProvider(defaultProvider); }
Token t = doc.getTokenListForLine(line); if (t==null) { return getDefaultCompletionProvider(); Token temp = t.getLastPaintableToken(); if (temp==null) { return getDefaultCompletionProvider(); return getStringCompletionProvider(); case Token.COMMENT_EOL: case Token.COMMENT_MULTILINE: return getCommentCompletionProvider(); case Token.COMMENT_DOCUMENTATION: return getDocCommentCompletionProvider(); default: return getDefaultCompletionProvider(); return getDefaultCompletionProvider(); case Token.LITERAL_STRING_DOUBLE_QUOTE: case Token.ERROR_STRING_DOUBLE: return getStringCompletionProvider(); case Token.COMMENT_EOL: case Token.COMMENT_MULTILINE: return getCommentCompletionProvider(); case Token.COMMENT_DOCUMENTATION: return getDocCommentCompletionProvider(); case Token.NULL: case Token.WHITESPACE:
private CompletionProvider getCompletionProvider() { CompletionProvider provider = new LanguageAwareCompletionProvider(getMacroAutoCompletionProvider()); return provider; }
/** * Returns the tool tip to display for a mouse event.<p> * * For this method to be called, the <tt>RSyntaxTextArea</tt> must be * registered with the <tt>javax.swing.ToolTipManager</tt> like so: * * <pre> * ToolTipManager.sharedInstance().registerComponent(textArea); * </pre> * * @param textArea The text area. * @param e The mouse event. * @return The tool tip text, or <code>null</code> if none. */ @Override public String getToolTipText(RTextArea textArea, MouseEvent e) { String tip = null; List<Completion> completions = getCompletionsAt(textArea, e.getPoint()); if (completions!=null && completions.size()>0) { // Only ever 1 match for us in C... Completion c = completions.get(0); tip = c.getToolTipText(); } return tip; }
/** * {@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; }
/** * {@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; }
/** * Does the dirty work of creating a list of completions. * * @param comp The text component to look in. * @return The list of possible completions, or an empty list if there * are none. */ @Override protected List<Completion> getCompletionsImpl(JTextComponent comp) { if (comp instanceof RSyntaxTextArea) { CompletionProvider provider = getProviderFor(comp); if (provider!=null) { return provider.getCompletions(comp); } } return Collections.emptyList(); }