package com.quantum.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.DefaultPartitioner;
import org.eclipse.ui.editors.text.FileDocumentProvider;

public class SQLDocumentProvider extends FileDocumentProvider {
	
	public SQLDocumentProvider() {
		super();
	}

	protected IDocument createDocument(Object element) throws CoreException {
//System.out.println("element: " + element.getClass().getName());
		IDocument document = super.createDocument(element);
		if (document != null) {
			IDocumentPartitioner partitioner =
				new DefaultPartitioner(
					new SQLPartitionScanner(),
					new String[] { 
						IDocument.DEFAULT_CONTENT_TYPE,
						SQLPartitionScanner.SQL_KEYWORD, 
						SQLPartitionScanner.SQL_COMMENT,
						SQLPartitionScanner.SQL_IDENTIFIER,
						SQLPartitionScanner.SQL_STRING,
						SQLPartitionScanner.SQL_SEPARATOR,
						SQLPartitionScanner.SQL_SYMBOL,
						SQLPartitionScanner.SQL_NUMERIC });
			partitioner.connect(document);
			document.setDocumentPartitioner(partitioner);
		}
		return document;
	}
}