Module jEdit

Class BeanShell

java.lang.Object
org.gjt.sp.jedit.BeanShell

public class BeanShell extends Object
BeanShell is jEdit's extension language.

When run from jEdit, BeanShell code has access to the following predefined variables:

  • view - the currently active View.
  • editPane - the currently active EditPane.
  • textArea - the edit pane's JEditTextArea.
  • buffer - the edit pane's Buffer.
  • wm - the view's DockableWindowManager.
  • scriptPath - the path name of the currently executing BeanShell script.
Version:
$Id: BeanShell.java 25350 2020-07-02 06:54:09Z kpouer $
Author:
Slava Pestov
  • Constructor Details

    • BeanShell

      public BeanShell()
  • Method Details

    • evalSelection

      public static void evalSelection(View view, JEditTextArea textArea)
      Evaluates the text selected in the specified text area.
      Parameters:
      view - The view
      textArea - The text area
      Since:
      jEdit 2.7pre2
    • showEvaluateDialog

      public static void showEvaluateDialog(View view)
      Prompts for a BeanShell expression to evaluate.
      Parameters:
      view - the View
      Since:
      jEdit 2.7pre2
    • showEvaluateLinesDialog

      public static void showEvaluateLinesDialog(View view)
      Evaluates the specified script for each selected line.
      Parameters:
      view - The view
      Since:
      jEdit 4.0pre1
    • runScript

      public static void runScript(View view, String path, Reader in, boolean ownNamespace)
      Runs a BeanShell script. Errors are shown in a dialog box.

      If the in parameter is non-null, the script is read from that stream; otherwise it is read from the file identified by path.

      The scriptPath BeanShell variable is set to the path name of the script.

      Parameters:
      view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
      path - The script file's VFS path.
      in - The reader to read the script from, or null.
      ownNamespace - If set to false, methods and variables defined in the script will be available to all future uses of BeanShell; if set to true, they will be lost as soon as the script finishes executing. jEdit uses a value of false when running startup scripts, and a value of true when running all other macros.
      Since:
      jEdit 4.0pre7
    • runScript

      public static void runScript(View view, String path, Reader in, NameSpace namespace)
      Runs a BeanShell script. Errors are shown in a dialog box.

      If the in parameter is non-null, the script is read from that stream; otherwise it is read from the file identified by path.

      The scriptPath BeanShell variable is set to the path name of the script.

      Parameters:
      view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
      path - The script file's VFS path.
      in - The reader to read the script from, or null.
      namespace - The namespace to run the script in.
      Since:
      jEdit 4.2pre5
    • _runScript

      public static void _runScript(View view, String path, Reader in, boolean ownNamespace) throws Exception
      Runs a BeanShell script. Errors are passed to the caller.

      If the in parameter is non-null, the script is read from that stream; otherwise it is read from the file identified by path.

      The scriptPath BeanShell variable is set to the path name of the script.

      Parameters:
      view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
      path - The script file's VFS path.
      in - The reader to read the script from, or null.
      ownNamespace - If set to false, methods and variables defined in the script will be available to all future uses of BeanShell; if set to true, they will be lost as soon as the script finishes executing. jEdit uses a value of false when running startup scripts, and a value of true when running all other macros.
      Throws:
      Exception - instances are thrown when various BeanShell errors occur
      Since:
      jEdit 4.0pre7
    • _runScript

      public static void _runScript(View view, String path, Reader in, NameSpace namespace) throws Exception
      Runs a BeanShell script. Errors are passed to the caller.

      If the in parameter is non-null, the script is read from that stream; otherwise it is read from the file identified by path.

      The scriptPath BeanShell variable is set to the path name of the script.

      Parameters:
      view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
      path - The script file's VFS path.
      in - The reader to read the script from, or null.
      namespace - The namespace to run the script in.
      Throws:
      Exception - instances are thrown when various BeanShell errors occur
      Since:
      jEdit 4.2pre5
    • eval

      public static Object eval(View view, NameSpace namespace, String command)
      Evaluates the specified BeanShell expression. Errors are reported in a dialog box.
      Parameters:
      view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
      namespace - The namespace
      command - The expression
      Returns:
      an object
      Since:
      jEdit 4.0pre8
    • _eval

      public static Object _eval(View view, NameSpace namespace, String command) throws Exception
      Evaluates the specified BeanShell expression. Unlike eval(), this method passes any exceptions to the caller.
      Parameters:
      view - The view. Within the script, references to buffer, textArea and editPane are determined with reference to this parameter.
      namespace - The namespace
      command - The expression
      Returns:
      the object
      Throws:
      Exception - instances are thrown when various BeanShell errors occur
      Since:
      jEdit 3.2pre7
    • cacheBlock

      public static BshMethod cacheBlock(String id, String code, boolean namespace) throws Exception
      Caches a block of code, returning a handle that can be passed to runCachedBlock().
      Parameters:
      id - An identifier. If null, a unique identifier is generated
      code - The code
      namespace - If true, the namespace will be set
      Returns:
      a bsh method
      Throws:
      Exception - instances are thrown when various BeanShell errors occur
      Since:
      jEdit 4.1pre1
    • runCachedBlock

      public static Object runCachedBlock(BshMethod method, View view, NameSpace namespace) throws Exception
      Runs a cached block of code in the specified namespace. Faster than evaluating the block each time.
      Parameters:
      method - The method instance returned by cacheBlock()
      view - The view
      namespace - The namespace to run the code in
      Returns:
      an object
      Throws:
      Exception - instances are thrown when various BeanShell errors occur
      Since:
      jEdit 4.1pre1
    • isScriptRunning

      public static boolean isScriptRunning()
      Returns:
      if a BeanShell script or macro is currently running.
      Since:
      jEdit 2.7pre2
    • getNameSpace

      public static NameSpace getNameSpace()
      Returns:
      the global namespace.
      Since:
      jEdit 3.2pre5