01: package nz.ac.massey.take.takeep.editor;
02:
03: import java.util.ArrayList;
04:
05: import nz.ac.massey.take.takeep.editor.tokens.TakePartitionScanner;
06: import nz.ac.massey.take.takeep.editor.tokens.TakePartitionScanner.TAKE_PARTITIONS;
07:
08: import org.eclipse.core.runtime.CoreException;
09: import org.eclipse.jface.text.IDocument;
10: import org.eclipse.jface.text.IDocumentPartitioner;
11: import org.eclipse.jface.text.rules.FastPartitioner;
12: import org.eclipse.ui.editors.text.FileDocumentProvider;
13:
14: public class TakeDocumentProvider extends FileDocumentProvider {
15:
16: @Override
17: protected IDocument createDocument(Object element)
18: throws CoreException {
19: IDocument document = super .createDocument(element);
20: if (document != null) {
21: ArrayList<String> strings = new ArrayList<String>();
22: for (TAKE_PARTITIONS tp : TAKE_PARTITIONS.values()) {
23: strings.add(tp.name());
24: }
25:
26: IDocumentPartitioner partitioner = new FastPartitioner(
27: new TakePartitionScanner(), strings
28: .toArray(new String[strings.size()]));
29:
30: partitioner.connect(document);
31: document.setDocumentPartitioner(partitioner);
32: }
33: return document;
34: }
35:
36: }
|