Package org.fife.ui.autocomplete
Class TemplateCompletion
- java.lang.Object
-
- org.fife.ui.autocomplete.AbstractCompletion
-
- org.fife.ui.autocomplete.TemplateCompletion
-
- All Implemented Interfaces:
Comparable<Completion>,Completion,ParameterizedCompletion
public class TemplateCompletion extends AbstractCompletion implements ParameterizedCompletion
A completion made up of a template with arbitrary parameters that the user can tab through and fill in. This completion type is useful for inserting common boilerplate code, such as for-loops.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.- Version:
- 1.0
- Author:
- Robert Futrell
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.fife.ui.autocomplete.ParameterizedCompletion
ParameterizedCompletion.Parameter
-
-
Constructor Summary
Constructors Constructor Description TemplateCompletion(CompletionProvider provider, String inputText, String definitionString, String template)TemplateCompletion(CompletionProvider provider, String inputText, String definitionString, String template, String shortDescription, String summary)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetDefinitionString()Returns the "definition string" for this completion.StringgetInputText()Returns the text the user has to (start) typing for this completion to be offered.org.fife.ui.autocomplete.ParameterizedCompletionInsertionInfogetInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces)ParameterizedCompletion.ParametergetParam(int index)Returns the specifiedParameterizedCompletion.Parameter.intgetParamCount()Returns the number of parameters this completion takes.StringgetReplacementText()Returnsnull; template completions insert all of their text viagetInsertionInfo().StringgetShortDescription()booleangetShowParameterToolTip()Returns whether a tool tip displaying assistance for each parameter while it is being edited is appropriate for this completion.StringgetSummary()Returns the description of this auto-complete choice.voidsetShortDescription(String shortDesc)Sets the short description of this template completion.StringtoString()Returns a string representation of this completion.-
Methods inherited from class org.fife.ui.autocomplete.AbstractCompletion
compareTo, getAlreadyEntered, getIcon, getProvider, getRelevance, getToolTipText, setIcon, setRelevance
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.fife.ui.autocomplete.Completion
compareTo, getAlreadyEntered, getIcon, getProvider, getRelevance, getToolTipText
-
-
-
-
Constructor Detail
-
TemplateCompletion
public TemplateCompletion(CompletionProvider provider, String inputText, String definitionString, String template)
-
-
Method Detail
-
getInputText
public String getInputText()
Description copied from class:AbstractCompletionReturns the text the user has to (start) typing for this completion to be offered. The default implementation simply returnsCompletion.getReplacementText().- Specified by:
getInputTextin interfaceCompletion- Overrides:
getInputTextin classAbstractCompletion- Returns:
- The text the user has to (start) typing for this completion.
- See Also:
Completion.getReplacementText()
-
getReplacementText
public String getReplacementText()
Returnsnull; template completions insert all of their text viagetInsertionInfo().- Specified by:
getReplacementTextin interfaceCompletion- Returns:
nullalways.- See Also:
Completion.getInputText()
-
getSummary
public String getSummary()
Description copied from interface:CompletionReturns the description of this auto-complete choice. This can be used in a popup "description window."- Specified by:
getSummaryin interfaceCompletion- Returns:
- This item's description. This should be HTML. It may be
nullif there is no description for this completion.
-
getDefinitionString
public String getDefinitionString()
Description copied from interface:ParameterizedCompletionReturns the "definition string" for this completion. For example, for the C "printf" function, this would return "int printf(const char *, ...)".- Specified by:
getDefinitionStringin interfaceParameterizedCompletion- Returns:
- The definition string.
-
getShortDescription
public String getShortDescription()
-
getShowParameterToolTip
public boolean getShowParameterToolTip()
Returns whether a tool tip displaying assistance for each parameter while it is being edited is appropriate for this completion.- Specified by:
getShowParameterToolTipin interfaceParameterizedCompletion- Returns:
- Whether the tool tip is appropriate to display.
-
getInsertionInfo
public org.fife.ui.autocomplete.ParameterizedCompletionInsertionInfo getInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces)
- Specified by:
getInsertionInfoin interfaceParameterizedCompletion
-
getParam
public ParameterizedCompletion.Parameter getParam(int index)
Returns the specifiedParameterizedCompletion.Parameter.- Specified by:
getParamin interfaceParameterizedCompletion- Parameters:
index- The index of the parameter to retrieve.- Returns:
- The parameter.
- See Also:
ParameterizedCompletion.getParamCount()
-
getParamCount
public int getParamCount()
Returns the number of parameters this completion takes.- Specified by:
getParamCountin interfaceParameterizedCompletion- Returns:
- The number of parameters this completion takes.
- See Also:
ParameterizedCompletion.getParam(int)
-
setShortDescription
public void setShortDescription(String shortDesc)
Sets the short description of this template completion.- Parameters:
shortDesc- The new short description.- See Also:
getShortDescription()
-
toString
public String toString()
Description copied from class:AbstractCompletionReturns a string representation of this completion. The default implementation returnsAbstractCompletion.getInputText().- Overrides:
toStringin classAbstractCompletion- Returns:
- A string representation of this completion.
-
-