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 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 specifiedParameterizedCompletion.Parameter
.int
getParamCount()
Returns the number of parameters this completion takes.String
getReplacementText()
Returnsnull
; template completions insert all of their text viagetInsertionInfo()
.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.void
setShortDescription(String shortDesc)
Sets the short description of this template completion.String
toString()
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:AbstractCompletion
Returns the text the user has to (start) typing for this completion to be offered. The default implementation simply returnsCompletion.getReplacementText()
.- Specified by:
getInputText
in interfaceCompletion
- Overrides:
getInputText
in 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:
getReplacementText
in interfaceCompletion
- Returns:
null
always.- See Also:
Completion.getInputText()
-
getSummary
public String getSummary()
Description copied from interface:Completion
Returns the description of this auto-complete choice. This can be used in a popup "description window."- Specified by:
getSummary
in interfaceCompletion
- Returns:
- This item's description. This should be HTML. It may be
null
if there is no description for this completion.
-
getDefinitionString
public String getDefinitionString()
Description copied from interface:ParameterizedCompletion
Returns the "definition string" for this completion. For example, for the C "printf
" function, this would return "int printf(const char *, ...)
".- Specified by:
getDefinitionString
in 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:
getShowParameterToolTip
in interfaceParameterizedCompletion
- Returns:
- Whether the tool tip is appropriate to display.
-
getInsertionInfo
public org.fife.ui.autocomplete.ParameterizedCompletionInsertionInfo getInsertionInfo(JTextComponent tc, boolean replaceTabsWithSpaces)
- Specified by:
getInsertionInfo
in interfaceParameterizedCompletion
-
getParam
public ParameterizedCompletion.Parameter getParam(int index)
Returns the specifiedParameterizedCompletion.Parameter
.- Specified by:
getParam
in 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:
getParamCount
in 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:AbstractCompletion
Returns a string representation of this completion. The default implementation returnsAbstractCompletion.getInputText()
.- Overrides:
toString
in classAbstractCompletion
- Returns:
- A string representation of this completion.
-
-