ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Improved​Macros

by skuroda ST2/ST3

No description provided

Details

Installs

  • Total 406
  • Win 229
  • OS X 93
  • Linux 84
Apr 19 Apr 18 Apr 17 Apr 16 Apr 15 Apr 14 Apr 13 Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5
Windows 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 2 0 0 0 2 2 0 1 0 0 0 0 1
OS X 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

ImprovedMacros

This plugin is incomplete. Macro recording, which is the general goal of this plugin, is not yet complete. However, the ability to manually define macros via a file or as a key binding argument is functional.

Installation

Note it may be necessary to restart the editor after installing the plugin.

Package Control

Installation through package control is recommended. It will handle updating your packages as they become available. To install, do the following.

  • In the Command Palette, enter Package Control: Install Package
  • Search for ImprovedMacros to see install the plugin.

Manual

Clone or copy this repository into the packages directory. By default, the Package directory is located at:

  • OS X: ~/Library/Application Support/Sublime Text 2/Packages/
  • Windows: %APPDATA%/Roaming/Sublime Text 2/Packages/
  • Linux: ~/.config/sublime-text-2/Packages/

or

  • OS X: ~/Library/Application Support/Sublime Text 3/Packages/
  • Windows: %APPDATA%/Roaming/Sublime Text 3/Packages/
  • Linux: ~/.config/sublime-text-3/Packages/

Usage

Macros can be define as part of a key binding, or in a file. The content of args for a key binding will match what is defined in a file.

Commands

Below are the commands currently exposed.

  • run_multiple_commands - This command will run multiple commands, where the macro is specified within the key binding itself.

    • The top level argument for this command is commands. It contains a list of entries, as defined in “Defining a macro”
  • run_multiple_commands_from_file - This command will run multiple commands, where the macro is defined in a file.

Defining a macro

  • context - This is the context to run a command. Valid entries for this are view, window, and app. If no context entry is specified, view will be used as the default.

  • command - The name of the command to run. This is the same command that would appear if one were to log the commands using sublime.log_commands(True) in the ST console.

  • args - The arguments for the command.

  • delay - A delay (in milliseconds) before running the current command.

Sample usage

Below is an example of run_multiple_commands

{
    "keys": ["f12"], "command": "run_multiple_commands",
    "args": {
        "commands": [{
            "context": "window",
            "command": "next_view"
        },{
            "context": "view",
            "command": "insert",
            "args": {
                "characters": "qwerty"
            },
            "delay": 1000
        }]
    }
 }

Below is an example of run_multiple_commands_from_file. First is a key binding entry. Note that file name can either be Packages/<package name>/<macro name> or an absolute path.

{
    "keys": ["f11"], "command": "run_multiple_commands_from_file",
    "args": {
        "file_name": "Packages/User/test.macro"
    }
}

Below is the content of test.macro

[{
    "context": "window",
    "command": "next_view"
}, {
    "context": "view",
    "command": "insert",
    "args": {
        "characters": "qwerty"
    },
    "delay": 1000
}]

Notes

Thank you to sashabe and nilium from the ST forum.