src/Tools/jEdit/patches/extended_styles
author wenzelm
Sun, 19 Jun 2011 21:34:55 +0200
changeset 43460 2852f309174a
parent 43446 src/Tools/jEdit/patches/scriptstyles@9064e1a72c5d
child 43482 ebb90ff55b79
permissions -rw-r--r--
support for bold style within text buffer; hidden: white foreground;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
     1
diff -ru jEdit/org/gjt/sp/jedit/Buffer.java jEdit-patched/org/gjt/sp/jedit/Buffer.java
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
     2
--- jEdit/org/gjt/sp/jedit/Buffer.java	2010-05-09 14:29:25.000000000 +0200
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
     3
+++ jEdit-patched/org/gjt/sp/jedit/Buffer.java	2011-06-18 18:28:19.000000000 +0200
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
     4
@@ -2232,7 +2232,7 @@
43446
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
     5
 			start = next;
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
     6
 			token = token.next;
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
     7
 		}
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
     8
-		if (token.id == Token.END || token.id == Token.NULL)
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
     9
+		if (token.id == Token.END || (token.id % Token.ID_COUNT) == Token.NULL)
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
    10
 		{
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
    11
 			JOptionPane.showMessageDialog(jEdit.getActiveView(),
9064e1a72c5d Buffer.editSyntaxStyle: mask extended syntax styles;
wenzelm
parents: 43394
diff changeset
    12
 				jEdit.getProperty("syntax-style-no-token.message"),
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    13
diff -ru jEdit/org/gjt/sp/jedit/syntax/Token.java jEdit-patched/org/gjt/sp/jedit/syntax/Token.java
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    14
--- jEdit/org/gjt/sp/jedit/syntax/Token.java	2010-05-09 14:29:24.000000000 +0200
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    15
+++ jEdit-patched/org/gjt/sp/jedit/syntax/Token.java	2011-06-18 18:28:10.000000000 +0200
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    16
@@ -57,7 +57,7 @@
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    17
 	 */
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    18
 	public static String tokenToString(byte token)
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    19
 	{
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    20
-		return (token == Token.END) ? "END" : TOKEN_TYPES[token];
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    21
+		return (token == Token.END) ? "END" : TOKEN_TYPES[token % ID_COUNT];
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    22
 	} //}}}
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    23
 
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    24
 	//{{{ Token types
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    25
diff -ru jEdit/org/gjt/sp/util/SyntaxUtilities.java jEdit-patched/org/gjt/sp/util/SyntaxUtilities.java
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    26
--- jEdit/org/gjt/sp/util/SyntaxUtilities.java	2010-05-09 14:29:29.000000000 +0200
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    27
+++ jEdit-patched/org/gjt/sp/util/SyntaxUtilities.java	2011-06-19 21:24:41.000000000 +0200
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    28
@@ -26,6 +26,7 @@
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    29
 //{{{ Imports
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    30
 import java.awt.Color;
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    31
 import java.awt.Font;
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    32
+import java.awt.font.TextAttribute;
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    33
 import java.util.Locale;
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    34
 import java.util.StringTokenizer;
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    35
 import org.gjt.sp.jedit.syntax.SyntaxStyle;
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    36
@@ -194,6 +195,22 @@
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    37
 	}
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    38
 	
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    39
 	/**
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    40
+	 * Style with sub/superscript font attribute.
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    41
+	 */
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    42
+	public static SyntaxStyle scriptStyle(SyntaxStyle style, int script)
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    43
+	{
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    44
+		java.util.Map attributes = new java.util.HashMap();
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    45
+		attributes.put(TextAttribute.SUPERSCRIPT, new Integer(script));
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    46
+		return new SyntaxStyle(style.getForegroundColor(), style.getBackgroundColor(),
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    47
+                  style.getFont().deriveFont(attributes));
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    48
+	}
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    49
+
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    50
+	public static SyntaxStyle boldStyle(SyntaxStyle style) {
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    51
+		return new SyntaxStyle(style.getForegroundColor(), style.getBackgroundColor(),
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    52
+                  style.getFont().deriveFont(Font.BOLD));
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    53
+	}
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    54
+	
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    55
+	/**
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    56
 	 * Loads the syntax styles from the properties, giving them the specified
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    57
 	 * base font family and size.
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    58
 	 * @param family The font family
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    59
@@ -203,10 +220,10 @@
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    60
 	 */
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    61
 	public static SyntaxStyle[] loadStyles(String family, int size, boolean color)
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    62
 	{
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    63
-		SyntaxStyle[] styles = new SyntaxStyle[Token.ID_COUNT];
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    64
+		SyntaxStyle[] styles = new SyntaxStyle[4 * Token.ID_COUNT + 1];
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    65
 
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    66
 		// start at 1 not 0 to skip Token.NULL
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    67
-		for(int i = 1; i < styles.length; i++)
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    68
+		for(int i = 1; i < Token.ID_COUNT; i++)
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    69
 		{
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    70
 			try
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    71
 			{
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    72
@@ -223,6 +240,17 @@
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    73
 			}
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    74
 		}
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    75
 
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    76
+		styles[0] = new SyntaxStyle(Color.black, null, new Font(family, 0, size));
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    77
+		for(int i = 0; i < Token.ID_COUNT; i++)
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    78
+		{
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    79
+			styles[i + Token.ID_COUNT] = scriptStyle(styles[i], -1);
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    80
+			styles[i + 2 * Token.ID_COUNT] = scriptStyle(styles[i], 1);
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    81
+			styles[i + 3 * Token.ID_COUNT] = boldStyle(styles[i]);
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    82
+		}
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    83
+		styles[0] = null;
43460
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    84
+		styles[4 * Token.ID_COUNT] =
2852f309174a support for bold style within text buffer;
wenzelm
parents: 43446
diff changeset
    85
+			new SyntaxStyle(Color.white, null, new Font(family, 0, 1));
43394
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    86
+
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    87
 		return styles;
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    88
 	} //}}}
47e60a27a496 more elaborate syntax styles;
wenzelm
parents: 43390
diff changeset
    89