mirror of
https://github.com/SuspiciousActivity/ByteEdit.git
synced 2026-08-13 17:56:17 +00:00
Fixes and updates
This commit is contained in:
1 parent
d1710ea6a5
commit
fb4da77359
211 files changed
+45363
-45571
No files matched your search
@@ -33,13 +33,13 @@ import org.fife.ui.rtextarea.ToolTipSupplier;
|
||||
* <li>A documentation comment</li>
|
||||
* </ul>
|
||||
*
|
||||
* This allows for different completion choices in comments than in code,
|
||||
* for example.
|
||||
* This allows for different completion choices in comments than in code, for
|
||||
* example.
|
||||
* <p>
|
||||
*
|
||||
* This provider also implements the
|
||||
* <tt>org.fife.ui.rtextarea.ToolTipSupplier</tt> interface, which allows it
|
||||
* to display tooltips for completion choices. Thus the standard
|
||||
* <tt>org.fife.ui.rtextarea.ToolTipSupplier</tt> interface, which allows it to
|
||||
* display tooltips for completion choices. Thus the standard
|
||||
* {@link VariableCompletion} and {@link FunctionCompletion} completions should
|
||||
* be able to display tooltips with the variable declaration or function
|
||||
* definition (provided the <tt>RSyntaxTextArea</tt> was registered with the
|
||||
@@ -49,10 +49,9 @@ import org.fife.ui.rtextarea.ToolTipSupplier;
|
||||
* @version 1.0
|
||||
*/
|
||||
public class LanguageAwareCompletionProvider extends CompletionProviderBase implements ToolTipSupplier {
|
||||
|
||||
|
||||
/**
|
||||
* The provider to use when no provider is assigned to a particular token
|
||||
* type.
|
||||
* The provider to use when no provider is assigned to a particular token type.
|
||||
*/
|
||||
private CompletionProvider defaultProvider;
|
||||
/**
|
||||
@@ -67,41 +66,40 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
* The provider to use while in documentation comments.
|
||||
*/
|
||||
private CompletionProvider docCommentCompletionProvider;
|
||||
|
||||
|
||||
/**
|
||||
* Constructor subclasses can use when they don't have their default
|
||||
* provider created at construction time. They should call
|
||||
* Constructor subclasses can use when they don't have their default provider
|
||||
* created at construction time. They should call
|
||||
* {@link #setDefaultCompletionProvider(CompletionProvider)} in this
|
||||
* constructor.
|
||||
*/
|
||||
protected LanguageAwareCompletionProvider() {}
|
||||
|
||||
protected LanguageAwareCompletionProvider() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param defaultProvider
|
||||
* The provider to use when no provider is assigned
|
||||
* to a particular token type. This cannot be <code>null</code>.
|
||||
* @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);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calling this method will result in an
|
||||
* {@link UnsupportedOperationException} being thrown. To set the
|
||||
* parameter completion parameters, do so on the provider returned by
|
||||
* {@link #getDefaultCompletionProvider()}.
|
||||
* Calling this method will result in an {@link UnsupportedOperationException}
|
||||
* being thrown. To set the parameter completion parameters, do so on the
|
||||
* provider returned by {@link #getDefaultCompletionProvider()}.
|
||||
*
|
||||
* @throws UnsupportedOperationException
|
||||
* Always.
|
||||
* @throws UnsupportedOperationException Always.
|
||||
* @see #setParameterizedCompletionParams(char, String, char)
|
||||
*/
|
||||
@Override
|
||||
public void clearParameterizedCompletionParams() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -113,7 +111,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
CompletionProvider provider = getProviderFor(comp);
|
||||
return provider != null ? provider.getAlreadyEnteredText(comp) : null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the completion provider to use for comments.
|
||||
*
|
||||
@@ -123,7 +121,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public CompletionProvider getCommentCompletionProvider() {
|
||||
return commentCompletionProvider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -131,14 +129,12 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public List<Completion> getCompletionsAt(JTextComponent tc, Point p) {
|
||||
return defaultProvider == null ? null : defaultProvider.getCompletionsAt(tc, p);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @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) {
|
||||
@@ -150,10 +146,10 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the completion provider used when one isn't defined for a
|
||||
* particular token type.
|
||||
* Returns the completion provider used when one isn't defined for a particular
|
||||
* token type.
|
||||
*
|
||||
* @return The completion provider to use.
|
||||
* @see #setDefaultCompletionProvider(CompletionProvider)
|
||||
@@ -161,7 +157,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public CompletionProvider getDefaultCompletionProvider() {
|
||||
return defaultProvider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the completion provider to use for documentation comments.
|
||||
*
|
||||
@@ -171,7 +167,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public CompletionProvider getDocCommentCompletionProvider() {
|
||||
return docCommentCompletionProvider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -183,7 +179,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
CompletionProvider provider = getProviderFor(tc);
|
||||
return provider == defaultProvider ? provider.getParameterizedCompletions(tc) : null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -191,7 +187,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public char getParameterListEnd() {
|
||||
return defaultProvider.getParameterListEnd();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -199,7 +195,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public String getParameterListSeparator() {
|
||||
return defaultProvider.getParameterListSeparator();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -207,13 +203,12 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public char getParameterListStart() {
|
||||
return defaultProvider.getParameterListStart();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the completion provider to use at the current caret position in
|
||||
* a text component.
|
||||
* Returns the completion provider to use at the current caret position in a
|
||||
* text component.
|
||||
*
|
||||
* @param comp
|
||||
* The text component to check.
|
||||
* @param comp The text component to check.
|
||||
* @return The completion provider to use.
|
||||
*/
|
||||
private CompletionProvider getProviderFor(JTextComponent comp) {
|
||||
@@ -242,15 +237,15 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
type = doc.getClosestStandardTokenTypeForInternalType(type);
|
||||
}
|
||||
switch (type) {
|
||||
case Token.ERROR_STRING_DOUBLE:
|
||||
return getStringCompletionProvider();
|
||||
case Token.COMMENT_EOL:
|
||||
case Token.COMMENT_MULTILINE:
|
||||
return getCommentCompletionProvider();
|
||||
case Token.COMMENT_DOCUMENTATION:
|
||||
return getDocCommentCompletionProvider();
|
||||
default:
|
||||
return getDefaultCompletionProvider();
|
||||
case Token.ERROR_STRING_DOUBLE:
|
||||
return getStringCompletionProvider();
|
||||
case Token.COMMENT_EOL:
|
||||
case Token.COMMENT_MULTILINE:
|
||||
return getCommentCompletionProvider();
|
||||
case Token.COMMENT_DOCUMENTATION:
|
||||
return getDocCommentCompletionProvider();
|
||||
default:
|
||||
return getDefaultCompletionProvider();
|
||||
}
|
||||
}
|
||||
// FIXME: This isn't always a safe assumption.
|
||||
@@ -261,27 +256,27 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
return getDefaultCompletionProvider();
|
||||
}
|
||||
switch (curToken.getType()) {
|
||||
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:
|
||||
case Token.IDENTIFIER:
|
||||
case Token.VARIABLE:
|
||||
case Token.PREPROCESSOR:
|
||||
case Token.DATA_TYPE:
|
||||
case Token.FUNCTION:
|
||||
case Token.OPERATOR:
|
||||
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:
|
||||
case Token.IDENTIFIER:
|
||||
case Token.VARIABLE:
|
||||
case Token.PREPROCESSOR:
|
||||
case Token.DATA_TYPE:
|
||||
case Token.FUNCTION:
|
||||
case Token.OPERATOR:
|
||||
return getDefaultCompletionProvider();
|
||||
}
|
||||
return null; // In a token type we can't auto-complete from.
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the completion provider to use for strings.
|
||||
*
|
||||
@@ -291,7 +286,7 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
public CompletionProvider getStringCompletionProvider() {
|
||||
return stringCompletionProvider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@@ -300,24 +295,22 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
CompletionProvider provider = getProviderFor(tc);
|
||||
return provider != null ? provider.isAutoActivateOkay(tc) : false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the comment completion provider.
|
||||
*
|
||||
* @param provider
|
||||
* The provider to use in comments.
|
||||
* @param provider The provider to use in comments.
|
||||
* @see #getCommentCompletionProvider()
|
||||
*/
|
||||
public void setCommentCompletionProvider(CompletionProvider provider) {
|
||||
this.commentCompletionProvider = provider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the default completion provider.
|
||||
*
|
||||
* @param provider
|
||||
* The provider to use when no provider is assigned to a
|
||||
* particular token type. This cannot be <code>null</code>.
|
||||
* @param provider The provider to use when no provider is assigned to a
|
||||
* particular token type. This cannot be <code>null</code>.
|
||||
* @see #getDefaultCompletionProvider()
|
||||
*/
|
||||
public void setDefaultCompletionProvider(CompletionProvider provider) {
|
||||
@@ -326,59 +319,53 @@ public class LanguageAwareCompletionProvider extends CompletionProviderBase impl
|
||||
}
|
||||
this.defaultProvider = provider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the documentation comment completion provider.
|
||||
*
|
||||
* @param provider
|
||||
* The provider to use in comments.
|
||||
* @param provider The provider to use in comments.
|
||||
* @see #getDocCommentCompletionProvider()
|
||||
*/
|
||||
public void setDocCommentCompletionProvider(CompletionProvider provider) {
|
||||
this.docCommentCompletionProvider = provider;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calling this method will result in an
|
||||
* {@link UnsupportedOperationException} being thrown. To set the
|
||||
* parameter completion parameters, do so on the provider returned by
|
||||
* {@link #getDefaultCompletionProvider()}.
|
||||
* Calling this method will result in an {@link UnsupportedOperationException}
|
||||
* being thrown. To set the parameter completion parameters, do so on the
|
||||
* provider returned by {@link #getDefaultCompletionProvider()}.
|
||||
*
|
||||
* @throws UnsupportedOperationException
|
||||
* Always.
|
||||
* @throws UnsupportedOperationException Always.
|
||||
* @see #clearParameterizedCompletionParams()
|
||||
*/
|
||||
@Override
|
||||
public void setParameterizedCompletionParams(char listStart, String separator, char listEnd) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Sets the completion provider to use while in a string.
|
||||
*
|
||||
* @param provider
|
||||
* The provider to use.
|
||||
* @param provider The provider to use.
|
||||
* @see #getStringCompletionProvider()
|
||||
*/
|
||||
public void setStringCompletionProvider(CompletionProvider provider) {
|
||||
stringCompletionProvider = 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:
|
||||
* 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.
|
||||
* @param textArea The text area.
|
||||
* @param e The mouse event.
|
||||
* @return The tool tip text, or <code>null</code> if none.
|
||||
*/
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user