src/Tools/jEdit/src/document_model.scala
changeset 75148 90678a1929a3
parent 75146 1ef43607aef2
child 75380 2cb2606ce075
equal deleted inserted replaced
75147:f9d2a9e94138 75148:90678a1929a3
   293   }
   293   }
   294 
   294 
   295 
   295 
   296   /* HTTP preview */
   296   /* HTTP preview */
   297 
   297 
   298   private val plain_text_prefix = "plain_text="
       
   299 
       
   300   def open_preview(view: View, plain_text: Boolean): Unit =
   298   def open_preview(view: View, plain_text: Boolean): Unit =
   301   {
   299   {
   302     Document_Model.get(view.getBuffer) match {
   300     Document_Model.get(view.getBuffer) match {
   303       case Some(model) =>
   301       case Some(model) =>
   304         val name = model.node_name
   302         val url = Preview_Service.server_url(plain_text, model.node_name)
   305         val url =
       
   306           PIDE.plugin.http_server.url + "/" + Preview_Service.name + "?" +
       
   307               (if (plain_text) plain_text_prefix else "") + Url.encode(name.node)
       
   308         PIDE.editor.hyperlink_url(url).follow(view)
   303         PIDE.editor.hyperlink_url(url).follow(view)
   309       case _ =>
   304       case _ =>
   310     }
   305     }
   311   }
   306   }
   312 
   307 
   313   object Preview_Service extends HTTP.Service("preview")
   308   object Preview_Service extends HTTP.Service("preview")
   314   {
   309   {
       
   310     service =>
       
   311 
       
   312     private val plain_text_prefix = "plain_text="
       
   313 
       
   314     def server_url(plain_text: Boolean, node_name: Document.Node.Name): String =
       
   315       PIDE.plugin.http_server.url + "/" + service.name + "?" +
       
   316         (if (plain_text) plain_text_prefix else "") + Url.encode(node_name.node)
       
   317 
   315     def apply(request: HTTP.Request): Option[HTTP.Response] =
   318     def apply(request: HTTP.Request): Option[HTTP.Response] =
   316       for {
   319       for {
   317         query <- request.decode_query
   320         query <- request.decode_query
   318         name = Library.perhaps_unprefix(plain_text_prefix, query)
   321         name = Library.perhaps_unprefix(plain_text_prefix, query)
   319         model <- get(PIDE.resources.node_name(name))
   322         model <- get(PIDE.resources.node_name(name))