/**
* get all the damager and repairers for the source type
*/
public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer)
{
PresentationReconciler reconciler = new PresentationReconciler();
//setup the partiton scanner to break and fix each part of the
//document
//
// WARNING order is important here - the document will be painted
// with the rules in this order - it seems anyway
// CF script
DefaultDamagerRepairer dr = new DefaultDamagerRepairer(getCFScriptScanner());
reconciler.setDamager(dr, CFPartitionScanner.CF_SCRIPT);
reconciler.setRepairer(dr, CFPartitionScanner.CF_SCRIPT);
// cfset tag contents.
reconciler.setDamager(dr, CFPartitionScanner.CF_SET_STATEMENT);
reconciler.setRepairer(dr, CFPartitionScanner.CF_SET_STATEMENT);
// cfif and cfelseif tag contents.
reconciler.setDamager(dr, CFPartitionScanner.CF_BOOLEAN_STATEMENT);
reconciler.setRepairer(dr, CFPartitionScanner.CF_BOOLEAN_STATEMENT);
// cfreturn tag contents.
reconciler.setDamager(dr, CFPartitionScanner.CF_RETURN_STATEMENT);
reconciler.setRepairer(dr, CFPartitionScanner.CF_RETURN_STATEMENT);
//HTML part
dr = new DefaultDamagerRepairer(getHTMTagScanner());
reconciler.setDamager(dr, CFPartitionScanner.HTM_END_TAG);
reconciler.setRepairer(dr, CFPartitionScanner.HTM_END_TAG);
reconciler.setDamager(dr, CFPartitionScanner.HTM_START_TAG_BEGIN);
reconciler.setRepairer(dr, CFPartitionScanner.HTM_START_TAG_BEGIN);
reconciler.setDamager(dr, CFPartitionScanner.HTM_START_TAG_END);
reconciler.setRepairer(dr, CFPartitionScanner.HTM_START_TAG_END);
reconciler.setDamager(dr, CFPartitionScanner.HTM_TAG_ATTRIBS);
reconciler.setRepairer(dr, CFPartitionScanner.HTM_TAG_ATTRIBS);
//javascript tag
dr = new DefaultDamagerRepairer(getScriptScanner());
reconciler.setDamager(dr, CFPartitionScanner.J_SCRIPT);
reconciler.setRepairer(dr, CFPartitionScanner.J_SCRIPT);
//style tag
dr = new DefaultDamagerRepairer(getStyleScanner());
reconciler.setDamager(dr, CFPartitionScanner.CSS);
reconciler.setRepairer(dr, CFPartitionScanner.CSS);
dr = new DefaultDamagerRepairer(getTaglibTagScanner());
reconciler.setDamager(dr, CFPartitionScanner.TAGLIB_TAG);
reconciler.setRepairer(dr, CFPartitionScanner.TAGLIB_TAG);
//SQL
dr = new DefaultDamagerRepairer(getSQLScanner());
reconciler.setDamager(dr, CFPartitionScanner.SQL);
reconciler.setRepairer(dr, CFPartitionScanner.SQL);
//general CF
dr = new DefaultDamagerRepairer(getCFTagScanner());
reconciler.setDamager(dr, CFPartitionScanner.CF_START_TAG_BEGIN);
reconciler.setRepairer(dr, CFPartitionScanner.CF_START_TAG_BEGIN);
reconciler.setDamager(dr, CFPartitionScanner.CF_START_TAG_END);
reconciler.setRepairer(dr, CFPartitionScanner.CF_START_TAG_END);
reconciler.setDamager(dr, CFPartitionScanner.CF_TAG_ATTRIBS);
reconciler.setRepairer(dr, CFPartitionScanner.CF_TAG_ATTRIBS);
//general end cftag
//dr = new DefaultDamagerRepairer(getCFTagScanner());
reconciler.setDamager(dr, CFPartitionScanner.CF_END_TAG);
reconciler.setRepairer(dr, CFPartitionScanner.CF_END_TAG);
dr = new DefaultDamagerRepairer(getFormScanner());
reconciler.setDamager(dr, CFPartitionScanner.FORM_END_TAG);
reconciler.setRepairer(dr, CFPartitionScanner.FORM_END_TAG);
reconciler.setDamager(dr, CFPartitionScanner.FORM_START_TAG_BEGIN);
reconciler.setRepairer(dr, CFPartitionScanner.FORM_START_TAG_BEGIN);
reconciler.setDamager(dr, CFPartitionScanner.FORM_START_TAG_END);
reconciler.setRepairer(dr, CFPartitionScanner.FORM_START_TAG_END);
reconciler.setDamager(dr, CFPartitionScanner.FORM_TAG_ATTRIBS);
reconciler.setRepairer(dr, CFPartitionScanner.FORM_TAG_ATTRIBS);
dr = new DefaultDamagerRepairer(getTableScanner());
reconciler.setDamager(dr, CFPartitionScanner.TABLE_END_TAG);
reconciler.setRepairer(dr, CFPartitionScanner.TABLE_END_TAG);
reconciler.setDamager(dr, CFPartitionScanner.TABLE_START_TAG_BEGIN);
reconciler.setRepairer(dr, CFPartitionScanner.TABLE_START_TAG_BEGIN);
reconciler.setDamager(dr, CFPartitionScanner.TABLE_START_TAG_END);
reconciler.setRepairer(dr, CFPartitionScanner.TABLE_START_TAG_END);
reconciler.setDamager(dr, CFPartitionScanner.TABLE_TAG_ATTRIBS);
reconciler.setRepairer(dr, CFPartitionScanner.TABLE_TAG_ATTRIBS);
//unknown tags
dr = new DefaultDamagerRepairer(getUNKTagScanner());
reconciler.setDamager(dr, CFPartitionScanner.UNK_TAG);
reconciler.setRepairer(dr, CFPartitionScanner.UNK_TAG);
NonRuleBasedDamagerRepairer ndr = new NonRuleBasedDamagerRepairer(new TextAttribute(colorManager.getColor(preferenceManager
.getColor(CFMLColorsPreferenceConstants.P_COLOR_JAVADOC)), colorManager.getColor(preferenceManager
.getColor(CFMLColorsPreferenceConstants.P_COLOR_BACKGROUND_JAVADOC)), tabWidth));
reconciler.setDamager(ndr, CFPartitionScanner.JAVADOC_COMMENT);
reconciler.setRepairer(ndr, CFPartitionScanner.JAVADOC_COMMENT);
// set up the cf comment section
ndr = new NonRuleBasedDamagerRepairer(new TextAttribute(colorManager.getColor(preferenceManager
.getColor(CFMLColorsPreferenceConstants.P_COLOR_CFCOMMENT)), colorManager.getColor(preferenceManager
.getColor(CFMLColorsPreferenceConstants.P_COLOR_BACKGROUND_CFCOMMENT)), tabWidth));
reconciler.setDamager(ndr, CFPartitionScanner.CF_COMMENT);
reconciler.setRepairer(ndr, CFPartitionScanner.CF_COMMENT);
reconciler.setDamager(ndr, CFPartitionScanner.CF_SCRIPT_COMMENT_BLOCK);
reconciler.setRepairer(ndr, CFPartitionScanner.CF_SCRIPT_COMMENT_BLOCK);
reconciler.setDamager(ndr, CFPartitionScanner.CF_SCRIPT_COMMENT);
reconciler.setRepairer(ndr, CFPartitionScanner.CF_SCRIPT_COMMENT);
// .... the default text in the document
dr = new DefaultDamagerRepairer(getTextScanner());
reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);
reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);
//set up the html comment section
NonRuleBasedDamagerRepairer ndr2 = new NonRuleBasedDamagerRepairer(
new TextAttribute(
colorManager.getColor(
preferenceManager.getColor(
HTMLColorsPreferenceConstants.P_COLOR_HTM_COMMENT
)
)
)
);
reconciler.setDamager(ndr2, CFPartitionScanner.HTM_COMMENT);
reconciler.setRepairer(ndr2, CFPartitionScanner.HTM_COMMENT);
//set up the doctype section
NonRuleBasedDamagerRepairer ndr3 = new NonRuleBasedDamagerRepairer(
new TextAttribute(
colorManager.getColor(
preferenceManager.getColor(
HTMLColorsPreferenceConstants.P_COLOR_HTM_COMMENT
)
)
)
);
reconciler.setDamager(ndr3, CFPartitionScanner.DOCTYPE);
reconciler.setRepairer(ndr3, CFPartitionScanner.DOCTYPE);
return reconciler;
}