List of usage examples for org.eclipse.jdt.core CompletionProposal getCompletion
public char[] getCompletion()
From source file:at.bestsolution.javafx.ide.jdt.internal.JavaEditor.java
License:Open Source License
@Inject public JavaEditor(BorderPane pane, IEditorInput input) { editor = new SourceEditor(); pane.setCenter(editor);/* w w w . j av a 2 s . co m*/ IResourceFileInput fsInput = (IResourceFileInput) input; try { unit = ((ICompilationUnit) JavaCore.create(fsInput.getFile())) .getWorkingCopy(new FXWorkingCopyOwner(new IProblemRequestor() { private List<ProblemMarker> l = new ArrayList<>(); @Override public boolean isActive() { // TODO Auto-generated method stub return true; } @Override public void endReporting() { setMarkers(l); } @Override public void beginReporting() { l.clear(); } @Override public void acceptProblem(IProblem problem) { int linenumber = problem.getSourceLineNumber(); int startCol = problem.getSourceStart(); int endCol = problem.getSourceEnd(); if (endCol == startCol) { endCol++; } String description = problem.getMessage(); ProblemMarker marker = new ProblemMarker( problem.isError() ? at.bestsolution.javafx.ide.editor.ProblemMarker.Type.ERROR : at.bestsolution.javafx.ide.editor.ProblemMarker.Type.WARNING, linenumber, startCol, endCol, description); l.add(marker); } }), new NullProgressMonitor()); } catch (JavaModelException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } final Document doc = createDocument(unit); editor.setDocument(doc); editor.setContentProposalComputer(new ContentProposalComputer() { @Override public List<Proposal> computeProposals(String line, String prefix, int offset) { final List<Proposal> l = new ArrayList<ContentProposalComputer.Proposal>(); try { unit.codeComplete(offset, new CompletionRequestor() { @Override public void accept(CompletionProposal proposal) { String completion = new String(proposal.getCompletion()); if (!Flags.isPublic(proposal.getFlags())) { return; } if (proposal.getKind() == CompletionProposal.METHOD_REF) { String sig = Signature.toString(new String(proposal.getSignature()), new String(proposal.getName()), null, false, false); StyledString s = new StyledString(sig + " : " + Signature.getSimpleName(Signature .toString(Signature.getReturnType(new String(proposal.getSignature()))))); s.appendString( " - " + Signature.getSignatureSimpleName( new String(proposal.getDeclarationSignature())), Style.colored("#AAAAAA")); l.add(new Proposal(Type.METHOD, completion, s)); } else if (proposal.getKind() == CompletionProposal.FIELD_REF) { StyledString s = new StyledString( completion + " : " + (proposal.getSignature() != null ? Signature.getSignatureSimpleName( new String(proposal.getSignature())) : "<unknown>")); s.appendString( " - " + (proposal.getDeclarationSignature() != null ? Signature.getSignatureSimpleName( new String(proposal.getDeclarationSignature())) : "<unknown>"), Style.colored("#AAAAAA")); l.add(new Proposal(Type.FIELD, completion, s)); } else if (proposal.getKind() == CompletionProposal.TYPE_REF) { if (proposal.getAccessibility() == IAccessRule.K_NON_ACCESSIBLE) { return; } StyledString s = new StyledString( Signature.getSignatureSimpleName(new String(proposal.getSignature()))); s.appendString(" - " + new String(proposal.getDeclarationSignature()), Style.colored("#AAAAAA")); l.add(new Proposal(Type.TYPE, new String(proposal.getCompletion()), s)); } else { System.err.println(proposal); } } }); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } return l; } }); editor.setSaveCallback(new Runnable() { @Override public void run() { try { unit.commitWorkingCopy(true, null); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); try { unit.reconcile(ICompilationUnit.NO_AST, true, null, null); } catch (JavaModelException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:com.amashchenko.eclipse.strutsclipse.java.SimpleJavaCompletionProposal.java
License:Apache License
public SimpleJavaCompletionProposal(CompletionProposal proposal, JavaContentAssistInvocationContext context, Image img) {/*from www. j a v a 2 s.c o m*/ if (CompletionProposal.METHOD_REF == proposal.getKind()) { this.replacementString = String.valueOf(proposal.getName()); } else { this.replacementString = String.valueOf(proposal.getCompletion()); } this.displayString = context.getLabelProvider().createLabel(proposal); this.relevance = proposal.getRelevance(); this.image = img; }
From source file:com.google.gwt.eclipse.core.uibinder.contentassist.computers.ProposalGeneratingCompletionRequestor.java
License:Open Source License
protected ICompletionProposal createProposal(CompletionProposal javaProposal) { String completion = String.valueOf(javaProposal.getCompletion()); int kind = javaProposal.getKind(); if (kind == CompletionProposal.TYPE_REF) { // Make sure it is fully qualified completion = JavaContentAssistUtilities.getFullyQualifiedTypeName(javaProposal); }//from ww w. ja v a 2s. c om if (forceFullyQualifiedFieldNames && (kind == CompletionProposal.FIELD_IMPORT || kind == CompletionProposal.FIELD_REF)) { char[] decSig = javaProposal.getDeclarationSignature(); if (decSig != null && decSig.length > 2) { // declaration signatures for objects are like Ljava.lang.String;, so lop off first // and last chars completion = new String(decSig, 1, decSig.length - 2) + "." + new String(javaProposal.getCompletion()); completion = completion.replace('$', '.'); } } ICompletionProposal jdtCompletionProposal = JavaContentAssistUtilities .getJavaCompletionProposal(javaProposal, context, javaProject); return ReplacementCompletionProposal.fromExistingCompletionProposal(completion, replaceOffset, replaceLength, jdtCompletionProposal); }
From source file:com.microsoft.javapkgsrv.JavaParser.java
License:MIT License
private AutocompleteResponse.Completion translateToCompletion(CompletionProposal proposal) { AutocompleteResponse.Completion.Builder builder = AutocompleteResponse.Completion.newBuilder() .setKind(AutocompleteResponse.Completion.CompletionKind.valueOf(proposal.getKind())) .setIsConstructor(proposal.isConstructor()) .setCompletionText(String.copyValueOf(proposal.getCompletion())).setFlags(proposal.getFlags()) .setRelevance(proposal.getRelevance()).setReplaceStart(proposal.getReplaceStart()) .setReplaceEnd(proposal.getReplaceEnd()); char[] sig = proposal.getSignature(); if (sig != null) { if (proposal.getKind() == CompletionProposal.METHOD_REF || proposal.getKind() == CompletionProposal.JAVADOC_METHOD_REF) builder.setSignature(new String(Signature.toCharArray(sig, proposal.getName(), null, false, true))); else/*w w w . j a v a2 s.co m*/ builder.setSignature(new String(Signature.toCharArray(sig))); } char[] name = proposal.getName(); if (name == null) builder.setName(builder.getCompletionText()); else builder.setName(String.copyValueOf(name)); return builder.build(); }
From source file:com.siteview.mde.internal.ui.editor.contentassist.TypePackageCompletionProcessor.java
License:Open Source License
private void generateProposals(String currentContent, IProject project, final Collection c, final int startOffset, final int length, final int typeScope) { class TypePackageCompletionRequestor extends CompletionRequestor { public TypePackageCompletionRequestor() { super(true); setIgnored(CompletionProposal.PACKAGE_REF, false); setIgnored(CompletionProposal.TYPE_REF, false); }/* w ww .j a v a 2 s. c o m*/ public void accept(CompletionProposal proposal) { if (proposal.getKind() == CompletionProposal.PACKAGE_REF) { String pkgName = new String(proposal.getCompletion()); addProposalToCollection(c, startOffset, length, pkgName, pkgName, MDEPluginImages.get(MDEPluginImages.OBJ_DESC_PACKAGE)); } else { boolean isInterface = Flags.isInterface(proposal.getFlags()); String completion = new String(proposal.getCompletion()); if (isInterface && typeScope == IJavaSearchConstants.CLASS || (!isInterface && typeScope == IJavaSearchConstants.INTERFACE) || completion.equals("Dummy2")) //$NON-NLS-1$ // don't want Dummy class showing up as option. return; int period = completion.lastIndexOf('.'); String cName = null, pName = null; if (period == -1) { cName = completion; } else { cName = completion.substring(period + 1); pName = completion.substring(0, period); } Image image = isInterface ? MDEPluginImages.get(MDEPluginImages.OBJ_DESC_GENERATE_INTERFACE) : MDEPluginImages.get(MDEPluginImages.OBJ_DESC_GENERATE_CLASS); addProposalToCollection(c, startOffset, length, cName + " - " + pName, //$NON-NLS-1$ completion, image); } } } try { ICompilationUnit unit = getWorkingCopy(project); if (unit == null) { generateTypeProposals(currentContent, project, c, startOffset, length, 1); return; } IBuffer buff = unit.getBuffer(); buff.setContents("class Dummy2 { " + currentContent); //$NON-NLS-1$ CompletionRequestor req = new TypePackageCompletionRequestor(); unit.codeComplete(15 + currentContent.length(), req); unit.discardWorkingCopy(); } catch (JavaModelException e) { } }
From source file:de.ovgu.featureide.ui.editors.AnnoCompletion.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext arg0, IProgressMonitor arg1) {/*from w w w . j a v a 2 s. c om*/ JavaContentAssistInvocationContext context = null; if (arg0 instanceof JavaContentAssistInvocationContext) { context = (JavaContentAssistInvocationContext) arg0; } final IFile file = ((IFileEditorInput) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor().getEditorInput()).getFile(); final IFeatureProject featureProject = CorePlugin.getFeatureProject(file); if (context == null || file == null || featureProject == null) { return Collections.emptyList(); } if (!isContextValid(context)) { return Collections.emptyList(); } CharSequence prefix = ""; try { prefix = context.computeIdentifierPrefix(); } catch (BadLocationException e) { e.printStackTrace(); } List<CompletionProposal> completionProp = getCompl(featureProject, prefix); ArrayList<ICompletionProposal> list = new ArrayList<ICompletionProposal>(); for (CompletionProposal prop : completionProp) { LazyJavaCompletionProposal curFeature = new LazyJavaCompletionProposal(prop, context); curFeature.setImage(FEATURE_ICON); // curFeature.setReplacementLength(prop.getCompletion().length - prefix.length()); curFeature.setReplacementString(new String(prop.getCompletion()).replace(prefix, "")); curFeature.setReplacementOffset(context.getInvocationOffset()); list.add(curFeature); } return list; }
From source file:de.ovgu.featureide.ui.editors.Completion.java
License:Open Source License
@Override public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext arg0, IProgressMonitor arg1) {//from ww w . ja v a 2s . com 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:edu.brown.cs.bubbles.bedrock.BedrockUtil.java
License:Open Source License
/********************************************************************************/ static void outputCompletion(CompletionProposal cp, IvyXmlWriter xw) { xw.begin("COMPLETION"); fieldValue(xw, "ACCESSIBILITY", cp.getAccessibility(), accessibility_types); if (cp.isConstructor()) xw.field("CONSTRUCTOR", true); xw.field("TEXT", cp.getCompletion()); xw.field("INDEX", cp.getCompletionLocation()); xw.field("DECLKEY", cp.getDeclarationKey()); switch (cp.getKind()) { case CompletionProposal.ANNOTATION_ATTRIBUTE_REF: case CompletionProposal.ANONYMOUS_CLASS_DECLARATION: case CompletionProposal.FIELD_IMPORT: case CompletionProposal.FIELD_REF: case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER: case CompletionProposal.METHOD_IMPORT: case CompletionProposal.METHOD_REF: case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER: case CompletionProposal.METHOD_DECLARATION: case CompletionProposal.POTENTIAL_METHOD_DECLARATION: xw.field("DECLSIGN", cp.getDeclarationSignature()); break;/*from w ww .j a va 2 s .co m*/ case CompletionProposal.PACKAGE_REF: case CompletionProposal.TYPE_IMPORT: case CompletionProposal.TYPE_REF: xw.field("DOTNAME", cp.getDeclarationSignature()); break; } fieldFlags(xw, "ACCESS", cp.getFlags(), access_flags); xw.field("FLAGS", cp.getFlags()); xw.field("KEY", cp.getKey()); xw.field("NAME", cp.getName()); xw.field("RELEVANCE", cp.getRelevance()); xw.field("REPLACE_START", cp.getReplaceStart()); xw.field("REPLACE_END", cp.getReplaceEnd()); xw.field("SIGNATURE", cp.getSignature()); xw.field("TOKEN_START", cp.getTokenStart()); xw.field("TOKEN_END", cp.getTokenEnd()); fieldValue(xw, "KIND", cp.getKind(), completion_types); if (cp instanceof ICompletionProposalExtension4) { ICompletionProposalExtension4 icp4 = (ICompletionProposalExtension4) cp; xw.field("AUTO", icp4.isAutoInsertable()); } if (CompletionFlags.isStaticImport(cp.getAdditionalFlags())) xw.field("STATICIMPORT", true); if (cp.getKind() == CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER || cp.getKind() == CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER) { xw.field("RECEIVER_SIGN", cp.getReceiverSignature()); xw.field("RECEIVER_START", cp.getReceiverStart()); xw.field("RECEIVER_END", cp.getReceiverEnd()); } xw.field("RCVR", cp.getReceiverSignature()); xw.cdataElement("DESCRIPTION", cp.toString()); CompletionProposal[] rq = cp.getRequiredProposals(); if (rq != null) { xw.begin("REQUIRED"); for (CompletionProposal xcp : rq) outputCompletion(xcp, xw); xw.end("REQUIRED"); } xw.end("COMPLETION"); }
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);/*from w w w .j a va2s .c om*/ 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);//from ww w .j av a 2 s .co m 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; }