package tk.eclipse.plugin.htmleditor.editors;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IDocumentPartitioner;
import org.eclipse.jface.text.rules.FastPartitioner;
import org.eclipse.ui.editors.text.TextFileDocumentProvider;
public class HTMLTextDocumentProvider extends TextFileDocumentProvider {
@Override
protected FileInfo createFileInfo(Object element) throws CoreException {
FileInfo info = super.createFileInfo(element);
if(info==null){
info = createEmptyFileInfo();
}
IDocument document = info.fTextFileBuffer.getDocument();
if (document != null) {
IDocumentPartitioner partitioner =
new FastPartitioner(
new HTMLPartitionScanner(),
new String[] {
HTMLPartitionScanner.HTML_TAG,
HTMLPartitionScanner.HTML_COMMENT,
HTMLPartitionScanner.HTML_SCRIPT,
HTMLPartitionScanner.HTML_DOCTYPE,
HTMLPartitionScanner.HTML_DIRECTIVE,
HTMLPartitionScanner.JAVASCRIPT,
HTMLPartitionScanner.HTML_CSS});
partitioner.connect(document);
document.setDocumentPartitioner(partitioner);
}
return info;
}
}