author | wenzelm |
Sun, 12 Aug 2018 14:28:28 +0200 | |
changeset 68743 | 91162dd89571 |
parent 66602 | 180b2e72601f |
child 73340 | 0ffcad1f6130 |
permissions | -rw-r--r-- |
66555
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
1 |
/* Title: Tools/jEdit/src-base/syntax_style.scala |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
2 |
Author: Makarius |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
3 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
4 |
Extended syntax styles: dummy version. |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
5 |
*/ |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
6 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
7 |
package isabelle.jedit_base |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
8 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
9 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
10 |
import isabelle._ |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
11 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
12 |
import org.gjt.sp.util.SyntaxUtilities |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
13 |
import org.gjt.sp.jedit.syntax.{Token => JEditToken, SyntaxStyle} |
66602
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
14 |
import org.gjt.sp.jedit.jEdit |
66555
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
15 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
16 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
17 |
object Syntax_Style |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
18 |
{ |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
19 |
private val plain_range: Int = JEditToken.ID_COUNT |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
20 |
private val full_range = 6 * plain_range + 1 |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
21 |
|
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
22 |
object Dummy_Extender extends SyntaxUtilities.StyleExtender |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
23 |
{ |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
24 |
override def extendStyles(styles: Array[SyntaxStyle]): Array[SyntaxStyle] = |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
25 |
{ |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
26 |
val new_styles = new Array[SyntaxStyle](full_range) |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
27 |
for (i <- 0 until full_range) { |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
28 |
new_styles(i) = styles(i % plain_range) |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
29 |
} |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
30 |
new_styles |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
31 |
} |
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
32 |
} |
66602
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
33 |
|
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
34 |
def set_style_extender(extender: SyntaxUtilities.StyleExtender) |
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
35 |
{ |
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
36 |
SyntaxUtilities.setStyleExtender(extender) |
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
37 |
GUI_Thread.later { jEdit.propertiesChanged } |
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
38 |
} |
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
39 |
|
180b2e72601f
more thorough change of syntax style extender: jEdit.propertiesChanged invalidates buffer chunk cache;
wenzelm
parents:
66555
diff
changeset
|
40 |
def dummy_style_extender() { set_style_extender(Dummy_Extender) } |
66555
39257f39c7da
more robust: fall-back for SyntaxUtilities.StyleExtender when Isabelle plugin is unloaded;
wenzelm
parents:
diff
changeset
|
41 |
} |