## org.gjt.sp.jedit
Class BeanShell

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

    public class BeanShell

extends java.lang.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.

Constructor Summary
`BeanShell()`

Method Summary
`static java.lang.Object` `_eval(View view, NameSpace namespace, java.lang.String command)` Evaluates the specified BeanShell expression.
`static void` `_runScript(View view, java.lang.String path, java.io.Reader in, boolean ownNamespace)` Runs a BeanShell script.
`static void` `_runScript(View view, java.lang.String path, java.io.Reader in, NameSpace namespace)` Runs a BeanShell script.
`static BshMethod` `cacheBlock(java.lang.String id, java.lang.String code, boolean namespace)` Caches a block of code, returning a handle that can be passed to runCachedBlock().
`static java.lang.Object` `eval(View view, NameSpace namespace, java.lang.String command)` Evaluates the specified BeanShell expression.
`static void` `evalSelection(View view, JEditTextArea textArea)` Evaluates the text selected in the specified text area.
`static NameSpace` `getNameSpace()` Returns the global namespace.
`static boolean` `isScriptRunning()` Returns if a BeanShell script or macro is currently running.
`static java.lang.Object` `runCachedBlock(BshMethod method, View view, NameSpace namespace)` Runs a cached block of code in the specified namespace.
`static void` `runScript(View view, java.lang.String path, java.io.Reader in, boolean ownNamespace)` Runs a BeanShell script.
`static void` `runScript(View view, java.lang.String path, java.io.Reader in, NameSpace namespace)` Runs a BeanShell script.
`static void` `showEvaluateDialog(View view)` Prompts for a BeanShell expression to evaluate.
`static void` `showEvaluateLinesDialog(View view)` Evaluates the specified script for each selected line.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BeanShell

    public BeanShell()

Method Detail

### evalSelection

    public static void evalSelection(View view,
                                     JEditTextArea textArea)

  Evaluates the text selected in the specified text area.

  Since:
    jEdit 2.7pre2

### showEvaluateDialog

    public static void showEvaluateDialog(View view)

  Prompts for a BeanShell expression to evaluate.

  Since:
    jEdit 2.7pre2

### showEvaluateLinesDialog

    public static void showEvaluateLinesDialog(View view)

  Evaluates the specified script for each selected line.

  Since:
    jEdit 4.0pre1

### runScript

    public static void runScript(View view,
                                 java.lang.String path,
                                 java.io.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,
                                 java.lang.String path,
                                 java.io.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,
                                  java.lang.String path,
                                  java.io.Reader in,
                                  boolean ownNamespace)
                           throws java.lang.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:
    `java.lang.Exception` - instances are thrown when various BeanShell errors occur
  Since:
    jEdit 4.0pre7

### _runScript

    public static void _runScript(View view,
                                  java.lang.String path,
                                  java.io.Reader in,
                                  NameSpace namespace)
                           throws java.lang.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:
    `java.lang.Exception` - instances are thrown when various BeanShell errors occur
  Since:
    jEdit 4.2pre5

### eval

    public static java.lang.Object eval(View view,
                                        NameSpace namespace,
                                        java.lang.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
  Since:
    jEdit 4.0pre8

### _eval

    public static java.lang.Object _eval(View view,
                                         NameSpace namespace,
                                         java.lang.String command)
                                  throws java.lang.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
  Throws:
    `java.lang.Exception` - instances are thrown when various BeanShell errors occur
  Since:
    jEdit 3.2pre7

### cacheBlock

    public static BshMethod cacheBlock(java.lang.String id,
                                       java.lang.String code,
                                       boolean namespace)
                                throws java.lang.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
  Throws:
    `java.lang.Exception` - instances are thrown when various BeanShell errors occur
  Since:
    jEdit 4.1pre1

### runCachedBlock

    public static java.lang.Object runCachedBlock(BshMethod method,
                                                  View view,
                                                  NameSpace namespace)
                                           throws java.lang.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
  Throws:
    `java.lang.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