Package csep.ui.contentassist

Source Code of csep.ui.contentassist.CoffeeScriptProposalProvider

/*
* generated by Xtext
*/
package csep.ui.contentassist;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

import org.eclipse.xtext.Assignment;
import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext;
import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor;

import com.google.inject.Inject;

import csep.coffeeScript.Application;
import csep.coffeeScript.IdRef;
import csep.scoping.CoffeescriptBuiltins;

public class CoffeeScriptProposalProvider extends AbstractCoffeeScriptProposalProvider {
  @Inject
  protected CoffeescriptBuiltins builtins;
 
  private final static Set<String> COMMON_FEATURES = new HashSet<String>(Arrays.asList(new String[]{
    "constructor",
    "toString",
    "valueOf",
  }));
 
  public void completeProperty_Prop(Application model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
    super.completeProperty_Prop(model, assignment, context, acceptor);
    IdRef idRef = (IdRef)model.getValue();
    String idName = idRef.getVal().getName();
    // TODO: if idName is null, no reference was found
    Set<String> proposals = builtins.getCompletions(idName);
    if (proposals.isEmpty()) {
      proposals = COMMON_FEATURES;
    }
    for (String proposal: proposals) {
      acceptor.accept(createCompletionProposal(proposal, context));
    }
  }
}
TOP

Related Classes of csep.ui.contentassist.CoffeeScriptProposalProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.