src/Tools/VSCode/src/dynamic_output.scala
changeset 73340 0ffcad1f6130
parent 72761 4519eeefe3b5
child 75126 da1108a6d249
equal deleted inserted replaced
73339:9efdebe24c65 73340:0ffcad1f6130
    48 
    48 
    49 class Dynamic_Output private(server: Language_Server)
    49 class Dynamic_Output private(server: Language_Server)
    50 {
    50 {
    51   private val state = Synchronized(Dynamic_Output.State())
    51   private val state = Synchronized(Dynamic_Output.State())
    52 
    52 
    53   private def handle_update(restriction: Option[Set[Command]])
    53   private def handle_update(restriction: Option[Set[Command]]): Unit =
    54   { state.change(_.handle_update(server.resources, server.channel, restriction)) }
    54     state.change(_.handle_update(server.resources, server.channel, restriction))
    55 
    55 
    56 
    56 
    57   /* main */
    57   /* main */
    58 
    58 
    59   private val main =
    59   private val main =
    63 
    63 
    64       case Session.Caret_Focus =>
    64       case Session.Caret_Focus =>
    65         handle_update(None)
    65         handle_update(None)
    66     }
    66     }
    67 
    67 
    68   def init()
    68   def init(): Unit =
    69   {
    69   {
    70     server.session.commands_changed += main
    70     server.session.commands_changed += main
    71     server.session.caret_focus += main
    71     server.session.caret_focus += main
    72     handle_update(None)
    72     handle_update(None)
    73   }
    73   }
    74 
    74 
    75   def exit()
    75   def exit(): Unit =
    76   {
    76   {
    77     server.session.commands_changed -= main
    77     server.session.commands_changed -= main
    78     server.session.caret_focus -= main
    78     server.session.caret_focus -= main
    79   }
    79   }
    80 }
    80 }