src/Tools/VSCode/src/vscode_resources.scala
changeset 65115 93a0683e075a
parent 65114 200b787ceb51
child 65116 06d9bcb66ef3
equal deleted inserted replaced
65114:200b787ceb51 65115:93a0683e075a
   231         val changed_iterator =
   231         val changed_iterator =
   232           for {
   232           for {
   233             file <- st.pending_output.iterator
   233             file <- st.pending_output.iterator
   234             model <- st.models.get(file)
   234             model <- st.models.get(file)
   235             rendering = model.rendering()
   235             rendering = model.rendering()
   236             ((diagnostics, decorations), model1) <- model.publish(rendering)
   236             (changed_diags, changed_decos, model1) = model.publish(rendering)
       
   237             if changed_diags.isDefined || changed_decos.isDefined
   237           }
   238           }
   238           yield {
   239           yield {
   239             if (diagnostics.nonEmpty)
   240             for (diags <- changed_diags)
   240               channel.write(
   241               channel.write(Protocol.PublishDiagnostics(file, rendering.diagnostics_output(diags)))
   241                 Protocol.PublishDiagnostics(file, rendering.diagnostics_output(diagnostics)))
   242             for (decos <- changed_decos; deco <- decos)
   242 
   243               channel.write(rendering.decoration_output(deco).json(file))
   243             for (decoration <- decorations)
       
   244               channel.write(rendering.decoration_output(decoration).json(file))
       
   245 
       
   246             (file, model1)
   244             (file, model1)
   247           }
   245           }
   248         st.copy(
   246         st.copy(
   249           models = st.models ++ changed_iterator,
   247           models = st.models ++ changed_iterator,
   250           pending_output = Set.empty)
   248           pending_output = Set.empty)