src/Tools/jEdit/src/plugin.scala
changeset 65246 848965b5befc
parent 65245 e955b33f432c
child 65247 63d91d5de121
equal deleted inserted replaced
65245:e955b33f432c 65246:848965b5befc
    40 
    40 
    41   def resources(): JEdit_Resources =
    41   def resources(): JEdit_Resources =
    42     session.resources.asInstanceOf[JEdit_Resources]
    42     session.resources.asInstanceOf[JEdit_Resources]
    43 
    43 
    44   def debugger: Debugger = session.debugger
    44   def debugger: Debugger = session.debugger
    45 
       
    46   lazy val editor = new JEdit_Editor
       
    47 
    45 
    48 
    46 
    49   /* current document content */
    47   /* current document content */
    50 
    48 
    51   def snapshot(view: View): Document.Snapshot = GUI_Thread.now
    49   def snapshot(view: View): Document.Snapshot = GUI_Thread.now
   173 
   171 
   174   private lazy val delay_load =
   172   private lazy val delay_load =
   175     GUI_Thread.delay_last(PIDE.options.seconds("editor_load_delay")) { delay_load_action() }
   173     GUI_Thread.delay_last(PIDE.options.seconds("editor_load_delay")) { delay_load_action() }
   176 
   174 
   177   private def file_watcher_action(changed: Set[JFile]): Unit =
   175   private def file_watcher_action(changed: Set[JFile]): Unit =
   178     if (Document_Model.sync_files(changed)) PIDE.editor.invoke_generated()
   176     if (Document_Model.sync_files(changed)) JEdit_Editor.invoke_generated()
   179 
   177 
   180   lazy val file_watcher: File_Watcher =
   178   lazy val file_watcher: File_Watcher =
   181     File_Watcher(file_watcher_action _, PIDE.options.seconds("editor_load_delay"))
   179     File_Watcher(file_watcher_action _, PIDE.options.seconds("editor_load_delay"))
   182 
   180 
   183 
   181 
   212 
   210 
   213     case Session.Shutdown =>
   211     case Session.Shutdown =>
   214       GUI_Thread.later {
   212       GUI_Thread.later {
   215         delay_load.revoke()
   213         delay_load.revoke()
   216         delay_init.revoke()
   214         delay_init.revoke()
   217         PIDE.editor.flush()
   215         JEdit_Editor.flush()
   218         exit_models(JEdit_Lib.jedit_buffers().toList)
   216         exit_models(JEdit_Lib.jedit_buffers().toList)
   219       }
   217       }
   220 
   218 
   221     case _ =>
   219     case _ =>
   222   }
   220   }
   236   }
   234   }
   237 
   235 
   238   def init_models()
   236   def init_models()
   239   {
   237   {
   240     GUI_Thread.now {
   238     GUI_Thread.now {
   241       PIDE.editor.flush()
   239       JEdit_Editor.flush()
   242 
   240 
   243       for {
   241       for {
   244         buffer <- JEdit_Lib.jedit_buffers()
   242         buffer <- JEdit_Lib.jedit_buffers()
   245         if buffer != null && !buffer.getBooleanProperty(Buffer.GZIPPED)
   243         if buffer != null && !buffer.getBooleanProperty(Buffer.GZIPPED)
   246       } {
   244       } {
   255           }
   253           }
   256         }
   254         }
   257         else delay_init.invoke()
   255         else delay_init.invoke()
   258       }
   256       }
   259 
   257 
   260       PIDE.editor.invoke_generated()
   258       JEdit_Editor.invoke_generated()
   261     }
   259     }
   262   }
   260   }
   263 
   261 
   264   def init_view(buffer: Buffer, text_area: JEditTextArea): Unit =
   262   def init_view(buffer: Buffer, text_area: JEditTextArea): Unit =
   265     GUI_Thread.now {
   263     GUI_Thread.now {
   312 
   310 
   313           Session_Build.session_build(view)
   311           Session_Build.session_build(view)
   314 
   312 
   315           Keymap_Merge.check_dialog(view)
   313           Keymap_Merge.check_dialog(view)
   316 
   314 
   317           PIDE.editor.hyperlink_position(true, Document.Snapshot.init,
   315           JEdit_Editor.hyperlink_position(true, Document.Snapshot.init,
   318             JEdit_Sessions.session_info().open_root).foreach(_.follow(view))
   316             JEdit_Sessions.session_info().open_root).foreach(_.follow(view))
   319 
   317 
   320         case msg: BufferUpdate
   318         case msg: BufferUpdate
   321         if msg.getWhat == BufferUpdate.LOAD_STARTED || msg.getWhat == BufferUpdate.CLOSING =>
   319         if msg.getWhat == BufferUpdate.LOAD_STARTED || msg.getWhat == BufferUpdate.CLOSING =>
   322           if (msg.getBuffer != null) {
   320           if (msg.getBuffer != null) {
   323             exit_models(List(msg.getBuffer))
   321             exit_models(List(msg.getBuffer))
   324             PIDE.editor.invoke_generated()
   322             JEdit_Editor.invoke_generated()
   325           }
   323           }
   326 
   324 
   327         case msg: BufferUpdate
   325         case msg: BufferUpdate
   328         if msg.getWhat == BufferUpdate.PROPERTIES_CHANGED || msg.getWhat == BufferUpdate.LOADED =>
   326         if msg.getWhat == BufferUpdate.PROPERTIES_CHANGED || msg.getWhat == BufferUpdate.LOADED =>
   329           if (PIDE.session.is_ready) {
   327           if (PIDE.session.is_ready) {