src/Pure/PIDE/protocol.scala
changeset 56801 8dd9df88f647
parent 56746 d37a5d09a277
child 57843 d8966c09025c
equal deleted inserted replaced
56800:b904ea8edd73 56801:8dd9df88f647
   393           : T[Document.Node.Edit[Command.Edit, Command.Perspective]] =
   393           : T[Document.Node.Edit[Command.Edit, Command.Perspective]] =
   394         variant(List(
   394         variant(List(
   395           { case Document.Node.Edits(a) => (Nil, list(pair(option(id), option(id)))(a)) },
   395           { case Document.Node.Edits(a) => (Nil, list(pair(option(id), option(id)))(a)) },
   396           { case Document.Node.Deps(header) =>
   396           { case Document.Node.Deps(header) =>
   397               val master_dir = Isabelle_System.posix_path_url(name.master_dir)
   397               val master_dir = Isabelle_System.posix_path_url(name.master_dir)
       
   398               val theory = Long_Name.base_name(name.theory)
   398               val imports = header.imports.map(_.node)
   399               val imports = header.imports.map(_.node)
   399               val keywords = header.keywords.map({ case (a, b, _) => (a, b) })
   400               val keywords = header.keywords.map({ case (a, b, _) => (a, b) })
   400               (Nil,
   401               (Nil,
   401                 pair(Encode.string, pair(Encode.string, pair(list(Encode.string),
   402                 pair(Encode.string, pair(Encode.string, pair(list(Encode.string),
   402                   pair(list(pair(Encode.string,
   403                   pair(list(pair(Encode.string,
   403                     option(pair(pair(Encode.string, list(Encode.string)), list(Encode.string))))),
   404                     option(pair(pair(Encode.string, list(Encode.string)), list(Encode.string))))),
   404                   list(Encode.string)))))(
   405                   list(Encode.string)))))(
   405                 (master_dir, (name.theory, (imports, (keywords, header.errors)))))) },
   406                 (master_dir, (theory, (imports, (keywords, header.errors)))))) },
   406           { case Document.Node.Perspective(a, b, c) =>
   407           { case Document.Node.Perspective(a, b, c) =>
   407               (bool_atom(a) :: b.commands.map(cmd => long_atom(cmd.id)),
   408               (bool_atom(a) :: b.commands.map(cmd => long_atom(cmd.id)),
   408                 list(pair(id, pair(Encode.string, list(Encode.string))))(c.dest)) }))
   409                 list(pair(id, pair(Encode.string, list(Encode.string))))(c.dest)) }))
   409       def encode_edits: T[List[Document.Edit_Command]] = list((node_edit: Document.Edit_Command) =>
   410       def encode_edits: T[List[Document.Edit_Command]] = list((node_edit: Document.Edit_Command) =>
   410       {
   411       {