66 } |
66 } |
67 } |
67 } |
68 |
68 |
69 |
69 |
70 /* markup selectors */ |
70 /* markup selectors */ |
71 |
|
72 private val subexp_include = |
|
73 Set(Markup.SORT, Markup.TYP, Markup.TERM, Markup.PROP, Markup.ML_TYPING, Markup.TOKEN_RANGE, |
|
74 Markup.ENTITY, Markup.FREE, Markup.SKOLEM, Markup.BOUND, Markup.VAR) |
|
75 |
|
76 val subexp: Markup_Tree.Select[(Text.Range, Color)] = |
|
77 { |
|
78 case Text.Info(range, XML.Elem(Markup(name, _), _)) if subexp_include(name) => |
|
79 (range, Color.black) |
|
80 } |
|
81 |
71 |
82 val message: Markup_Tree.Select[Color] = |
72 val message: Markup_Tree.Select[Color] = |
83 { |
73 { |
84 case Text.Info(_, XML.Elem(Markup(Markup.WRITELN, _), _)) => regular_color |
74 case Text.Info(_, XML.Elem(Markup(Markup.WRITELN, _), _)) => regular_color |
85 case Text.Info(_, XML.Elem(Markup(Markup.WARNING, _), _)) => warning_color |
75 case Text.Info(_, XML.Elem(Markup(Markup.WARNING, _), _)) => warning_color |
123 case Text.Info(_, XML.Elem(Markup(Markup.TOKEN_RANGE, _), _)) => "inner syntax token" |
113 case Text.Info(_, XML.Elem(Markup(Markup.TOKEN_RANGE, _), _)) => "inner syntax token" |
124 case Text.Info(_, XML.Elem(Markup(Markup.FREE, _), _)) => "free variable (globally fixed)" |
114 case Text.Info(_, XML.Elem(Markup(Markup.FREE, _), _)) => "free variable (globally fixed)" |
125 case Text.Info(_, XML.Elem(Markup(Markup.SKOLEM, _), _)) => "skolem variable (locally fixed)" |
115 case Text.Info(_, XML.Elem(Markup(Markup.SKOLEM, _), _)) => "skolem variable (locally fixed)" |
126 case Text.Info(_, XML.Elem(Markup(Markup.BOUND, _), _)) => "bound variable (internally fixed)" |
116 case Text.Info(_, XML.Elem(Markup(Markup.BOUND, _), _)) => "bound variable (internally fixed)" |
127 case Text.Info(_, XML.Elem(Markup(Markup.VAR, _), _)) => "schematic variable" |
117 case Text.Info(_, XML.Elem(Markup(Markup.VAR, _), _)) => "schematic variable" |
|
118 case Text.Info(_, XML.Elem(Markup(Markup.TFREE, _), _)) => "free type variable" |
|
119 case Text.Info(_, XML.Elem(Markup(Markup.TVAR, _), _)) => "schematic type variable" |
|
120 } |
|
121 |
|
122 private val subexp_include = |
|
123 Set(Markup.SORT, Markup.TYP, Markup.TERM, Markup.PROP, Markup.ML_TYPING, Markup.TOKEN_RANGE, |
|
124 Markup.ENTITY, Markup.FREE, Markup.SKOLEM, Markup.BOUND, Markup.VAR, |
|
125 Markup.TFREE, Markup.TVAR) |
|
126 |
|
127 val subexp: Markup_Tree.Select[(Text.Range, Color)] = |
|
128 { |
|
129 case Text.Info(range, XML.Elem(Markup(name, _), _)) if subexp_include(name) => |
|
130 (range, Color.black) |
128 } |
131 } |
129 |
132 |
130 |
133 |
131 /* token markup -- text styles */ |
134 /* token markup -- text styles */ |
132 |
135 |