equal
deleted
inserted
replaced
100 markup == Isabelle_Markup.ERROR => |
100 markup == Isabelle_Markup.ERROR => |
101 msgs + (serial -> |
101 msgs + (serial -> |
102 Pretty.string_of(List(msg), margin = Isabelle.Int_Property("tooltip-margin"))) |
102 Pretty.string_of(List(msg), margin = Isabelle.Int_Property("tooltip-margin"))) |
103 }) match { |
103 }) match { |
104 case Text.Info(_, msgs) #:: _ if !msgs.isEmpty => |
104 case Text.Info(_, msgs) #:: _ if !msgs.isEmpty => |
105 Some(msgs.iterator.map(_._2).mkString("\n")) |
105 Some(cat_lines(msgs.iterator.map(_._2))) |
106 case _ => None |
106 case _ => None |
107 } |
107 } |
108 |
108 |
109 def gutter_message(snapshot: Document.Snapshot, range: Text.Range): Option[Icon] = |
109 def gutter_message(snapshot: Document.Snapshot, range: Text.Range): Option[Icon] = |
110 { |
110 { |
254 |
254 |
255 val tips = |
255 val tips = |
256 (tip1 match { case Text.Info(_, Some(text)) #:: _ => List(text) case _ => Nil }) ::: |
256 (tip1 match { case Text.Info(_, Some(text)) #:: _ => List(text) case _ => Nil }) ::: |
257 (tip2 match { case Text.Info(_, Some(text)) #:: _ => List(text) case _ => Nil }) |
257 (tip2 match { case Text.Info(_, Some(text)) #:: _ => List(text) case _ => Nil }) |
258 |
258 |
259 if (tips.isEmpty) None else Some(tips.mkString("\n")) |
259 if (tips.isEmpty) None else Some(cat_lines(tips)) |
260 } |
260 } |
261 |
261 |
262 private val subexp_include = |
262 private val subexp_include = |
263 Set(Isabelle_Markup.SORT, Isabelle_Markup.TYP, Isabelle_Markup.TERM, Isabelle_Markup.PROP, |
263 Set(Isabelle_Markup.SORT, Isabelle_Markup.TYP, Isabelle_Markup.TERM, Isabelle_Markup.PROP, |
264 Isabelle_Markup.ML_TYPING, Isabelle_Markup.TOKEN_RANGE, Isabelle_Markup.ENTITY, |
264 Isabelle_Markup.ML_TYPING, Isabelle_Markup.TOKEN_RANGE, Isabelle_Markup.ENTITY, |