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

Eval

Execute selection, replace or show output in panel, any language.

Details

Installs

  • Total 609
  • Win 253
  • Mac 197
  • Linux 159
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 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23
Windows 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Sublime-Eval

  • Supports any language via easy and flexible config.
  • Threaded non-blocking code execution.
  • Output to panel or inline replace.
  • Simultaneous execution in multiple selections.

Usage

Open the Command Palette and type “Eval” to see the available commands. For example “Eval: Python” evaluates selection (or entire buffer) as python code and shows the output in panel.

“Eval: Terminate” stops execution.

There are two types of invocations:

  • Replace: Execute selection and replace with output. Empty selection = current line. Supports multiple selections simultaneously.

Demo inline

  • Panel output: Execute selection and show output in panel. Empty selection = entire file. Runs non-blocking in a thread.

Demo inline

Config

  • Open the Command Palette and select “Eval: Settings”. In the config you can add new methods (languages) and change timeout time.
  • New methods will automatically be available in the Command Palette.
  • Keybinds: There are no default keybinds, as to not interfere with your settings. To add a keybind for a method, put the following in you keybind config.

    { "keys":      ["super+p"], "command": "eval", "args": { "method": "Python Replace" } },
    { "keys": ["ctrl+super+p"], "command": "eval", "args": { "method": "Python"   } },
    

Issues, pull requests and suggestions for improvement are always welcome!