]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.ui/src/org/simantics/document/ui/CSSTextEditorEnvironment.java
Several Wiki documentation view improvements.
[simantics/platform.git] / bundles / org.simantics.document.ui / src / org / simantics / document / ui / CSSTextEditorEnvironment.java
1 package org.simantics.document.ui;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.Collections;\r
5 import java.util.Comparator;\r
6 import java.util.List;\r
7 \r
8 import org.eclipse.jface.text.IDocument;\r
9 import org.eclipse.jface.text.contentassist.ICompletionProposal;\r
10 \r
11 /**\r
12  * TODO: content assist features to be implemented\r
13  * \r
14  * For a "template" implementation, see SCLTextEditorEnvironment.\r
15  * \r
16  * @author Antti Villberg\r
17  */\r
18 public class CSSTextEditorEnvironment {\r
19 \r
20     private CSSCompletionProposal[] proposalCache = new CSSCompletionProposal[0];\r
21     private List<CSSCompletionProposal> moduleProposalCache = new ArrayList<>(0);\r
22 \r
23     public void updateEnvironment(IDocument document) {\r
24         // TODO: implement if necessary\r
25     }\r
26 \r
27     public ICompletionProposal[] getCompletionProposals(String tmpPrefix, int offset) {\r
28         // TODO: find proposals\r
29         List<CSSCompletionProposal> proposals = new ArrayList<>();\r
30         moduleProposalCache = proposals;\r
31         Collections.sort(proposals, COMPARATOR);\r
32         moduleProposalCache.addAll(proposals);\r
33         proposalCache = moduleProposalCache.toArray(new CSSCompletionProposal[moduleProposalCache.size()]);\r
34         return proposalCache;\r
35     }\r
36 \r
37     private static final Comparator<CSSCompletionProposal> COMPARATOR = (prop1, prop2) -> {\r
38         if (prop1.isPrivate() && !prop2.isPrivate())\r
39             return -1;\r
40         else if (!prop1.isPrivate() && prop2.isPrivate())\r
41             return 1;\r
42         return prop1.getName().compareTo(prop2.getName());\r
43     };\r
44 \r
45     public String getHoverInfo(String text) {\r
46         return null;\r
47     }\r
48 }\r