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

Constructors
Constructor and Description
`BeanShell()`

### Method Summary

Methods
`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