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

Chain of Command

by jisaacks ALL

Sublime text plugin to run a chain of commands

Details

  • 2014.01.26.09.05.33
  • github.​com
  • github.​com
  • 10 years ago
  • 2 hours ago
  • 10 years ago

Installs

  • Total 18K
  • Win 9K
  • Mac 6K
  • Linux 3K
Jun 14 Jun 13 Jun 12 Jun 11 Jun 10 Jun 9 Jun 8 Jun 7 Jun 6 Jun 5 Jun 4 Jun 3 Jun 2 Jun 1 May 31 May 30 May 29 May 28 May 27 May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1
Windows 0 2 0 3 2 1 0 0 0 3 4 1 0 1 0 2 3 1 1 2 3 0 0 2 1 4 1 2 2 1 0 1 0 2 1 0 0 4 0 1 0 0 2 0 1
Mac 0 0 0 0 2 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 2 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 2 0 0
Linux 0 0 1 1 0 0 0 1 0 3 0 0 0 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Chain of Command

Sublime text plugin to run a chain of commands


Usage

To run a chain of commands you run the chain window commands and pass it a list of commands to run. Each command is defined as a list where the first argument is the name of the command to run and any additional arguments will be passed directly to the command.

For example, to run the select_all command and then run the copy command you would call:

window.run_command("chain",{"commands":[["select_all"],["copy"]]})

Or if you wanted to focus the first group in a window:

window.run_command("chain",{"commands":[["focus_group",{"group":0}]]})

The point is to be able to build custom key bindings to run a sequence of commands. Lets say you wanted a key binding to duplicate the current file. You could set this key binding:

{
  "keys": ["super+shift+option+d"], 
  "command": "chain", 
  "args": {
    "commands": [
      ["select_all"],
      ["copy"],
      ["new_file"],
      ["paste"],
      ["save"]
    ]
  }
}

This would select all the text, copy it, create a new file, paste the text, then open the save file dialog.