| author | wenzelm | 
| Sun, 20 May 2018 20:31:40 +0200 | |
| changeset 68234 | 07eb13eb4065 | 
| 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  | 
}  |