src/Tools/VSCode/src/document_model.scala
changeset 65120 db6cc23fcf33
parent 65115 93a0683e075a
child 65140 1191df79aa1c
equal deleted inserted replaced
65119:a7bedf94e71c 65120:db6cc23fcf33
   123 
   123 
   124   def publish(rendering: VSCode_Rendering):
   124   def publish(rendering: VSCode_Rendering):
   125     (Option[List[Text.Info[Command.Results]]], Option[List[Document_Model.Decoration]], Document_Model) =
   125     (Option[List[Text.Info[Command.Results]]], Option[List[Document_Model.Decoration]], Document_Model) =
   126   {
   126   {
   127     val diagnostics = rendering.diagnostics
   127     val diagnostics = rendering.diagnostics
   128     val decorations = if (node_visible) rendering.decorations else Nil
   128     val decorations =
       
   129       if (node_visible) rendering.decorations
       
   130       else { for (deco <- published_decorations) yield Document_Model.Decoration(deco.typ, Nil) }
   129 
   131 
   130     val changed_diagnostics =
   132     val changed_diagnostics =
   131       if (diagnostics == published_diagnostics) None else Some(diagnostics)
   133       if (diagnostics == published_diagnostics) None else Some(diagnostics)
   132     val changed_decorations =
   134     val changed_decorations =
   133       if (decorations == published_decorations) None
   135       if (decorations == published_decorations) None
   134       else if (decorations.length != published_decorations.length) Some(decorations)
   136       else if (published_decorations.isEmpty) Some(decorations)
   135       else Some(for { (a, b) <- decorations zip published_decorations if a != b } yield a)
   137       else Some(for { (a, b) <- decorations zip published_decorations if a != b } yield a)
   136 
   138 
   137     (changed_diagnostics, changed_decorations,
   139     (changed_diagnostics, changed_decorations,
   138       copy(published_diagnostics = diagnostics, published_decorations = decorations))
   140       copy(published_diagnostics = diagnostics, published_decorations = decorations))
   139   }
   141   }