/** * Դ�������ƣ�SQLTextEditorInputDocumentProvider.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.jres.database.ui * ����˵����$desc * ����ĵ��� * ���ߣ� */ package com.hundsun.ares.studio.ui.editor.text.sql; import org.eclipse.core.runtime.CoreException; import org.eclipse.jface.text.Document; import org.eclipse.jface.text.IDocument; import org.eclipse.jface.text.IDocumentPartitioner; import org.eclipse.jface.text.rules.FastPartitioner; import com.hundsun.ares.studio.ui.editor.text.TextEditorInput; import com.hundsun.ares.studio.ui.editor.text.TextEditorInputDocumentProvider; /** * @author gongyf * */ public class SQLTextEditorInputDocumentProvider extends TextEditorInputDocumentProvider { /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.editors.TextEditorInputDocumentProvider#createDocument(java.lang.Object) */ @Override protected IDocument createDocument(Object element) throws CoreException { TextEditorInput input = (TextEditorInput) element; Document document = new Document(); document.set(input.getText()); SQLPartitionScanner sqlPartitionSanner = new SQLPartitionScanner(); IDocumentPartitioner partitioner = new FastPartitioner(sqlPartitionSanner, new String[] { SQLPartitionScanner.SQL_COMMENT, SQLPartitionScanner.SQL_MULTILINE_COMMENT, SQLPartitionScanner.SQL_STRING, SQLPartitionScanner.SQL_DOUBLE_QUOTES_IDENTIFIER }); partitioner.connect(document); document.setDocumentPartitioner(SQLPartitionScanner.SQL_PARTITIONING, partitioner); return document; } }