src/Pure/PIDE/resources.scala
changeset 65357 9a2c266f97c8
parent 65355 403eabd73c9a
child 65358 e345e9420109
equal deleted inserted replaced
65356:b96cf915de75 65357:9a2c266f97c8
    75       val spans = syntax.parse_spans(text)
    75       val spans = syntax.parse_spans(text)
    76       spans.iterator.map(Command.span_files(syntax, _)._1).flatten.toList
    76       spans.iterator.map(Command.span_files(syntax, _)._1).flatten.toList
    77     }
    77     }
    78     else Nil
    78     else Nil
    79 
    79 
    80   private def dummy_name(theory: String): Document.Node.Name =
       
    81     Document.Node.Name(theory + ".thy", "", theory)
       
    82 
       
    83   def import_name(qualifier: String, master: Document.Node.Name, s: String): Document.Node.Name =
    80   def import_name(qualifier: String, master: Document.Node.Name, s: String): Document.Node.Name =
    84   {
    81   {
    85     val no_qualifier = "" // FIXME
    82     val no_qualifier = "" // FIXME
    86     val thy1 = Thy_Header.base_name(s)
    83     val thy1 = Thy_Header.base_name(s)
    87     val thy2 = if (Long_Name.is_qualified(thy1)) thy1 else Long_Name.qualify(no_qualifier, thy1)
    84     val thy2 = if (Long_Name.is_qualified(thy1)) thy1 else Long_Name.qualify(no_qualifier, thy1)
    88     (base.known_theories.get(thy1) orElse
    85     (base.known_theories.get(thy1) orElse
    89      base.known_theories.get(thy2) orElse
    86      base.known_theories.get(thy2) orElse
    90      base.known_theories.get(Long_Name.base_name(thy1))) match {
    87      base.known_theories.get(Long_Name.base_name(thy1))) match {
    91       case Some(name) if base.loaded_theory(name) => dummy_name(name.theory)
    88       case Some(name) if base.loaded_theory(name) => Document.Node.Name.theory(name.theory)
    92       case Some(name) => name
    89       case Some(name) => name
    93       case None =>
    90       case None =>
    94         val path = Path.explode(s)
    91         val path = Path.explode(s)
    95         val theory = path.base.implode
    92         val theory = path.base.implode
    96         if (Long_Name.is_qualified(theory)) dummy_name(theory)
    93         if (Long_Name.is_qualified(theory)) Document.Node.Name.theory(theory)
    97         else {
    94         else {
    98           val node = append(master.master_dir, thy_path(path))
    95           val node = append(master.master_dir, thy_path(path))
    99           val master_dir = append(master.master_dir, path.dir)
    96           val master_dir = append(master.master_dir, path.dir)
   100           Document.Node.Name(node, master_dir, Long_Name.qualify(no_qualifier, theory))
    97           Document.Node.Name(node, master_dir, Long_Name.qualify(no_qualifier, theory))
   101         }
    98         }