public class TemplateCompletion extends AbstractCompletion implements ParameterizedCompletion
The format of a template is similar to those in Eclipse. The following example would be the format for a for-loop template:
for (int ${i} = 0; ${i} < ${array}.length; ${i}++) { ${cursor} }In the above example, the first
${i}
is a parameter for the
user to type into; all the other ${i}
instances are
automatically changed to what the user types in the first one. The parameter
named ${cursor}
is the "ending position" of the template. It's
where the caret moves after it cycles through all other parameters. If the
user types into it, template mode terminates. If more than one
${cursor}
parameter is specified, behavior is undefined.
Two dollar signs in a row ("$$
") will be evaluated as a single
dollar sign. Otherwise, the template parsing is pretty straightforward and
fault-tolerant.
Leading whitespace is automatically added to lines if the template spans
more than one line, and if used with a text component using a
PlainDocument
, tabs will be converted to spaces if requested.
ParameterizedCompletion.Parameter
Constructor and Description |
---|
TemplateCompletion(CompletionProvider provider,
String inputText,
String definitionString,
String template) |
TemplateCompletion(CompletionProvider provider,
String inputText,
String definitionString,
String template,
String shortDescription,
String summary) |
Modifier and Type | Method and Description |
---|---|
String |
getDefinitionString()
Returns the "definition string" for this completion.
|
String |
getInputText()
Returns the text the user has to (start) typing for this completion
to be offered.
|
org.fife.ui.autocomplete.ParameterizedCompletionInsertionInfo |
getInsertionInfo(JTextComponent tc,
boolean replaceTabsWithSpaces) |
ParameterizedCompletion.Parameter |
getParam(int index)
Returns the specified
ParameterizedCompletion.Parameter . |
int |
getParamCount()
Returns the number of parameters this completion takes.
|
String |
getReplacementText()
Returns
null ; template completions insert all of their
text via getInsertionInfo() . |
String |
getShortDescription() |
boolean |
getShowParameterToolTip()
Returns whether a tool tip displaying assistance for each parameter
while it is being edited is appropriate for this completion.
|
String |
getSummary()
Returns the description of this auto-complete choice.
|
String |
toString()
Returns a string representation of this completion.
|
compareTo, getAlreadyEntered, getIcon, getProvider, getRelevance, getToolTipText, setRelevance
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
compareTo, getAlreadyEntered, getIcon, getProvider, getRelevance, getToolTipText
public TemplateCompletion(CompletionProvider provider, String inputText, String definitionString, String template)
public String getInputText()
AbstractCompletion
Completion.getReplacementText()
.getInputText
in interface Completion
getInputText
in class AbstractCompletion
Completion.getReplacementText()
public String getReplacementText()
null
; template completions insert all of their
text via getInsertionInfo()
.getReplacementText
in interface Completion
null
always.Completion.getInputText()
public String getSummary()
Completion
getSummary
in interface Completion
null
if there is no description for this
completion.public String getDefinitionString()
ParameterizedCompletion
printf
" function, this would return
"int printf(const char *, ...)
".getDefinitionString
in interface ParameterizedCompletion
public String getShortDescription()
public boolean getShowParameterToolTip()
getShowParameterToolTip
in interface ParameterizedCompletion
public org.fife.ui.autocomplete.ParameterizedCompletionInsertionInfo getInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces)
getInsertionInfo
in interface ParameterizedCompletion
public ParameterizedCompletion.Parameter getParam(int index)
ParameterizedCompletion.Parameter
.getParam
in interface ParameterizedCompletion
index
- The index of the parameter to retrieve.ParameterizedCompletion.getParamCount()
public int getParamCount()
getParamCount
in interface ParameterizedCompletion
ParameterizedCompletion.getParam(int)
public String toString()
AbstractCompletion
AbstractCompletion.getInputText()
.toString
in class AbstractCompletion