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

Load file to REPL

by laughedelic ST2/ST3

🔁A Sublime plugin that provides native commands to load current source file into SublimeREPL

Labels repl

Details

Installs

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

Readme

Source
raw.​githubusercontent.​com

LoadFileToRepl Sublime Text 2/3 plugin

Description

This is a companion plugin for SublimeREPL providing a command to load current source file into according REPL. It just uses a REPL command, like :load "foo.hs" for Haskell, or (load-file "foo.clj") for Clojure and etc.

At the moment it supports load command for REPLs of the following languages (in alphabetic order):

Language REPL Contributor PR
Clojure Leiningen @chrisalbright #6
Common Lisp @cfmeyers #12
Elixir/Erlang iex @yitzhakbg #23
F# fsi @garystanford #31
Groovy groovysh @rcavalcanti #15
Haskell GHCi
Idris
JavaScript Node @jkroso #9
Lua @mkottman #5
Matlab @rowanc1 #17
OCaml @himito #36
PowerShell @mvoidex #7
Prolog SICStus @pedrokost #21
Python
R
Racket XREPL @keyanzhang #30
Ruby
Scala
Scheme MIT Scheme @cyberzlex #19
Standard ML SML @ActiveObject #8

It's easy to extend this list. Pull-requests are welcome!

Content

Command SublimeREPL: Load current file

  1. reveals REPL view or opens a new one according to the type of current file;
  2. optionally places REPL in another layout group (to see results simultaneously with code);
  3. optionally clears REPL before loading file;
  4. saves current file;
  5. and finally loads it into REPL, using according command;
  6. optionally moves cursor to the REPL.

You can call it using

  • Command Palette: P ➤ SublimeREPL: Load current file
  • Menu: Tools ➤ SublimeREPL ➤ Load current file
  • Hotkeys: see below.

Settings:

Command load_file_to_repl has several options:

  • clear — if true, clears REPL before loading file (false by default);
  • save_focus — if true, saves focus on the source file, else moves cursor to REPL (true by default).
  • split — if it has "horizontally" or "vertically" (default) value, it determines how window is splitted to show REPL in a new layout group. If it doesn't have one of these two values, or if window was already splitted, this option doesn't take effect — REPL is placed in a new tab or in the next layout group.

Note: if you want another splitting behavior or more flexibility, take a look at the Origamy plugin.

You can find these options and their default values in the menu:

  • Sublime Text ➤ Preferences ➤ Package Settings ➤ LoadFileToRepl ➤ Open Settings

or in Command Palette: Preferences: LoadFileToRepl Settings

Key Bindings:

There are two hotkeys predefined:

  • altenter — runs load_file_to_repl command with default options:
{ "keys": ["super+enter"], "command": "load_file_to_repl" }
  • altshiftenter — same, but clears REPL before loading file and moves cursor to REPL:
{ "keys": ["super+shift+enter"],
  "command": "load_file_to_repl",
  "args": {
    "clear": true,
    "save_focus": false
  }
}

You can find these bindings at

  • Sublime Text ➤ Preferences ➤ Package Settings ➤ LoadFileToRepl ➤ Default Key Bindings

Note: if you don't like them and want to turn off or make your own just set the use_load_file_to_repl_keybindings setting to false and reload Sublime.

Installation

Using Sublime Package Control:

Note: you should install SublimeREPL plugin first

P ➤ Package Control: Install package ➤ LoadFileToRepl

Now restart Sublime Text to load the plugin settings. That's it!