Editor support
As discussed in the quickstart there are Extempore plugins for several popular editors. This page shows how to set things up and lists any editor-specific instructions (e.g. the specific names of the commands & keybindings).
If you don’t have a favourite text editor, or don’t really know what a text editor is, then that’s ok! VSCode is probably the text editor for you.
VSCode
Visual Studio Code, which is usually referred to as just VSCode, is a cross-platform text editor from Microsoft. For a general introduction to VSCode, check out the excellent docs.
VSCode has an Extempore extension, so it knows how to work with Extempore code. The VSCode setup instructions are actually listed in the quickstart guide already, so you should head over there and get started.
Emacs
extempore-emacs-mode is
the Emacs mode for working with Extempore code, and it’s available from
MELPA. If you’re using package.el
(i.e. if you’re on a
modern-ish Emacs) then just M-x package-install
RET
extempore-mode
RET and you’re done.
If you encounter an error with eldoc-beginning-of-sexp
, put this code in
your init file to bind that name
(unless (fboundp 'eldoc-beginning-of-sexp)
(defalias 'eldoc-beginning-of-sexp 'elisp--beginning-of-sexp))
If you don’t want to get it from MELPA, just download the file and put it in your load path.
Ben’s a Spacemacs user these days, and has created an Extempore layer (although he hasn’t got around to getting it accepted in the main spacemacs layer repo or however that works, so you’ll need to do a bit of downloading & manual setup stuff to get it working).
command | keybinding |
---|---|
switch-to-extempore (or start Extermpore if it’s not running) |
CTRL+C CTRL+Z |
extempore-connect-or-disconnect () |
CTRL+C CTRL+J |
extempore-send-dwim (to evaluate current top-level form or region) |
CTRL+META+X |
extempore-send-region |
CTRL+C CTRL+R |
extempore-send-buffer |
CTRL+C CTRL+B |
To restart the Extempore process, just CTRL+C CTRL+C in the *extempore*
buffer where
extempore
is running to kill it, then start it up again with
switch-to-extempore
.
Atom
Extempore’s Atom package is available from GitHub.
command | keybinding |
---|---|
Extempore Connect |
ALT+O |
Extempore Disconnect |
ALT+X |
Extempore Evaluate |
ALT+S |
Sublime Text
Extempore’s Sublime Text plugin is available from GitHub.
command | keybinding |
---|---|
extempore_connect |
|
extempore_disconnect |
|
extempore_evaluate |
Known issues
The syntax highlighting currently doesn’t cover a few edge cases—so if you end
up tinkering with Extempore.JSON-tmLanguage
to fix anything then feel free to
submit a pull request.
Vim
Extempore’s vim plugin is written by Tim Burgess.
command | keybinding |
---|---|
open connection to Extempore | LEADERo |
close connection to Extempore | LEADERx |
send enclosing block to Extempore | LEADERw |
send selection to Extempore | LEADERs |
send entire file to Extempore | LEADERa |
The vim mode doesn’t yet support multiple connections or user-specified host/port, but pull requests are welcome.
- Previous
- Next