NonGNU ELPA - sly


Sylvester the Cat's Common Lisp IDE
sly-1.0.43.tar, 2020-Dec-19, 3.57 MiB
Home page
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET sly RET

Old versions

sly-1.0.42.tar.lz2020-Dec-181.54 MiB
sly-1.0.0beta3.tar.lz2020-Nov-211.53 MiB


Upcoming version

SLY 1.0.42 (December 2020)

### Much improved company completion

If you haven't yet, just `M-x package-install RET company-mode`, to
enable `company`.  It should start working in every SLY buffer.

Moreover, a new "lazy" way to SLY collect completions from the Lisp
backend means that user input is not blocked if this takes a long
time.  The result is a much more responsive on-the-fly completion

If you don't like company, you can still use the normal on-request TAB
completion, which also features an improved UI.

### Fixed Helm conflicts

Helm users should now get access to the full capabilities of SLY's
completion function without needing to install any extra packages.
Just need to `M-x sly-symbol-completion-mode` to turn off SLY's
default completion UI.  (

### Redesigned completion backend

A redesigned completion backend replaces the legacy contribs
`sly-fuzzy` and `sly-c-p-c`. The new "flex" backend considers package
designators in the search string so you can complete other package's
symbols even when outside a package.

Here's an example:

CL-USER> (quiloa)         ->  (ql:quickload)
CL-USER> (scan)           ->  (ppcre:scan)
CL-USER> (setf locadirs)  ->  (setf ql:*local-project-directories*)
CL-USER> (mvbind)         ->  (multiple-value-bind)

Flex completion is on by default, but that can be changed via
`sly-complete-symbol-function`. The
[documentation]( has more

Package-local nicknames are also considered (provided your
implementation supports them).

### Completely rewritten manual

Manual has been reviewed from top to bottom. It should be much easier
to navigate and nicer read in general, thouch it *still needs quite
some proofreading*

[A new chapter for existing SLIME users](
figures prominently in the top-level.

Presently no major omissions (*except maybe for multiple inspectors*).
Reorganized nodes into a new structure not so focused on core vs
contribs. Deleted stale sections. REPL section heavily rewritten to
explain output types and backreferences.

### New command M-x sly-import-symbol-at-point bound to C-c i by default

This is a counterpart to the existing M-x sly-export-symbol-at-point,
bound to C-c e. It strips the symbol under point of its package
designator, and adds it under the :import-from subclause of the
current package's defpackage form. An improvement suggested and
implemented by Alexander Artemenko (github #147).

### Improved SLY Stickers UI

The UI for SLY Stickers, particularly for `M-x sly-stickers-replay`
has been cleanup up. Upon entering the replay mode, SLY may ask user
if she wants to delete the previous recordings, a commonly forgotten
but useful pre-step (an idea by Javier Olaechea, github #91). Also,
window management is less random.

### Stale buffers are killed on connection close

Inspector, debugger, and other buffers pertaining to a connection are
automatically killed when the connection is closed.  The types of
buffers that are exempt from this is configurable in a new
`sly-keep-buffers-on-connection-close` defcustom, which lists
REPL buffers by default.

### Autodoc function args available in minibuffer prompts

In minibuffer prompts like the one of `M-x sly-inspect`, autodoc
information is available and displayed temporarily in the mode-line.

### `C-c C-o` and `C-c M-o` bound in the REPL

These clear recent output and the whole REPL, respectively.

### Easy to parse copied calls to REPL

The "Copy call to REPL" funcionality in the Trace Dialog and SLY-DB
buffers now understands that symbols and numbers can be printed
directly in the reconstructed function call, which eases reading.

### The .swankrc and .swank.lisp are not loaded by default

A problem encountered by Zach Beane.

### Window management with M-. has been fixed