import org.eclipse.jface.text.templates.TemplateContextType;
import org.eclipse.jface.text.templates.TemplateVariableResolver;
+public class TemplateVariableProcessor implements IContentAssistProcessor {
-
-public class TemplateVariableProcessor implements IContentAssistProcessor {
-
- private static Comparator fgTemplateVariableProposalComparator= new Comparator() {
+ private static Comparator fgTemplateVariableProposalComparator = new Comparator() {
public int compare(Object arg0, Object arg1) {
- TemplateVariableProposal proposal0= (TemplateVariableProposal) arg0;
- TemplateVariableProposal proposal1= (TemplateVariableProposal) arg1;
-
- return proposal0.getDisplayString().compareTo(proposal1.getDisplayString());
+ TemplateVariableProposal proposal0 = (TemplateVariableProposal) arg0;
+ TemplateVariableProposal proposal1 = (TemplateVariableProposal) arg1;
+
+ return proposal0.getDisplayString().compareTo(
+ proposal1.getDisplayString());
}
public boolean equals(Object arg0) {
}
};
-
/** the context type */
private TemplateContextType fContextType;
-
+
/**
* Sets the context type.
*/
public void setContextType(TemplateContextType contextType) {
- fContextType= contextType;
+ fContextType = contextType;
}
-
+
/**
* Gets the context type.
*/
public TemplateContextType getContextType() {
- return fContextType;
- }
-
+ return fContextType;
+ }
+
/*
* @see IContentAssistProcessor#computeCompletionProposals(ITextViewer, int)
*/
- public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int documentOffset) {
+ public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer,
+ int documentOffset) {
if (fContextType == null)
return null;
- List proposals= new ArrayList();
-
- String text= viewer.getDocument().get();
- int start= getStart(text, documentOffset);
- int end= documentOffset;
+ List proposals = new ArrayList();
+
+ String text = viewer.getDocument().get();
+ int start = getStart(text, documentOffset);
+ int end = documentOffset;
- String string= text.substring(start, end);
- String prefix= (string.length() >= 2)
- ? string.substring(2)
- : null;
+ String string = text.substring(start, end);
+ String prefix = (string.length() >= 2) ? string.substring(2) : null;
- int offset= start;
- int length= end - start;
+ int offset = start;
+ int length = end - start;
- for (Iterator iterator= fContextType.resolvers(); iterator.hasNext(); ) {
- TemplateVariableResolver variable= (TemplateVariableResolver) iterator.next();
+ for (Iterator iterator = fContextType.resolvers(); iterator.hasNext();) {
+ TemplateVariableResolver variable = (TemplateVariableResolver) iterator
+ .next();
if (prefix == null || variable.getType().startsWith(prefix))
- proposals.add(new TemplateVariableProposal(variable, offset, length, viewer));
+ proposals.add(new TemplateVariableProposal(variable, offset,
+ length, viewer));
}
Collections.sort(proposals, fgTemplateVariableProposalComparator);
- return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]);
+ return (ICompletionProposal[]) proposals
+ .toArray(new ICompletionProposal[proposals.size()]);
}
/* Guesses the start position of the completion */
private int getStart(String string, int end) {
- int start= end;
+ int start = end;
if (start >= 1 && string.charAt(start - 1) == '$')
return start - 1;
-
- while ((start != 0) && Character.isUnicodeIdentifierPart(string.charAt(start - 1)))
+
+ while ((start != 0)
+ && Character.isUnicodeIdentifierPart(string.charAt(start - 1)))
start--;
- if (start >= 2 && string.charAt(start - 1) == '{' && string.charAt(start - 2) == '$')
+ if (start >= 2 && string.charAt(start - 1) == '{'
+ && string.charAt(start - 2) == '$')
return start - 2;
-
+
return end;
}
/*
* @see IContentAssistProcessor#computeContextInformation(ITextViewer, int)
*/
- public IContextInformation[] computeContextInformation(ITextViewer viewer, int documentOffset) {
+ public IContextInformation[] computeContextInformation(ITextViewer viewer,
+ int documentOffset) {
return null;
}
* @see IContentAssistProcessor#getCompletionProposalAutoActivationCharacters()
*/
public char[] getCompletionProposalAutoActivationCharacters() {
- return new char[] {'$'};
+ return new char[] { '$' };
}
/*
}
}
-