src/Pure/Thy/bibtex.scala
changeset 77028 f5896dea6fce
parent 77025 34219d664854
child 77029 1046a69fabaa
--- a/src/Pure/Thy/bibtex.scala	Fri Jan 20 16:30:09 2023 +0100
+++ b/src/Pure/Thy/bibtex.scala	Fri Jan 20 19:52:52 2023 +0100
@@ -210,6 +210,24 @@
       new Entries(entries ::: other.entries, errors ::: other.errors)
   }
 
+  object Session_Entries extends Scala.Fun("bibtex_session_entries") {
+    val here = Scala_Project.here
+
+    override def invoke(session: Session, args: List[Bytes]): List[Bytes] = {
+      val sessions = session.resources.sessions_structure
+      val id = Value.Long.parse(Library.the_single(args).text)
+      val qualifier =
+        session.get_state().lookup_id(id) match {
+          case None => Sessions.DRAFT
+          case Some(st) => sessions.theory_qualifier(st.command.node_name.theory)
+        }
+      val res =
+        if (qualifier == Sessions.DRAFT || !sessions.defined(qualifier)) Nil
+        else qualifier :: sessions(qualifier).bibtex_entries.entries.map(_.info)
+      res.map(Bytes.apply)
+    }
+  }
+
 
   /* completion */