You are viewing a plain text version of this content. The canonical link for it is here.
Posted to doxia-commits@maven.apache.org by vs...@apache.org on 2008/04/22 14:55:32 UTC
svn commit: r650501 - in
/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui:
./ editors/text/ rules/
Author: vsiveton
Date: Tue Apr 22 05:55:18 2008
New Revision: 650501
URL: http://svn.apache.org/viewvc?rev=650501&view=rev
Log:
o added SinkColor and SinkToken for Doxia events
o added more colors
Modified:
maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/ColorManager.java
maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/editors/text/AbstractTextSourceViewerConfiguration.java
maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextPartitionScanner.java
maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextScanner.java
Modified: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/ColorManager.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/ColorManager.java?rev=650501&r1=650500&r2=650501&view=diff
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/ColorManager.java (original)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/ColorManager.java Tue Apr 22 05:55:18 2008
@@ -23,6 +23,8 @@
import java.util.Iterator;
import java.util.Map;
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkEventAttributes;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;
@@ -36,17 +38,14 @@
*/
public class ColorManager
{
- /** green color */
- public static final RGB COMMENT = new RGB( 63, 127, 95 );
+ /** Default color (black) */
+ public static final RGB DEFAULT_COLOR = new RGB( 0, 0, 0 );
- /** red color */
- public static final RGB KEYWORD = new RGB( 127, 0, 85 );
+ /** Default color (blue) for keywords */
+ public static final RGB KEYWORD_COLOR = new RGB( 128, 128, 160 );
- /** black color */
- public static final RGB STRING = new RGB( 0, 0, 0 );
-
- /** blue color */
- public static final RGB LINK = new RGB( 0, 0, 255 );
+ /** Default color (red) for unsupported elements */
+ public static final RGB UNSUPPORTED_COLOR = new RGB( 255, 0, 0 );
/** cached map */
protected Map<RGB, Color> colorMap = new HashMap<RGB, Color>( 5 );
@@ -59,6 +58,9 @@
// nop
}
+ /**
+ * @return a new instance of <code>ColorManager</code>
+ */
public static ColorManager getInstance()
{
return INSTANCE;
@@ -78,11 +80,11 @@
/**
* @param rgb
- * @return the color object from the rgb object
+ * @return the color object for the rgb object
*/
public Color getColor( RGB rgb )
{
- Color color = (Color) colorMap.get( rgb );
+ Color color = colorMap.get( rgb );
if ( color == null )
{
@@ -91,5 +93,378 @@
}
return color;
+ }
+
+ /**
+ * Default Colors for Doxia Sink events
+ *
+ * @see Sink
+ */
+ public interface SinkColor
+ {
+ /**
+ * Blue, RGB( 0, 0, 255 )
+ *
+ * @see Sink#anchor(String)
+ * @see Sink#anchor(SinkEventAttributes)
+ * @see Sink#anchor_()
+ */
+ Color ANCHOR_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 255 ) );
+
+ /**
+ * @see Sink#author()
+ * @see Sink#author(SinkEventAttributes)
+ * @see Sink#author_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color AUTHOR_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#body()
+ * @see Sink#body(SinkEventAttributes)
+ * @see Sink#body_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color BODY_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#bold()
+ * @see Sink#bold(SinkEventAttributes)
+ * @see Sink#bold_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color BOLD_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * Green, RGB( 0, 140, 0 )
+ *
+ * @see Sink#comment(String)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color COMMENT_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 140, 0 ) );
+
+ /**
+ * Green, RGB( 63,127, 95 )
+ *
+ * @see Sink#date()
+ * @see Sink#date(SinkEventAttributes)
+ * @see Sink#date_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color DATE_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#definedTerm()
+ * @see Sink#definedTerm(SinkEventAttributes)
+ * @see Sink#definedTerm_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color DEFINEDTERM_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#definition()
+ * @see Sink#definition(SinkEventAttributes)
+ * @see Sink#definition_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color DEFINITION_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#definitionList()
+ * @see Sink#definitionList(SinkEventAttributes)
+ * @see Sink#definitionList_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color DEFINITIONLIST_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#definitionListItem()
+ * @see Sink#definitionListItem(SinkEventAttributes)
+ * @see Sink#definitionListItem_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color DEFINITIONLISTITEM_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#figure()
+ * @see Sink#figure(SinkEventAttributes)
+ * @see Sink#figure_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color FIGURE_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#figureCaption()
+ * @see Sink#figureCaption(SinkEventAttributes)
+ * @see Sink#figureCaption_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color FIGURECAPTION_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * Blue, RGB( 0, 0, 255 )
+ *
+ * @see Sink#figureGraphics(String)
+ * @see Sink#figureGraphics(String, SinkEventAttributes)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color FIGUREGRAPHICS_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 255 ) );
+
+ /**
+ * Violet, RGB( 139, 38, 201 )
+ *
+ * @see Sink#head()
+ * @see Sink#head(SinkEventAttributes)
+ * @see Sink#head_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color HEAD_COLOR = ColorManager.getInstance().getColor( new RGB( 139, 38, 201 ) );
+
+ /**
+ * Grey, RGB( 192, 192, 192 )
+ *
+ * @see Sink#horizontalRule()
+ * @see Sink#horizontalRule(SinkEventAttributes)
+ */
+ Color HORIZONTALRULE_COLOR = ColorManager.getInstance().getColor( new RGB( 192, 192, 192 ) );
+
+ /**
+ * @see Sink#italic()
+ * @see Sink#italic(SinkEventAttributes)
+ * @see Sink#italic_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color ITALIC_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#lineBreak()
+ * @see Sink#lineBreak(SinkEventAttributes)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color LINEBREAK_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * Blue, RGB( 0, 0, 255 )
+ *
+ * @see Sink#link(String)
+ * @see Sink#link(String, SinkEventAttributes)
+ * @see Sink#link_()
+ */
+ Color LINK_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 255 ) );
+
+ /**
+ * @see Sink#list()
+ * @see Sink#list(SinkEventAttributes)
+ * @see Sink#list_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color LIST_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#listItem()
+ * @see Sink#listItem(SinkEventAttributes)
+ * @see Sink#listItem_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color LISTITEM_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#monospaced()
+ * @see Sink#monospaced(SinkEventAttributes)
+ * @see Sink#monospaced_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color MONOSPACED_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#nonBreakingSpace()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color NONBREAKINGSPACE_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#numberedList(int)
+ * @see Sink#numberedList(int, SinkEventAttributes)
+ * @see Sink#numberedList_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color NUMBEREDLIST_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#numberedListItem()
+ * @see Sink#numberedListItem(SinkEventAttributes)
+ * @see Sink#numberedListItem_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color NUMBEREDLISTITEM_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#pageBreak()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color PAGEBREAK_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#paragraph()
+ * @see Sink#paragraph(SinkEventAttributes)
+ * @see Sink#paragraph_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color PARAGRAPH_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#section(int, SinkEventAttributes)
+ * @see Sink#section_(int)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTION_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#section1()
+ * @see Sink#section1_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTION1_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#section2()
+ * @see Sink#section2_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTION2_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#section3()
+ * @see Sink#section3_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTION3_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#section4()
+ * @see Sink#section4_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTION4_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#section5()
+ * @see Sink#section5_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTION5_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#sectionTitle()
+ * @see Sink#sectionTitle(int, SinkEventAttributes)
+ * @see Sink#sectionTitle_()
+ * @see Sink#sectionTitle_(int)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTIONTITLE_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#sectionTitle1()
+ * @see Sink#sectionTitle1_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTIONTITLE1_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#sectionTitle2()
+ * @see Sink#sectionTitle2_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTIONTITLE2_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#sectionTitle3()
+ * @see Sink#sectionTitle3_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTIONTITLE3_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#sectionTitle4()
+ * @see Sink#sectionTitle4_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTIONTITLE4_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * @see Sink#sectionTitle5()
+ * @see Sink#sectionTitle5_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color SECTIONTITLE5_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * Blue, RGB( 0, 0, 150 )
+ *
+ * @see Sink#table()
+ * @see Sink#table(SinkEventAttributes)
+ * @see Sink#table_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color TABLE_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 150 ) );
+
+ /**
+ * @see Sink#tableCaption()
+ * @see Sink#tableCaption(SinkEventAttributes)
+ * @see Sink#tableCaption_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color TABLECAPTION_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * Blue, RGB( 0, 0, 150 )
+ *
+ * @see Sink#tableCell()
+ * @see Sink#tableCell(SinkEventAttributes)
+ * @see Sink#tableCell_()
+ * @see Sink#tableCell(String)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color TABLECELL_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 150 ) );
+
+ /**
+ * Blue, RGB( 0, 0, 150 )
+ *
+ * @see Sink#tableHeaderCell()
+ * @see Sink#tableHeaderCell(SinkEventAttributes)
+ * @see Sink#tableHeaderCell_()
+ * @see Sink#tableHeaderCell(String)
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color TABLEHEADERCELL_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 150 ) );
+
+ /**
+ * Blue, RGB( 0, 0, 150 )
+ *
+ * @see Sink#tableRow()
+ * @see Sink#tableRow(SinkEventAttributes)
+ * @see Sink#tableRow_()
+ * @see Sink#tableRows(int[], boolean)
+ * @see Sink#tableRows_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color TABLEROW_COLOR = ColorManager.getInstance().getColor( new RGB( 0, 0, 150 ) );
+
+ /**
+ * @see Sink#title()
+ * @see Sink#title(SinkEventAttributes)
+ * @see Sink#title_()
+ * @see ColorManager#DEFAULT_COLOR
+ */
+ Color TITLE_COLOR = ColorManager.getInstance().getColor( ColorManager.DEFAULT_COLOR );
+
+ /**
+ * Grey, RGB( 100, 100, 100 )
+ *
+ * @see Sink#verbatim(boolean)
+ * @see Sink#verbatim(SinkEventAttributes)
+ * @see Sink#verbatim_()
+ */
+ Color VERBATIM_COLOR = ColorManager.getInstance().getColor( new RGB( 100, 100, 100 ) );
}
}
Modified: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/editors/text/AbstractTextSourceViewerConfiguration.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/editors/text/AbstractTextSourceViewerConfiguration.java?rev=650501&r1=650500&r2=650501&view=diff
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/editors/text/AbstractTextSourceViewerConfiguration.java (original)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/editors/text/AbstractTextSourceViewerConfiguration.java Tue Apr 22 05:55:18 2008
@@ -70,8 +70,7 @@
reconciler.setDamager( dr, AbstractTextPartitionScanner.DOXIA_PARTITION_CONTENT );
reconciler.setRepairer( dr, AbstractTextPartitionScanner.DOXIA_PARTITION_CONTENT );
- dr = new DefaultDamagerRepairer( new SingleTokenScanner( new TextAttribute( ColorManager.getInstance()
- .getColor( ColorManager.COMMENT ) ) ) );
+ dr = new DefaultDamagerRepairer( new SingleTokenScanner( new TextAttribute( ColorManager.SinkColor.COMMENT_COLOR ) ) );
reconciler.setDamager( dr, AbstractTextPartitionScanner.DOXIA_PARTITION_COMMENT );
reconciler.setRepairer( dr, AbstractTextPartitionScanner.DOXIA_PARTITION_COMMENT );
Modified: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextPartitionScanner.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextPartitionScanner.java?rev=650501&r1=650500&r2=650501&view=diff
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextPartitionScanner.java (original)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextPartitionScanner.java Tue Apr 22 05:55:18 2008
@@ -22,7 +22,6 @@
import java.util.LinkedList;
import java.util.List;
-import org.apache.maven.doxia.ide.eclipse.common.ui.editors.text.AbstractTextEditor;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.rules.IPredicateRule;
@@ -89,6 +88,6 @@
rules.addAll( getRules() );
}
- setPredicateRules( (IPredicateRule[]) rules.toArray( new IPredicateRule[rules.size()] ) );
+ setPredicateRules( rules.toArray( new IPredicateRule[rules.size()] ) );
}
}
Modified: maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextScanner.java
URL: http://svn.apache.org/viewvc/maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextScanner.java?rev=650501&r1=650500&r2=650501&view=diff
==============================================================================
--- maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextScanner.java (original)
+++ maven/doxia/doxia-tools/trunk/doxia-ide/eclipse/plugins/org.apache.maven.doxia.ide.eclipse.common.ui/src/main/java/org/apache/maven/doxia/ide/eclipse/common/ui/rules/AbstractTextScanner.java Tue Apr 22 05:55:18 2008
@@ -23,14 +23,17 @@
import java.util.List;
import org.apache.maven.doxia.ide.eclipse.common.ui.ColorManager;
+import org.apache.maven.doxia.sink.Sink;
+import org.apache.maven.doxia.sink.SinkEventAttributes;
+import org.codehaus.plexus.util.StringUtils;
import org.eclipse.core.runtime.Assert;
+import org.eclipse.jface.text.BadLocationException;
+import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.TextAttribute;
import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
import org.eclipse.jface.text.rules.IRule;
-import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.Token;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Display;
@@ -42,32 +45,17 @@
public abstract class AbstractTextScanner
extends BufferedRuleBasedScanner
{
- protected static final Color KEYWORD_COLOR = ColorManager.getInstance().getColor( ColorManager.KEYWORD );
-
- protected static final Color COMMENT_COLOR = ColorManager.getInstance().getColor( ColorManager.COMMENT );
-
- protected static final Color STRING_COLOR = ColorManager.getInstance().getColor( ColorManager.STRING );
-
- protected static final IToken keywordToken = new Token( new TextAttribute( KEYWORD_COLOR, null, SWT.BOLD ) );
-
- protected static final IToken commentToken = new Token( new TextAttribute( COMMENT_COLOR ) );
-
- protected static final IToken stringToken = new Token( new TextAttribute( STRING_COLOR ) );
-
- protected static final IToken linkToken = new Token( new TextAttribute( ColorManager.getInstance()
- .getColor( ColorManager.LINK ) ) );
-
- protected static final IToken monospacedToken = new Token( new TextAttribute( ColorManager.getInstance()
- .getColor( ColorManager.STRING ), null, SWT.NORMAL, new Font( Display.getDefault(), "Courier", Display
- .getDefault().getSystemFont().getFontData()[0].getHeight(), SWT.NORMAL ) ) );
-
- protected static final IToken boldToken = new Token( new TextAttribute( ColorManager.getInstance()
- .getColor( ColorManager.STRING ), null, SWT.BOLD ) );
-
- protected static final IToken italicToken = new Token( new TextAttribute( ColorManager.getInstance()
- .getColor( ColorManager.STRING ), null, SWT.ITALIC ) );
-
- protected static final Token otherToken = new Token( null );
+ /** Default token with {@link ColorManager#DEFAULT_COLOR} */
+ protected static final Token DEFAULT_TOKEN = new Token( new TextAttribute( ColorManager.getInstance()
+ .getColor( ColorManager.DEFAULT_COLOR ) ) );
+
+ /** Token for keywords with {@link ColorManager#KEYWORD_COLOR} */
+ protected static final Token KEYWORD_TOKEN = new Token( new TextAttribute( ColorManager.getInstance()
+ .getColor( ColorManager.KEYWORD_COLOR ) ) );
+
+ /** Unsupported token with {@link ColorManager#UNSUPPORTED_COLOR} and bold style */
+ protected static final Token UNSUPPORTED_TOKEN = new Token( new TextAttribute( ColorManager.getInstance()
+ .getColor( ColorManager.UNSUPPORTED_COLOR ), null, SWT.BOLD ) );
/**
* Default constructor.
@@ -84,6 +72,29 @@
*/
public abstract List<IRule> getRules();
+ /**
+ * @param fDocument the document, not null
+ * @param fOffset the current offset
+ * @return true if the precedent line from <code>fOffset</code> is empty, false otherwise.
+ * @throws BadLocationException if any
+ */
+ public static boolean isEmptyPrecedentLine( IDocument fDocument, int fOffset )
+ throws BadLocationException
+ {
+ Assert.isNotNull( fDocument );
+
+ int precedentLine = fDocument.getLineOfOffset( fOffset - 2 );
+ int startPrecedentLineOffset = fDocument.getLineInformation( precedentLine ).getOffset();
+ String line = fDocument.get( startPrecedentLineOffset, fDocument.getLineInformation( precedentLine )
+ .getLength() );
+ if ( StringUtils.isEmpty( line ) )
+ {
+ return true;
+ }
+
+ return false;
+ }
+
// ----------------------------------------------------------------------
// Protected methods
// ----------------------------------------------------------------------
@@ -97,7 +108,390 @@
rules.addAll( getRules() );
}
- setRules( (IRule[]) rules.toArray( new IRule[rules.size()] ) );
- setDefaultReturnToken( new Token( new TextAttribute( STRING_COLOR ) ) );
+ setRules( rules.toArray( new IRule[rules.size()] ) );
+ setDefaultReturnToken( DEFAULT_TOKEN );
+ }
+
+ /**
+ * Default Tokens for Doxia Sink events
+ *
+ * @see ColorManager.SinkColor
+ */
+ public interface SinkToken
+ {
+ /**
+ * @see Sink#anchor(String)
+ * @see Sink#anchor(SinkEventAttributes)
+ * @see Sink#anchor_()
+ * @see ColorManager.SinkColor#ANCHOR_COLOR
+ */
+ Token ANCHOR_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.ANCHOR_COLOR ) );
+
+ /**
+ * @see Sink#author()
+ * @see Sink#author(SinkEventAttributes)
+ * @see Sink#author_()
+ * @see ColorManager.SinkColor#AUTHOR_COLOR
+ */
+ Token AUTHOR_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.AUTHOR_COLOR ) );
+
+ /**
+ * @see Sink#body()
+ * @see Sink#body(SinkEventAttributes)
+ * @see Sink#body_()
+ * @see ColorManager.SinkColor#BODY_COLOR
+ */
+ Token BODY_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.BODY_COLOR ) );
+
+ /**
+ * @see Sink#bold()
+ * @see Sink#bold(SinkEventAttributes)
+ * @see Sink#bold_()
+ * @see ColorManager.SinkColor#BOLD_COLOR
+ */
+ Token BOLD_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.BOLD_COLOR, null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#comment(String)
+ * @see ColorManager.SinkColor#COMMENT_COLOR
+ */
+ Token COMMENT_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.COMMENT_COLOR ) );
+
+ /**
+ * @see Sink#date()
+ * @see Sink#date(SinkEventAttributes)
+ * @see Sink#date_()
+ * @see ColorManager.SinkColor#DATE_COLOR
+ */
+ Token DATE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.DATE_COLOR ) );
+
+ /**
+ * @see Sink#definedTerm()
+ * @see Sink#definedTerm(SinkEventAttributes)
+ * @see Sink#definedTerm_()
+ * @see ColorManager.SinkColor#DEFINEDTERM_COLOR
+ */
+ Token DEFINEDTERM_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.DEFINEDTERM_COLOR, null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#definition()
+ * @see Sink#definition(SinkEventAttributes)
+ * @see Sink#definition_()
+ * @see ColorManager.SinkColor#DEFINITION_COLOR
+ */
+ Token DEFINITION_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.DEFINITION_COLOR, null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#definitionList()
+ * @see Sink#definitionList(SinkEventAttributes)
+ * @see Sink#definitionList_()
+ * @see ColorManager.SinkColor#DEFINITIONLIST_COLOR
+ */
+ Token DEFINITIONLIST_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.DEFINITIONLIST_COLOR, null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#definitionListItem()
+ * @see Sink#definitionListItem(SinkEventAttributes)
+ * @see Sink#definitionListItem_()
+ * @see ColorManager.SinkColor#DEFINITIONLISTITEM_COLOR
+ */
+ Token DEFINITIONLISTITEM_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.DEFINITIONLISTITEM_COLOR, null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#figure()
+ * @see Sink#figure(SinkEventAttributes)
+ * @see Sink#figure_()
+ * @see ColorManager.SinkColor#FIGURE_COLOR
+ */
+ Token FIGURE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.FIGURE_COLOR ) );
+
+ /**
+ * @see Sink#figureCaption()
+ * @see Sink#figureCaption(SinkEventAttributes)
+ * @see Sink#figureCaption_()
+ * @see ColorManager.SinkColor#FIGURECAPTION_COLOR
+ */
+ Token FIGURECAPTION_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.FIGURECAPTION_COLOR ) );
+
+ /**
+ * @see Sink#figureGraphics(String)
+ * @see Sink#figureGraphics(String, SinkEventAttributes)
+ * @see ColorManager.SinkColor#FIGUREGRAPHICS_COLOR
+ */
+ Token FIGUREGRAPHICS_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.FIGUREGRAPHICS_COLOR ) );
+
+ /**
+ * @see Sink#head()
+ * @see Sink#head(SinkEventAttributes)
+ * @see Sink#head_()
+ * @see ColorManager.SinkColor#HEAD_COLOR
+ */
+ Token HEAD_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.HEAD_COLOR ) );
+
+ /**
+ * @see Sink#horizontalRule()
+ * @see Sink#horizontalRule(SinkEventAttributes)
+ * @see ColorManager.SinkColor#HORIZONTALRULE_COLOR
+ */
+ Token HORIZONTALRULE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.HORIZONTALRULE_COLOR, null,
+ SWT.BOLD ) );
+
+ /**
+ * @see Sink#italic()
+ * @see Sink#italic(SinkEventAttributes)
+ * @see Sink#italic_()
+ * @see ColorManager.SinkColor#ITALIC_COLOR
+ */
+ Token ITALIC_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.ITALIC_COLOR, null, SWT.ITALIC ) );
+
+ /**
+ * @see Sink#lineBreak()
+ * @see Sink#lineBreak(SinkEventAttributes)
+ * @see ColorManager.SinkColor#LINEBREAK_COLOR
+ */
+ Token LINEBREAK_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.LINEBREAK_COLOR ) );
+
+ /**
+ * @see Sink#link(String)
+ * @see Sink#link(String, SinkEventAttributes)
+ * @see Sink#link_()
+ * @see ColorManager.SinkColor#LINK_COLOR
+ */
+ Token LINK_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.LINK_COLOR ) );
+
+ /**
+ * @see Sink#list()
+ * @see Sink#list(SinkEventAttributes)
+ * @see Sink#list_()
+ * @see ColorManager.SinkColor#LIST_COLOR
+ */
+ Token LIST_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.LIST_COLOR ) );
+
+ /**
+ * @see Sink#listItem()
+ * @see Sink#listItem(SinkEventAttributes)
+ * @see Sink#listItem_()
+ * @see ColorManager.SinkColor#LISTITEM_COLOR
+ */
+ Token LISTITEM_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.LISTITEM_COLOR, null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#monospaced()
+ * @see Sink#monospaced(SinkEventAttributes)
+ * @see Sink#monospaced_()
+ * @see ColorManager.SinkColor#MONOSPACED_COLOR
+ */
+ Token MONOSPACED_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.MONOSPACED_COLOR, null,
+ SWT.NORMAL,
+ new Font( Display.getDefault(), "Courier", Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getHeight(), SWT.NORMAL ) ) );
+
+ /**
+ * @see Sink#nonBreakingSpace()
+ * @see ColorManager.SinkColor#NONBREAKINGSPACE_COLOR
+ */
+ Token NONBREAKINGSPACE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.NONBREAKINGSPACE_COLOR ) );
+
+ /**
+ * @see Sink#numberedList(int)
+ * @see Sink#numberedList(int, SinkEventAttributes)
+ * @see Sink#numberedList_()
+ * @see ColorManager.SinkColor#NUMBEREDLIST_COLOR
+ */
+ Token NUMBEREDLIST_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.NUMBEREDLIST_COLOR ) );
+
+ /**
+ * @see Sink#numberedListItem()
+ * @see Sink#numberedListItem(SinkEventAttributes)
+ * @see Sink#numberedListItem_()
+ * @see ColorManager.SinkColor#NUMBEREDLISTITEM_COLOR
+ */
+ Token NUMBEREDLISTITEM_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.NUMBEREDLISTITEM_COLOR,
+ null, SWT.BOLD ) );
+
+ /**
+ * @see Sink#pageBreak()
+ * @see ColorManager.SinkColor#PAGEBREAK_COLOR
+ */
+ Token PAGEBREAK_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.PAGEBREAK_COLOR ) );
+
+ /**
+ * @see Sink#paragraph()
+ * @see Sink#paragraph(SinkEventAttributes)
+ * @see Sink#paragraph_()
+ * @see ColorManager.SinkColor#PARAGRAPH_COLOR
+ */
+ Token PARAGRAPH_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.PARAGRAPH_COLOR ) );
+
+ /**
+ * @see Sink#section(int, SinkEventAttributes)
+ * @see Sink#section_(int)
+ * @see ColorManager.SinkColor#SECTION_COLOR
+ */
+ Token SECTION_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTION_COLOR ) );
+
+ /**
+ * @see Sink#section1()
+ * @see Sink#section1_()
+ * @see ColorManager.SinkColor#SECTION1_COLOR
+ */
+ Token SECTION1_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTION1_COLOR ) );
+
+ /**
+ * @see Sink#section2()
+ * @see Sink#section2_()
+ * @see ColorManager.SinkColor#SECTION2_COLOR
+ */
+ Token SECTION2_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTION2_COLOR ) );
+
+ /**
+ * @see Sink#section3()
+ * @see Sink#section3_()
+ * @see ColorManager.SinkColor#SECTION3_COLOR
+ */
+ Token SECTION3_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTION3_COLOR ) );
+
+ /**
+ * @see Sink#section4()
+ * @see Sink#section4_()
+ * @see ColorManager.SinkColor#SECTION4_COLOR
+ */
+ Token SECTION4_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTION4_COLOR ) );
+
+ /**
+ * @see Sink#section5()
+ * @see Sink#section5_()
+ * @see ColorManager.SinkColor#SECTION5_COLOR
+ */
+ Token SECTION5_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTION5_COLOR ) );
+
+ /**
+ * @see Sink#sectionTitle()
+ * @see Sink#sectionTitle(int, SinkEventAttributes)
+ * @see Sink#sectionTitle_()
+ * @see Sink#sectionTitle_(int)
+ * @see ColorManager.SinkColor#SECTIONTITLE_COLOR
+ */
+ Token SECTIONTITLE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTIONTITLE_COLOR, null,
+ SWT.NORMAL, new Font( Display.getDefault(), Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getName(), Display.getDefault().getSystemFont()
+ .getFontData()[0].getHeight() + 6, SWT.BOLD ) ) );
+
+ /**
+ * @see Sink#sectionTitle1()
+ * @see Sink#sectionTitle1_()
+ * @see ColorManager.SinkColor#SECTIONTITLE1_COLOR
+ */
+ Token SECTIONTITLE1_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTIONTITLE1_COLOR, null,
+ SWT.NORMAL, new Font( Display.getDefault(), Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getName(), Display.getDefault().getSystemFont()
+ .getFontData()[0].getHeight() + 5, SWT.BOLD ) ) );
+
+ /**
+ * @see Sink#sectionTitle2()
+ * @see Sink#sectionTitle2_()
+ * @see ColorManager.SinkColor#SECTIONTITLE2_COLOR
+ */
+ Token SECTIONTITLE2_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTIONTITLE2_COLOR, null,
+ SWT.NORMAL, new Font( Display.getDefault(), Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getName(), Display.getDefault().getSystemFont()
+ .getFontData()[0].getHeight() + 4, SWT.BOLD ) ) );
+
+ /**
+ * @see Sink#sectionTitle3()
+ * @see Sink#sectionTitle3_()
+ * @see ColorManager.SinkColor#SECTIONTITLE3_COLOR
+ */
+ Token SECTIONTITLE3_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTIONTITLE3_COLOR, null,
+ SWT.NORMAL, new Font( Display.getDefault(), Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getName(), Display.getDefault().getSystemFont()
+ .getFontData()[0].getHeight() + 3, SWT.BOLD ) ) );
+
+ /**
+ * @see Sink#sectionTitle4()
+ * @see Sink#sectionTitle4_()
+ * @see ColorManager.SinkColor#SECTIONTITLE4_COLOR
+ */
+ Token SECTIONTITLE4_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTIONTITLE4_COLOR, null,
+ SWT.NORMAL, new Font( Display.getDefault(), Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getName(), Display.getDefault().getSystemFont()
+ .getFontData()[0].getHeight() + 2, SWT.BOLD ) ) );
+
+ /**
+ * @see Sink#sectionTitle5()
+ * @see Sink#sectionTitle5_()
+ * @see ColorManager.SinkColor#SECTIONTITLE5_COLOR
+ */
+ Token SECTIONTITLE5_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.SECTIONTITLE5_COLOR, null,
+ SWT.NORMAL, new Font( Display.getDefault(), Display
+ .getDefault().getSystemFont().getFontData()[0]
+ .getName(), Display.getDefault().getSystemFont()
+ .getFontData()[0].getHeight() + 1, SWT.BOLD ) ) );
+
+ /**
+ * @see Sink#table()
+ * @see Sink#table(SinkEventAttributes)
+ * @see Sink#table_()
+ * @see ColorManager.SinkColor#TABLE_COLOR
+ */
+ Token TABLE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.TABLE_COLOR ) );
+
+ /**
+ * @see Sink#tableCaption()
+ * @see Sink#tableCaption(SinkEventAttributes)
+ * @see Sink#tableCaption_()
+ * @see ColorManager.SinkColor#TABLECAPTION_COLOR
+ */
+ Token TABLECAPTION_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.TABLECAPTION_COLOR ) );
+
+ /**
+ * @see Sink#tableCell()
+ * @see Sink#tableCell(SinkEventAttributes)
+ * @see Sink#tableCell_()
+ * @see Sink#tableCell(String)
+ * @see ColorManager.SinkColor#TABLECELL_COLOR
+ */
+ Token TABLECELL_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.TABLECELL_COLOR ) );
+
+ /**
+ * @see Sink#tableHeaderCell()
+ * @see Sink#tableHeaderCell(SinkEventAttributes)
+ * @see Sink#tableHeaderCell_()
+ * @see Sink#tableHeaderCell(String)
+ * @see ColorManager.SinkColor#TABLEHEADERCELL_COLOR
+ */
+ Token TABLEHEADERCELL_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.TABLEHEADERCELL_COLOR ) );
+
+ /**
+ * @see Sink#tableRow()
+ * @see Sink#tableRow(SinkEventAttributes)
+ * @see Sink#tableRow_()
+ * @see Sink#tableRows(int[], boolean)
+ * @see Sink#tableRows_()
+ * @see ColorManager.SinkColor#TABLEROW_COLOR
+ */
+ Token TABLEROW_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.TABLEROW_COLOR ) );
+
+ /**
+ * @see Sink#title()
+ * @see Sink#title(SinkEventAttributes)
+ * @see Sink#title_()
+ * @see ColorManager.SinkColor#TITLE_COLOR
+ */
+ Token TITLE_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.TITLE_COLOR ) );
+
+ /**
+ * @see Sink#verbatim(boolean)
+ * @see Sink#verbatim(SinkEventAttributes)
+ * @see Sink#verbatim_()
+ * @see ColorManager.SinkColor#VERBATIM_COLOR
+ */
+ Token VERBATIM_TOKEN = new Token( new TextAttribute( ColorManager.SinkColor.VERBATIM_COLOR ) );
}
}