Skip to content

SLIME configuration with some extensions pre-installed.

Notifications You must be signed in to change notification settings

mmontone/slime-star

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SLIME ⭐

Overview

This is a SLIME configuration that provides the following contribs:

It also adds some custom utilities and menus.

Install

⚠️ This is ALPHA software

Clone this repository using –recursive option (this repo has git submodules):

git clone --recursive https://github.com/mmontone/slime-star.git

Install some dependencies from Quicklisp:

(ql:quickload '(:asdf :alexandria :anaphora :drakma :dexador :fiveam :closer-mop :iterate :do-urlencode :yason :html-entities :slite :montezuma :chipz :archive :string-case :lisp-critic :cl-debug-print))

In your .emacs:

;; Setup load-path, autoloads and your lisp system
(add-to-list 'load-path "~/dir/to/cloned/slime-star")

;; Add slime-star to slime-contribs:
(setq slime-contribs '(slime-fancy slime-star))

Try via Docker

From docker directory run:

  • make build
  • make run

Configuration

You’ll need to M-x customize-group slime-star and M-x customize-group slime-breakpoints to enable some of the features (experimental and opinionated features are disabled by default). And then restart Emacs (not all changes are immediatly applied).

Screenshots

System browser

https://github.com/mmontone/lisp-system-browser/raw/master/lisp-system-browser.png

  • M-x lisp-system-browser to start.
  • M-x quit-system-browser to quit.

Quickload with completion

https://github.com/mmontone/quicklisp-systems/raw/master/completion.gif

Breakpoints, stepping, toolbars, evaluation and locals navigation

screenshots/toolbars.png https://github.com/mmontone/slime-breakpoints/raw/master/sldb-source-eval.png https://github.com/mmontone/slime-breakpoints/blob/master/sldb-show-frame-local.gif

Improved documentation mode

https://github.com/mmontone/slime-doc-contribs/raw/master/slime-help.png screenshots/ansicl-info.png

Critic

https://github.com/mmontone/slime-critic/raw/master/screenshot.png

  • M-x slime-critic-critique-buffer

Quicklisp system browsing

https://github.com/mmontone/quicklisp-systems/raw/master/screenshot.png

M-x quicklisp-systems command and family.

Dedicated Emacs buffers for output streams

Use:

  • M-x slime-toggle-output-buffer to send *standard-output* to an Emacs buffer.
  • M-x slime-toggle-error-buffer to send *error-output* to an Emacs buffer.
  • M-x slime-toggle-trace-buffer to send *trace-output* to an Emacs buffer.

Interactive TRACE and PRINT buffers

Trace buffer

Toggle functions for tracing using C-c M-t. After traced functions are called an interactive Emacs buffer appears, from where it is possible to inspect the traces, interactively.

screenshots/trace-and-print-buffers.png

Print buffer

Use commands M-x slime-debug-print-last-expression-in-buffer and M-x slime-debug-print-next-expression-in-buffer for printing expression to an Emacs buffer. Or manually insert a call to swank-print-buffer:prn in what you want to get printed for inspection. An Emacs buffer opens from where it is possible to inspect the printed value.

Output stream inspector

EXPERIMENTAL

SLIME does not provide a way of inspecting objects printed to output streams; say an object is printed to some stream: #<PERSON {100587C0C3}>, there’s no way to access and inspect the object printed.

SLIME ⭐ comes with an extension for inspecting objects that are printed to output streams. To enable, evaluate in Lisp: (setf stream-inspector:*persistent-pointers* t). Then from emacs, move the cursor to some printed object, and M-x slime-inspect-printed.

License

SLIME ⭐ is free software. All files, unless explicitly stated otherwise, are public domain.

About

SLIME configuration with some extensions pre-installed.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published