List of usage examples for org.eclipse.jdt.core CompletionProposal setReplaceRange
public void setReplaceRange(int startIndex, int endIndex)
From source file:de.ovgu.featureide.ui.editors.Completion.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext arg0, IProgressMonitor arg1) {//from w w w .j ava 2s. c o m final IFile file = ((IFileEditorInput) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor().getEditorInput()).getFile(); final IFeatureProject featureProject = CorePlugin.getFeatureProject(file); final ArrayList<ICompletionProposal> list = new ArrayList<ICompletionProposal>(); if (featureProject == null) return list; String featureName = featureProject.getFeatureName(file); JavaContentAssistInvocationContext context = (JavaContentAssistInvocationContext) arg0; String prefix = new String(context.getCoreContext().getToken()); // projectStructure = MPLPlugin.getDefault().extendedModules_getStruct(featureProject, featureName); // if (projectStructure == null) { // return list; // } // List<CompletionProposal> l = MPLPlugin.getDefault().extendedModules(projectStructure); List<CompletionProposal> l = MPLPlugin.getDefault().extendedModules_getCompl(featureProject, featureName); for (CompletionProposal curProp : l) { curProp.setReplaceRange(context.getInvocationOffset() - context.getCoreContext().getToken().length, context.getInvocationOffset()); if (curProp.getKind() == CompletionProposal.TYPE_REF) { LazyJavaCompletionProposal prsss = new LazyJavaCompletionProposal(curProp, context); prsss.setStyledDisplayString(new StyledString(new String(curProp.getCompletion()))); prsss.setReplacementString(new String(curProp.getCompletion())); if (prefix.length() >= 0 && new String(curProp.getCompletion()).startsWith(prefix)) { list.add(prsss); } } else if (curProp.getKind() == CompletionProposal.METHOD_REF) { LazyJavaCompletionProposal meth = new LazyJavaCompletionProposal(curProp, context); String displayString = new String(curProp.getCompletion()); displayString = displayString.concat("("); int paramNr = Signature.getParameterCount(curProp.getSignature()); for (int i = 0; i < paramNr; i++) { displayString = displayString .concat(Signature.getParameterTypes(curProp.getSignature()) + " arg" + i); if (i + 1 < paramNr) { displayString = displayString.concat(", "); } } displayString = displayString.concat(") : "); // displayString = displayString.concat(new // String(Signature.getReturnType(curProp.getSignature()))); StyledString methString = new StyledString(displayString); Styler styler = StyledString.createColorRegistryStyler(JFacePreferences.DECORATIONS_COLOR, JFacePreferences.CONTENT_ASSIST_BACKGROUND_COLOR); // TextStyle style = new // TextStyle(JFaceResources.getDefaultFont(),JFaceResources.getResources().createColor(new // RGB(10, 10, // 10)),JFaceResources.getResources().createColor(new // RGB(0,0,0))); // styler.applyStyles(style); StyledString infoString = new StyledString( new String(" - " + new String(curProp.getName()) + " " + featureName), styler); methString.append(infoString); meth.setStyledDisplayString(methString); meth.setReplacementString(new String(curProp.getCompletion())); if (prefix.length() >= 0 && new String(curProp.getCompletion()).startsWith(prefix)) { list.add(meth); } } else if (curProp.getKind() == CompletionProposal.FIELD_REF) { LazyJavaCompletionProposal field = new LazyJavaCompletionProposal(curProp, context); StyledString fieldString = new StyledString(new String(curProp.getCompletion())); Styler styler = StyledString.createColorRegistryStyler(JFacePreferences.DECORATIONS_COLOR, JFacePreferences.CONTENT_ASSIST_BACKGROUND_COLOR); StyledString infoString = new StyledString( new String(" - " + new String(curProp.getName()) + " " + featureName), styler); fieldString.append(infoString); field.setStyledDisplayString(fieldString); field.setReplacementString(new String(curProp.getCompletion())); if (prefix.length() > 0 && new String(curProp.getCompletion()).startsWith(prefix)) { list.add(field); } } } return list; }
From source file:org.bonitasoft.studio.contract.ui.property.constraint.edit.editor.contentassist.ContractInputProposalsCodeVisitorSupport.java
License:Open Source License
private ICompletionProposal createProposalFor(final ContentAssistInvocationContext context, final CharSequence prefix, final ContractInput input) { final String name = input.getName(); final CompletionProposal proposal = CompletionProposal.create(CompletionProposal.FIELD_REF, context.getInvocationOffset()); proposal.setCompletion(name.substring(prefix.length()).toCharArray()); proposal.setName(name.toCharArray()); proposal.setFlags(Flags.AccPublic);/* www . j a v a2 s.com*/ proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset()); final String completion = String.valueOf(proposal.getCompletion()); final int start = proposal.getReplaceStart(); final int end = proposal.getReplaceEnd(); final int length = end - start; final ContractInputLabelProvider labelProvider = new ContractInputLabelProvider(); final Image image = labelProvider.getImage(input); return new JavaCompletionProposal(completion, start, length, image, labelProvider.getStyledString(input), 100, false); }
From source file:org.bonitasoft.studio.groovy.ui.contentassist.VariablesCompletionProposalProvider.java
License:Open Source License
private JavaCompletionProposal getProposalFor(final ContentAssistInvocationContext context, final CompletionProposalLabelProvider fLabelProvider, final CharSequence prefix, final String name, final String typeName) { final CompletionProposal proposal = CompletionProposal.create(CompletionProposal.FIELD_REF, context.getInvocationOffset()); proposal.setCompletion(name.substring(prefix.length()).toCharArray()); proposal.setName(name.toCharArray()); proposal.setFlags(Flags.AccPublic);/* w ww . j a v a 2 s .c om*/ proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset()); // Class type = BonitaSyntaxHighlighting.getTypeForKeyWord(keyWord) ; if (typeName != null) { proposal.setSignature(Signature.createTypeSignature(typeName, true).toCharArray()); } String completion = String.valueOf(proposal.getCompletion()); int start = proposal.getReplaceStart(); int end = proposal.getReplaceEnd(); int length = end - start; StyledString label = fLabelProvider.createStyledLabel(proposal); final Image image = JavaPlugin.getImageDescriptorRegistry() .get(fLabelProvider.createImageDescriptor(proposal)); return new JavaCompletionProposal(completion, start, length, image, label, 100, false); // final CompletionProposal proposal = CompletionProposal.create(CompletionProposal.FIELD_REF, context.getInvocationOffset()); // proposal.setCompletion(name.toCharArray()); // proposal.setName(name.toCharArray()); // proposal.setFlags(Flags.AccPublic); // proposal.setReplaceRange(context.getInvocationOffset() - prefix.length(), context.getInvocationOffset() + name.length() - prefix.length()); // if (typeName != null) { // proposal.setSignature(Signature.createTypeSignature(typeName, true).toCharArray()); // } // final String completion = String.valueOf(proposal.getCompletion()); // final int start = proposal.getReplaceStart(); // final int end = proposal.getReplaceEnd(); // final int length = end - start; // // final StyledString label = fLabelProvider.createStyledLabel(proposal); // // final BonitaConstantsCompletionProposal javaProposal = new BonitaConstantsCompletionProposal( // ((JavaContentAssistInvocationContext) context).getCompilationUnit(), completion, start, length, image, label, 1000, false, // (JavaContentAssistInvocationContext) context); // return javaProposal; }
From source file:org.bonitasoft.studio.groovy.ui.contentassist.VariablesTypeCompletionProposal.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(final ContentAssistInvocationContext context, final IProgressMonitor monitor) { final List<ICompletionProposal> list = new ArrayList<ICompletionProposal>(); if (context instanceof JavaContentAssistInvocationContext) { final ICompilationUnit unit = ((JavaContentAssistInvocationContext) context).getCompilationUnit(); if (unit instanceof GroovyCompilationUnit) { final ITextViewer viewer = context.getViewer(); final List<ScriptVariable> nodes = (List<ScriptVariable>) viewer.getTextWidget() .getData(GroovyViewer.PROCESS_VARIABLES_DATA_KEY); final List<String> keyWords = (List<String>) viewer.getTextWidget() .getData(GroovyViewer.BONITA_KEYWORDS_DATA_KEY); if (((GroovyCompilationUnit) unit).getModuleNode() == null) { return Collections.emptyList(); }/*from ww w. ja v a 2s . co m*/ final ContentAssistContext assistContext = new GroovyCompletionProposalComputer() .createContentAssistContext((GroovyCompilationUnit) unit, context.getInvocationOffset(), context.getDocument()); CharSequence prefix = null; try { prefix = context.computeIdentifierPrefix(); } catch (final BadLocationException e) { BonitaStudioLog.error(e); } if (assistContext != null && assistContext.completionNode instanceof VariableExpression) { try { final VariableExpression expr = (VariableExpression) assistContext.completionNode; if (nodes != null) { for (final ScriptVariable f : nodes) { if (expr.getName().equals(f.getName())) { final IType type = javaProject.findType(f.getType()); for (final IMethod m : type.getMethods()) { if (m.getElementName().startsWith(prefix.toString())) { final CompletionProposal proposal = CompletionProposal.create( CompletionProposal.METHOD_REF, context.getInvocationOffset()); proposal.setName(m.getElementName().toCharArray()); proposal.setCompletion( m.getElementName().substring(prefix.length()).toCharArray()); proposal.setFlags(m.getFlags()); if (prefix.length() == m.getElementName().length()) { proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset()); proposal.setReceiverRange(0, 0); } else { proposal.setReplaceRange( context.getInvocationOffset() - prefix.length(), context.getInvocationOffset()); proposal.setReceiverRange(prefix.length(), prefix.length()); } final char[][] parameters = new char[m.getParameterNames().length][256]; for (int i = 0; i < m.getParameterNames().length; i++) { parameters[i] = m.getParameterNames()[i].toCharArray(); } proposal.setParameterNames(parameters); proposal.setDeclarationSignature( Signature .createTypeSignature( m.getDeclaringType().getElementName(), true) .toCharArray()); proposal.setSignature(Signature .createMethodSignature(m.getParameterTypes(), m.getReturnType()) .toCharArray()); list.add(new JavaMethodCompletionProposal(proposal, (JavaContentAssistInvocationContext) context)); } } } } } if (keyWords != null) { for (final String keyWord : keyWords) { if (expr.getName().equals(keyWord)) { final IType type = javaProject.findType( BonitaSyntaxHighlighting.getTypeForKeyWord(keyWord).getName()); for (final IMethod m : type.getMethods()) { if (m.getElementName().startsWith(prefix.toString())) { final CompletionProposal proposal = CompletionProposal.create( CompletionProposal.METHOD_REF, context.getInvocationOffset()); proposal.setName(m.getElementName().toCharArray()); proposal.setCompletion( m.getElementName().substring(prefix.length()).toCharArray()); proposal.setFlags(m.getFlags()); proposal.getCompletion(); if (prefix.length() == m.getElementName().length()) { proposal.setReplaceRange(context.getInvocationOffset(), context.getInvocationOffset()); proposal.setReceiverRange(0, 0); } else { proposal.setReplaceRange( context.getInvocationOffset() - prefix.length(), context.getInvocationOffset()); proposal.setReceiverRange(prefix.length(), prefix.length()); } final char[][] parameters = new char[m.getParameterNames().length][256]; for (int i = 0; i < m.getParameterNames().length; i++) { parameters[i] = m.getParameterNames()[i].toCharArray(); } proposal.setParameterNames(parameters); proposal.setDeclarationSignature( Signature .createTypeSignature( m.getDeclaringType().getElementName(), true) .toCharArray()); proposal.setSignature(Signature .createMethodSignature(m.getParameterTypes(), m.getReturnType()) .toCharArray()); list.add(new JavaMethodCompletionProposal(proposal, (JavaContentAssistInvocationContext) context)); } } } } } } catch (final JavaModelException e) { BonitaStudioLog.error(e); } } } return list; } return Collections.emptyList(); }
From source file:org.codehaus.groovy.eclipse.codeassist.processors.LocalVariableCompletionProcessor.java
License:Apache License
/** * @param offset//from ww w . j a v a 2 s . c om * @param replaceLength * @param context * @param proposals * @param nameType */ private ICompletionProposal createProposal(String replaceName, ClassNode type) { CompletionProposal proposal = CompletionProposal.create(CompletionProposal.LOCAL_VARIABLE_REF, offset); proposal.setCompletion(replaceName.toCharArray()); proposal.setReplaceRange(offset - replaceLength, getContext().completionEnd); proposal.setSignature(ProposalUtils.createTypeSignature(type)); proposal.setRelevance(Relevance.HIGH.getRelavance()); LazyJavaCompletionProposal completion = new LazyJavaCompletionProposal(proposal, javaContext); completion.setRelevance(proposal.getRelevance()); return completion; }
From source file:org.eclipse.ajdt.internal.core.contentassist.ProposalRequestorWrapper.java
License:Open Source License
private void translateReplaceRange(CompletionProposal proposal) { int s = proposal.getReplaceStart(); int e = proposal.getReplaceEnd(); proposal.setReplaceRange(trans(s), trans(e)); /* AJDT 1.7 */ // translate all proposals contained in this one if (proposal instanceof InternalCompletionProposal) { InternalCompletionProposal internalProposal = (InternalCompletionProposal) proposal; if (internalProposal.getRequiredProposals() != null) { for (int i = 0; i < internalProposal.getRequiredProposals().length; i++) { translateReplaceRange(internalProposal.getRequiredProposals()[i]); }//from w w w . j a v a 2 s . c o m } } }
From source file:org.eclipse.recommenders.internal.completion.rcp.AccessibleCompletionProposals.java
License:Open Source License
public static AccessibleCompletionProposal newQualifiedFieldRef(IFieldName field, int completionOffset, int prefixLength, int relevance) { String declaringType = field.getDeclaringType().getClassName(); String fieldName = field.getFieldName(); String completion = declaringType + "." + fieldName; char[] signature = (field.getDeclaringType().getIdentifier().replace('/', '.') + ";").toCharArray(); CompletionProposal fieldRef = new AccessibleCompletionProposal(FIELD_REF, 0); fieldRef.setDeclarationSignature(signature); fieldRef.setName(fieldName.toCharArray()); fieldRef.setReplaceRange(completionOffset - prefixLength, completionOffset); fieldRef.setRequiredProposals(new CompletionProposal[] { newTypeImport(field.getDeclaringType()) }); AccessibleCompletionProposal res = new AccessibleCompletionProposal(TYPE_IMPORT, completionOffset); res.setCompletion(completion.toCharArray()); res.setSignature(signature);/*from www .java2 s. c om*/ res.setRelevance(relevance); return res; }
From source file:org.springframework.ide.eclipse.quickfix.jdt.computers.RequestMappingParamTypeProposalComputer.java
License:Open Source License
private List<ICompletionProposal> getProposals(MethodDeclaration methodDecl, String filter, int offset, ASTNode toBeRemoved, JavaContentAssistInvocationContext context) { List<ICompletionProposal> proposals = new ArrayList<ICompletionProposal>(); for (Class<?> paramType : PARAM_TYPE_CLASSES) { if (paramType.getSimpleName().toLowerCase().startsWith(filter.toLowerCase())) { // proposals // .add(new // RequestMappingParamTypeCompletionProposal(methodDecl, // paramType, toBeRemoved, context)); CompletionProposal proposal = CompletionProposal.create(CompletionProposal.TYPE_REF, context.getInvocationOffset()); proposal.setCompletion(paramType.getCanonicalName().toCharArray()); proposal.setDeclarationSignature(paramType.getPackage().getName().toCharArray()); proposal.setFlags(paramType.getModifiers()); proposal.setRelevance(Integer.MAX_VALUE); proposal.setReplaceRange(context.getInvocationOffset() - filter.length(), context.getInvocationOffset()); proposal.setSignature(//from w w w . j ava2 s. com Signature.createTypeSignature(paramType.getCanonicalName(), true).toCharArray()); LazyJavaTypeCompletionProposal typeProposal = new LazyJavaTypeCompletionProposal(proposal, context); typeProposal.setRelevance(Integer.MAX_VALUE); proposals.add(typeProposal); } } return proposals; }
From source file:org.springsource.ide.eclipse.commons.completions.externaltype.ExternalTypesProposalComputer.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext _context, IProgressMonitor monitor) {/*from ww w . ja v a 2s. c om*/ if (_context instanceof JavaContentAssistInvocationContext) { final JavaContentAssistInvocationContext context = (JavaContentAssistInvocationContext) _context; try { final String idPrefix = context.computeIdentifierPrefix().toString(); //System.out.println("IdPrefix = "+idPrefix); //Only compute proposals if we actually have something to look for. This avoids adding our suggestions // for completions like 'foo.^". if (idPrefix != null && !"".equals(idPrefix)) { final ArrayList<ICompletionProposal> completions = new ArrayList<ICompletionProposal>(); final ExternalTypeIndexer index = ExternalTypeIndexManager.indexFor(context.getProject()); index.getByPrefix(idPrefix, new Requestor<ExternalType>() { public boolean receive(ExternalType type) { //TODO: limit number of results. If there's too many user can't look // at all of them anyway. try { if (type.getName().startsWith(idPrefix)) { IJavaProject project = context.getProject(); if (project.findType(type.getFullyQualifiedName()) == null) { CompletionProposal proposal = CompletionProposal .create(CompletionProposal.TYPE_REF, context.getInvocationOffset()); proposal.setCompletion(type.getFullyQualifiedName().toCharArray()); proposal.setDeclarationSignature(type.getPackage().toCharArray()); proposal.setFlags(Flags.AccPublic); //TODO: This is some kind of bit mask and it should be derived from the type information. //proposal.setRelevance(relevance); proposal.setReplaceRange(context.getInvocationOffset() - idPrefix.length(), context.getInvocationOffset()); proposal.setSignature( Signature.createTypeSignature(type.getFullyQualifiedName(), true) .toCharArray()); completions.add( new ExternalTypeCompletionProposal(proposal, context, type, index)); } } } catch (Exception e) { CompletionsActivator.log(e); } return true; } }); return completions; } } catch (Exception e) { CompletionsActivator.log(e); } } return NO_PROPOSALS; }