/** * {@inheritDoc} */ @Override public String getAlreadyEntered(JTextComponent comp) { return provider.getAlreadyEnteredText(comp); }
/** * 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(); }
/** * {@inheritDoc} */ @Override public char getParameterListEnd() { return defaultProvider.getParameterListEnd(); }
char start = provider.getParameterListStart(); if (start!=0) { sb.append(start); sb.append(provider.getParameterListSeparator()); char end = provider.getParameterListEnd(); if (end!=0) { sb.append(end);
String text = provider.getAlreadyEnteredText(textComponent); if (text == null && !isPopupVisible()) { return getLineOfCaret(); .getCompletions(textComponent); int count = completions==null ? 0 : completions.size();
char end = p.getParameterListEnd(); // Might be '\0' String text = end == '\0' ? "" : Character.toString(end); if (typedParamListStartChar) { String template = "${}" + text + "${cursor}"; textComponent.replaceSelection(Character.toString(p .getParameterListStart())); TemplateCompletion tc = new TemplateCompletion(p, null, null, template); text = p.getParameterListStart() + text; textComponent.replaceSelection(text); return;
/** * {@inheritDoc} */ @Override public boolean isAutoActivateOkay(JTextComponent tc) { CompletionProvider provider = getProviderFor(tc); return provider!=null ? provider.isAutoActivateOkay(tc) : false; }
/** * {@inheritDoc} */ @Override public char getParameterListStart() { return defaultProvider.getParameterListStart(); }
/** * {@inheritDoc} */ @Override public String getParameterListSeparator() { return defaultProvider.getParameterListSeparator(); }
@Override public List<ParameterizedCompletion> getParameterizedCompletions(JTextComponent tc) { CompletionProvider provider = getProviderFor(tc); if (provider == provedorConclusaoCodigoPrograma) { return provider.getParameterizedCompletions(tc); } return null; }
/** * {@inheritDoc} */ @Override public List<Completion> getCompletionsAt(JTextComponent tc, Point p) { return defaultProvider==null ? null : defaultProvider.getCompletionsAt(tc, p); }
@Override public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean selected, boolean hasFocus) { Completion c = (Completion)value; CompletionProvider p = c.getProvider(); ListCellRenderer<Object> r = p.getListCellRenderer(); if (r!=null) { return r.getListCellRendererComponent(list, value, index, selected, hasFocus); } if (fallback==null) { return super.getListCellRendererComponent(list, value, index, selected, hasFocus); } return fallback.getListCellRendererComponent(list, value, index, selected, hasFocus); }
sb.append(provider.getParameterListStart()); for (int i = 0; i < getParamCount(); i++) { Parameter param = getParam(i); sb.append(provider.getParameterListSeparator()); sb.append(provider.getParameterListEnd());
@Override public void actionPerformed(ActionEvent e) { JTextComponent tc = ac.getTextComponent(); int dot = tc.getCaretPosition(); char end = pc.getProvider().getParameterListEnd(); // Are they at or past the end of the parameters? if (dot>=maxPos.getOffset()-2) { // ">=" for overwrite mode // Try to decide if we're closing a paren that is a part // of the (last) arg being typed. String text = getArgumentText(dot); if (text!=null) { char start = pc.getProvider().getParameterListStart(); int startCount = getCount(text, start); int endCount = getCount(text, end); if (startCount>endCount) { // Just closing a paren tc.replaceSelection(Character.toString(end)); return; } } //tc.setCaretPosition(maxPos.getOffset()); tc.setCaretPosition(Math.min(tc.getCaretPosition()+1, tc.getDocument().getLength())); deactivate(); } // If not (in the middle of parameters), just insert the paren. else { tc.replaceSelection(Character.toString(end)); } }
@Override public void insertUpdate(DocumentEvent e) { justInserted = false; if (isAutoCompleteEnabled() && isAutoActivationEnabled() && e.getLength() == 1) { if (provider.isAutoActivateOkay(textComponent)) { timer.restart(); justInserted = true; } else { timer.stop(); } } else { timer.stop(); } }
char start = provider.getParameterListStart(); if (start != 0) { KeyStroke ks = KeyStroke.getKeyStroke(start);
sb.append(pc.getProvider().getParameterListSeparator());
/** * {@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; }
sb.append(fc.getName()); char paramListStart = fc.getProvider().getParameterListStart(); if (paramListStart!=0) { // 0 => no start char sb.append(paramListStart); sb.append(fc.getProvider().getParameterListSeparator()); char paramListEnd = fc.getProvider().getParameterListEnd(); if (paramListEnd!=0) { // 0 => No parameter list end char sb.append(paramListEnd);
/** * {@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; }