use of org.eclipse.jface.text.templates.ContextTypeRegistry in project webtools.sourceediting by eclipse.
the class XPathTemplateCompletionProcessor method getContextType.
protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) {
TemplateContextType type = null;
ContextTypeRegistry registry = getTemplateContextRegistry();
if (registry != null) {
type = registry.getContextType(fContextTypeId);
}
return type;
}
use of org.eclipse.jface.text.templates.ContextTypeRegistry in project webtools.sourceediting by eclipse.
the class XMLTemplateCompletionProcessor method getContextType.
protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) {
TemplateContextType type = null;
ContextTypeRegistry registry = getTemplateContextRegistry();
if (registry != null) {
type = registry.getContextType(fContextTypeId);
}
return type;
}
use of org.eclipse.jface.text.templates.ContextTypeRegistry in project KaiZen-OpenAPI-Editor by RepreZen.
the class JsonContentAssistProcessor method getContextType.
@Override
protected TemplateContextType getContextType(ITextViewer viewer, IRegion region) {
Model model = null;
if (viewer.getDocument() instanceof JsonDocument) {
model = ((JsonDocument) viewer.getDocument()).getModel();
}
String contextType = getContextTypeId(model, currentPath.toString());
ContextTypeRegistry registry = getContextTypeRegistry();
if (registry != null) {
return registry.getContextType(contextType);
} else {
return null;
}
}
use of org.eclipse.jface.text.templates.ContextTypeRegistry in project xtext-eclipse by eclipse.
the class CodetemplatesProposalProvider method completeVariable_Type.
@Override
public void completeVariable_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
if ((mode & NORMAL) != 0) {
super.completeVariable_Name(model, assignment, context, acceptor);
TemplateData data = new TemplateData(model);
if (data.doCreateProposals()) {
ContextTypeIdHelper helper = languageRegistry.getContextTypeIdHelper(data.language);
if (helper != null) {
String contextTypeId = helper.getId(data.rule);
ContextTypeRegistry contextTypeRegistry = languageRegistry.getContextTypeRegistry(data.language);
TemplateContextType contextType = contextTypeRegistry.getContextType(contextTypeId);
if (contextType != null) {
Iterator<TemplateVariableResolver> resolvers = Iterators.filter(contextType.resolvers(), TemplateVariableResolver.class);
while (resolvers.hasNext()) {
TemplateVariableResolver resolver = resolvers.next();
String type = resolver.getType();
StyledString displayString = new StyledString(type).append(" - " + resolver.getDescription(), StyledString.QUALIFIER_STYLER);
acceptor.accept(createCompletionProposal(type, displayString, null, context));
}
}
}
}
}
}
use of org.eclipse.jface.text.templates.ContextTypeRegistry in project xtext-eclipse by eclipse.
the class CodetemplatesProposalProvider method completeNestedCrossReference.
public void completeNestedCrossReference(CrossReference crossReference, ContentAssistContext context, ICompletionProposalAcceptor acceptor, TemplateData data) {
if (data.doCreateProposals()) {
ContextTypeIdHelper helper = languageRegistry.getContextTypeIdHelper(data.language);
if (helper != null) {
String contextTypeId = helper.getId(data.rule);
ContextTypeRegistry contextTypeRegistry = languageRegistry.getContextTypeRegistry(data.language);
TemplateContextType contextType = contextTypeRegistry.getContextType(contextTypeId);
TemplateVariableResolver crossRefResolver = getResolver(contextType, "CrossReference");
if (crossRefResolver != null) {
Assignment assignment = (Assignment) crossReference.eContainer();
EReference reference = GrammarUtil.getReference(crossReference);
if (reference != null) {
String proposalText = "${" + assignment.getFeature() + ":CrossReference(" + reference.getEContainingClass().getName() + "." + reference.getName() + ")}";
StyledString displayText = new StyledString("${", StyledString.DECORATIONS_STYLER).append(assignment.getFeature()).append(":CrossReference(", StyledString.DECORATIONS_STYLER).append(reference.getEContainingClass().getName() + "." + reference.getName(), StyledString.COUNTER_STYLER).append(")}", StyledString.DECORATIONS_STYLER).append(" - Create a new template variable", StyledString.QUALIFIER_STYLER);
ICompletionProposal proposal = createCompletionProposal(proposalText, displayText, null, context);
if (proposal instanceof ConfigurableCompletionProposal) {
ConfigurableCompletionProposal configurable = (ConfigurableCompletionProposal) proposal;
configurable.setSelectionStart(configurable.getReplacementOffset() + 2);
configurable.setSelectionLength(assignment.getFeature().length());
configurable.setAutoInsertable(false);
configurable.setSimpleLinkedMode(context.getViewer(), '\t');
configurable.setPriority(configurable.getPriority() * 2);
}
acceptor.accept(proposal);
}
}
}
}
}
Aggregations