@Override public void addProposal( TernCompletionProposalRec proposalItem, Object completion, IJSONObjectHelper jsonObjectHelper) { JSTernCompletionProposal proposal = internalCreateProposal(proposalItem); if (proposal.isFunction()) { // Add the function reference proposals.add(internalCreateProposal(proposalItem.changeType("fn"))); } proposals.add(proposal); if (expandFunction) { // expand functions if the functions contains several "optionnal" // parameters. // ex : the expansion of // "fn(selector: string, context?: frameElement)" // returns an array of functions // String[] functions = proposal.expand(); if (functions != null) { for (int i = 0; i < functions.length; i++) { proposals.add(internalCreateProposal(proposalItem.changeType(functions[i]))); } } } }
private JSTernCompletionProposal internalCreateProposal(TernCompletionProposalRec proposalItem) { JSTernCompletionProposal proposal = createProposal(proposalItem); proposal.setGenerateAnonymousFunction(generateAnonymousFunction); proposal.setIndentChars(indentChars); // TODO manage that with preferences proposal.setGenerateObjectValue(true); proposal.setTernFile(ternFile); proposal.setTernProject(ternProject); return proposal; }