203 { |
203 { |
204 snapshot.cumulate_markup[List[Text.Info[Hyperlink]]](range, Nil, Some(hyperlink_include), |
204 snapshot.cumulate_markup[List[Text.Info[Hyperlink]]](range, Nil, Some(hyperlink_include), |
205 { |
205 { |
206 case (links, Text.Info(info_range, XML.Elem(Markup.Path(name), _))) |
206 case (links, Text.Info(info_range, XML.Elem(Markup.Path(name), _))) |
207 if Path.is_ok(name) => |
207 if Path.is_ok(name) => |
208 val jedit_file = Isabelle.thy_load.append(snapshot.node_name.dir, Path.explode(name)) |
208 val jedit_file = PIDE.thy_load.append(snapshot.node_name.dir, Path.explode(name)) |
209 Text.Info(snapshot.convert(info_range), Hyperlink(jedit_file, 0, 0)) :: links |
209 Text.Info(snapshot.convert(info_range), Hyperlink(jedit_file, 0, 0)) :: links |
210 |
210 |
211 case (links, Text.Info(info_range, XML.Elem(Markup(Markup.ENTITY, props), _))) |
211 case (links, Text.Info(info_range, XML.Elem(Markup(Markup.ENTITY, props), _))) |
212 if !props.exists( |
212 if !props.exists( |
213 { case (Markup.KIND, Markup.ML_OPEN) => true |
213 { case (Markup.KIND, Markup.ML_OPEN) => true |
302 case (prev, Text.Info(r, XML.Elem(Markup.Entity(kind, name), _))) => |
302 case (prev, Text.Info(r, XML.Elem(Markup.Entity(kind, name), _))) => |
303 val kind1 = space_explode('_', kind).mkString(" ") |
303 val kind1 = space_explode('_', kind).mkString(" ") |
304 add(prev, r, (true, XML.Text(kind1 + " " + quote(name)))) |
304 add(prev, r, (true, XML.Text(kind1 + " " + quote(name)))) |
305 case (prev, Text.Info(r, XML.Elem(Markup.Path(name), _))) |
305 case (prev, Text.Info(r, XML.Elem(Markup.Path(name), _))) |
306 if Path.is_ok(name) => |
306 if Path.is_ok(name) => |
307 val jedit_file = Isabelle.thy_load.append(snapshot.node_name.dir, Path.explode(name)) |
307 val jedit_file = PIDE.thy_load.append(snapshot.node_name.dir, Path.explode(name)) |
308 add(prev, r, (true, XML.Text("file " + quote(jedit_file)))) |
308 add(prev, r, (true, XML.Text("file " + quote(jedit_file)))) |
309 case (prev, Text.Info(r, XML.Elem(Markup(name, _), body))) |
309 case (prev, Text.Info(r, XML.Elem(Markup(name, _), body))) |
310 if name == Markup.SORTING || name == Markup.TYPING => |
310 if name == Markup.SORTING || name == Markup.TYPING => |
311 add(prev, r, (true, pretty_typing("::", body))) |
311 add(prev, r, (true, pretty_typing("::", body))) |
312 case (prev, Text.Info(r, XML.Elem(Markup(Markup.ML_TYPING, _), body))) => |
312 case (prev, Text.Info(r, XML.Elem(Markup(Markup.ML_TYPING, _), body))) => |