Module jEdit

Class EditServer

java.lang.Object
java.lang.Thread
org.gjt.sp.jedit.EditServer
All Implemented Interfaces:
Runnable

public class EditServer extends Thread
Inter-process communication.

The edit server protocol is very simple. jEditSettingsDir/server is an ASCII file containing two lines, the first being the port number, the second being the authorization key.

You connect to that port on the local machine, sending the authorization key as four bytes in network byte order, followed by the length of the BeanShell script as two bytes in network byte order, followed by the script in UTF8 encoding. After the socked is closed, the BeanShell script will be executed by jEdit.

The snippet is executed in the AWT thread. None of the usual BeanShell variables (view, buffer, textArea, editPane) are set so the script has to figure things out by itself.

In most cases, the script will call the static handleClient(boolean,String,String[]) method, but of course more complicated stuff can be done too.

Version:
$Id: EditServer.java 25137 2020-04-06 15:24:02Z kpouer $
Author:
Slava Pestov
  • Method Details

    • run

      public void run()
      Specified by:
      run in interface Runnable
      Overrides:
      run in class Thread
    • handleClient

      public static void handleClient(boolean restore, String parent, String[] args)
      Parameters:
      restore - Ignored unless no views are open
      parent - The client's parent directory
      args - A list of files. Null entries are ignored, for convinience
      Since:
      jEdit 3.2pre7
    • handleClient

      public static Buffer handleClient(boolean restore, boolean newView, boolean newPlainView, String parent, String[] args)
      Parameters:
      restore - Ignored unless no views are open
      newView - Open a new view?
      newPlainView - Open a new plain view?
      parent - The client's parent directory
      args - A list of files. Null entries are ignored, for convenience
      Returns:
      the buffer
      Since:
      jEdit 4.2pre1
    • getPort

      public int getPort()