Macros (jEdit API Documentation)
Date: 2017-03-18

org.gjt.sp.jedit

## Class Macros

- java.lang.Object
- - org.gjt.sp.jedit.Macros

-     public class Macros
      extends java.lang.Object

  This class records and runs macros.

  It also contains a few methods useful for displaying output messages or obtaining input from a macro:

  - `confirm(Component,String,int)`
  - `confirm(Component,String,int,int)`
  - `error(Component,String)`
  - `input(Component,String)`
  - `input(Component,String,String)`
  - `message(Component,String)`
  Note that plugins should not use the above methods. Call the methods in the `GUIUtilities` class instead.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Macros.Handler` Encapsulates creating and invoking macros in arbitrary scripting languages
    `static class` | `Macros.Macro` Encapsulates the macro's label, name and path.
    `static class` | `Macros.Recorder` Handles macro recording.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Macros()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static int` | `confirm(java.awt.Component comp, java.lang.String prompt, int buttons)` Utility method that can be used to ask for confirmation in a macro.
    `static int` | `confirm(java.awt.Component comp, java.lang.String prompt, int buttons, int type)` Utility method that can be used to ask for confirmation in a macro.
    `static void` | `error(java.awt.Component comp, java.lang.String message)` Utility method that can be used to display an error dialog in a macro.
    `static Macros.Handler` | `getHandler(java.lang.String name)` Returns the macro handler with the specified name, or null if there is no registered handler with that name.
    `static Macros.Handler` | `getHandlerForPathName(java.lang.String pathName)` Returns the macro handler suitable for running the specified file name, or null if there is no suitable handler.
    `static Macros.Handler[]` | `getHandlers()` Returns an array containing the list of registered macro handlers
    `static Macros.Macro` | `getLastMacro()`
    `static Macros.Macro` | `getMacro(java.lang.String macro)` Returns the macro with the specified name.
    `static ActionSet` | `getMacroActionSet()` Returns an action set with all known macros in it.
    `static java.util.Vector` | `getMacroHierarchy()` Returns a vector hierarchy with all known macros in it.
    `static java.lang.String` | `input(java.awt.Component comp, java.lang.String prompt)` Utility method that can be used to prompt for input in a macro.
    `static java.lang.String` | `input(java.awt.Component comp, java.lang.String prompt, java.lang.String defaultValue)` Utility method that can be used to prompt for input in a macro.
    `static void` | `loadMacros()` Rebuilds the macros list, and sends a MacrosChanged message (views update their Macros menu upon receiving it)
    `static void` | `message(java.awt.Component comp, java.lang.String message)` Utility method that can be used to display a message dialog in a macro.
    `static void` | `recordMacro(View view)` Starts recording a macro.
    `static void` | `recordTemporaryMacro(View view)` Starts recording a temporary macro.
    `static void` | `registerHandler(Macros.Handler handler)` Adds a macro handler to the handlers list
    `static void` | `runScript(View view, java.lang.String path, boolean ignoreUnknown)` Runs the specified script.
    `static void` | `runTemporaryMacro(View view)` Runs the temporary macro.
    `static void` | `setLastMacro(Macros.Macro macro)`
    `static void` | `showRunScriptDialog(View view)` Prompts for one or more files to run as macros
    `static void` | `stopRecording(View view)` Stops a recording currently in progress.
    `static void` | `unregisterHandler(Macros.Handler handler)` Removes a macro handler from the handlers list

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Macros

          public Macros()

  - ### Method Detail

    - #### showRunScriptDialog

          public static void showRunScriptDialog(View view)

      Prompts for one or more files to run as macros
      Parameters:
        `view` - The view
      Since:
        jEdit 4.0pre7

    - #### runScript

          public static void runScript(View view,
                                       java.lang.String path,
                                       boolean ignoreUnknown)

      Runs the specified script. Unlike the `BeanShell.runScript(View,String,Reader,boolean)` method, this method can run scripts supported by any registered macro handler.
      Parameters:
        `view` - The view
        `path` - The VFS path of the script
        `ignoreUnknown` - If true, then unknown file types will be ignored; otherwise, a warning message will be printed and they will be evaluated as BeanShell scripts.
      Since:
        jEdit 4.1pre2

    - #### message

          public static void message(java.awt.Component comp,
                                     java.lang.String message)

      Utility method that can be used to display a message dialog in a macro.
      Parameters:
        `comp` - The component to show the dialog on behalf of, this will usually be a view instance
        `message` - The message
      Since:
        jEdit 2.7pre2

    - #### error

          public static void error(java.awt.Component comp,
                                   java.lang.String message)

      Utility method that can be used to display an error dialog in a macro.
      Parameters:
        `comp` - The component to show the dialog on behalf of, this will usually be a view instance
        `message` - The message
      Since:
        jEdit 2.7pre2

    - #### input

          public static java.lang.String input(java.awt.Component comp,
                                               java.lang.String prompt)

      Utility method that can be used to prompt for input in a macro.
      Parameters:
        `comp` - The component to show the dialog on behalf of, this will usually be a view instance
        `prompt` - The prompt string
      Since:
        jEdit 2.7pre2

    - #### input

          public static java.lang.String input(java.awt.Component comp,
                                               java.lang.String prompt,
                                               java.lang.String defaultValue)

      Utility method that can be used to prompt for input in a macro.
      Parameters:
        `comp` - The component to show the dialog on behalf of, this will usually be a view instance
        `prompt` - The prompt string
      Since:
        jEdit 3.1final

    - #### confirm

          public static int confirm(java.awt.Component comp,
                                    java.lang.String prompt,
                                    int buttons)

      Utility method that can be used to ask for confirmation in a macro.
      Parameters:
        `comp` - The component to show the dialog on behalf of, this will usually be a view instance
        `prompt` - The prompt string
        `buttons` - The buttons to display - for example, JOptionPane.YES_NO_CANCEL_OPTION
      Since:
        jEdit 4.0pre2

    - #### confirm

          public static int confirm(java.awt.Component comp,
                                    java.lang.String prompt,
                                    int buttons,
                                    int type)

      Utility method that can be used to ask for confirmation in a macro.
      Parameters:
        `comp` - The component to show the dialog on behalf of, this will usually be a view instance
        `prompt` - The prompt string
        `buttons` - The buttons to display - for example, JOptionPane.YES_NO_CANCEL_OPTION
        `type` - The dialog type - for example, JOptionPane.WARNING_MESSAGE

    - #### loadMacros

          public static void loadMacros()

      Rebuilds the macros list, and sends a MacrosChanged message (views update their Macros menu upon receiving it)
      Since:
        jEdit 2.2pre4

    - #### registerHandler

          public static void registerHandler(Macros.Handler handler)

      Adds a macro handler to the handlers list
      Since:
        jEdit 4.0pre6

    - #### unregisterHandler

          public static void unregisterHandler(Macros.Handler handler)

      Removes a macro handler from the handlers list
      Since:
        jEdit 4.4.1

    - #### getHandlers

          public static Macros.Handler[] getHandlers()

      Returns an array containing the list of registered macro handlers
      Since:
        jEdit 4.0pre6

    - #### getHandlerForPathName

          public static Macros.Handler getHandlerForPathName(java.lang.String pathName)

      Returns the macro handler suitable for running the specified file name, or null if there is no suitable handler.
      Since:
        jEdit 4.1pre3

    - #### getHandler

          public static Macros.Handler getHandler(java.lang.String name)

      Returns the macro handler with the specified name, or null if there is no registered handler with that name.
      Since:
        jEdit 4.0pre6

    - #### getMacroHierarchy

          public static java.util.Vector getMacroHierarchy()

      Returns a vector hierarchy with all known macros in it. Each element of this vector is either a macro name string, or another vector. If it is a vector, the first element is a string label, the rest are again, either macro name strings or vectors.
      Since:
        jEdit 2.6pre1

    - #### getMacroActionSet

          public static ActionSet getMacroActionSet()

      Returns an action set with all known macros in it.
      Since:
        jEdit 4.0pre1

    - #### getMacro

          public static Macros.Macro getMacro(java.lang.String macro)

      Returns the macro with the specified name.
      Parameters:
        `macro` - The macro's name
      Since:
        jEdit 2.6pre1

    - #### getLastMacro

          public static Macros.Macro getLastMacro()

      Since:
        jEdit 4.3pre1

    - #### setLastMacro

          public static void setLastMacro(Macros.Macro macro)

      Since:
        jEdit 4.3pre1

    - #### recordTemporaryMacro

          public static void recordTemporaryMacro(View view)

      Starts recording a temporary macro.
      Parameters:
        `view` - The view
      Since:
        jEdit 2.7pre2

    - #### recordMacro

          public static void recordMacro(View view)

      Starts recording a macro.
      Parameters:
        `view` - The view
      Since:
        jEdit 2.7pre2

    - #### stopRecording

          public static void stopRecording(View view)

      Stops a recording currently in progress.
      Parameters:
        `view` - The view
      Since:
        jEdit 2.7pre2

    - #### runTemporaryMacro

          public static void runTemporaryMacro(View view)

      Runs the temporary macro.
      Parameters:
        `view` - The view
      Since:
        jEdit 2.7pre2