1 package org.simantics.document.ui;
3 import java.util.ArrayList;
4 import java.util.Collections;
5 import java.util.Comparator;
8 import org.eclipse.jface.text.IDocument;
9 import org.eclipse.jface.text.contentassist.ICompletionProposal;
12 * TODO: content assist features to be implemented
14 * For a "template" implementation, see SCLTextEditorEnvironment.
16 * @author Antti Villberg
18 public class CSSTextEditorEnvironment {
20 private CSSCompletionProposal[] proposalCache = new CSSCompletionProposal[0];
21 private List<CSSCompletionProposal> moduleProposalCache = new ArrayList<>(0);
23 public void updateEnvironment(IDocument document) {
24 // TODO: implement if necessary
27 public ICompletionProposal[] getCompletionProposals(String tmpPrefix, int offset) {
28 // TODO: find proposals
29 List<CSSCompletionProposal> proposals = new ArrayList<>();
30 moduleProposalCache = proposals;
31 Collections.sort(proposals, COMPARATOR);
32 moduleProposalCache.addAll(proposals);
33 proposalCache = moduleProposalCache.toArray(new CSSCompletionProposal[moduleProposalCache.size()]);
37 private static final Comparator<CSSCompletionProposal> COMPARATOR = (prop1, prop2) -> {
38 if (prop1.isPrivate() && !prop2.isPrivate())
40 else if (!prop1.isPrivate() && prop2.isPrivate())
42 return prop1.getName().compareTo(prop2.getName());
45 public String getHoverInfo(String text) {