sly
- Description
- Sylvester the Cat's Common Lisp IDE
- Latest
- sly-1.0.43.0.20240809.211904.tar (.sig), 2024-Aug-10, 3.72 MiB
- Maintainer
- Website
- https://github.com/joaotavora/sly
- Browse ELPA's repository
- CGit or Gitweb
- Badge
- Manual
- sly
To install this package from Emacs, use package-install
or list-packages
.
Full description
_____ __ __ __ / ___/ / / \ \/ / |\ _,,,---,,_ \__ \ / / \ / /,`.-'`' -. ;-;;,_ ___/ / / /___ / / |,4- ) )-,_..;\ ( `'-' /____/ /_____/ /_/ '---''(_/--' `-'\_) SLY is Sylvester the Cat's Common Lisp IDE. SLY is a direct fork of SLIME, and contains the following improvements over it: * A full-featured REPL based on Emacs's `comint.el`; * Live code annotations via a new `sly-stickers` contrib; * Consistent button interface. Every Lisp object can be copied to the REPL; * flex-style completion out-of-the-box, using Emacs's completion API. Company, Helm, and others supported natively, no plugin required; * Cleanly ASDF-loaded by default, including contribs, enabled out-of-the-box; * Multiple inspectors and multiple REPLs; * An interactive trace dialog with interactive objects. Copies function calls to the REPL; * "Presentations" replaced by interactive backreferences which highlight the object and remain stable throughout the REPL session; SLY is a fork of SLIME. We track its bugfixes, particularly to the implementation backends. All SLIME's familar features (debugger, inspector, xref, etc...) are still available, with improved overall UX. See the NEWS.md file (should be sitting alongside this file) for more information
Old versions
sly-1.0.43.0.2021011491256.tar.lz | 2021-Jan-14 | 1.54 MiB |
sly-1.0.43.0.20240501.111815.tar.lz | 2024-May-01 | 1.56 MiB |
sly-1.0.43.0.20211224.111230.tar.lz | 2021-Dec-24 | 1.54 MiB |
sly-1.0.43.0.20210729.161351.tar.lz | 2021-Jul-29 | 1.54 MiB |
sly-1.0.43.0.20210114.91256.tar.lz | 2021-Jan-21 | 1.54 MiB |
sly-1.0.43.0.20210105.110202.tar.lz | 2021-Jan-05 | 1.54 MiB |
sly-1.0.43.0.20201218.222715.tar.lz | 2020-Dec-19 | 1.54 MiB |
sly-1.0.42.0.20201217.235051.tar.lz | 2020-Dec-18 | 1.54 MiB |
sly-1.0.0beta3.0.20201210.163918.tar.lz | 2020-Dec-11 | 1.55 MiB |
sly-1.0.0beta3.0.20201125.190701.tar.lz | 2020-Nov-26 | 1.53 MiB |
News
Upcoming version
New M-x sly-remove-method
A very practical way to remove methods from generic functions.
Remove sly-completing-read
SLY no longer bypasses completing-read-function
to provide basic
ido
completion. This used to make sense when fewer fancy
well-behaved completion packages existed. That's no longer the case
so we shouldn't override the user's preference.
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 experience.
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. (https://github.com/joaotavora/sly/issues/303)
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
information.
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
... ...