All Projects → joaotavora → Sly

joaotavora / Sly

Sylvester the Cat's Common Lisp IDE

Programming Languages

lisp
113 projects

Labels

Projects that are alternatives of or similar to Sly

Scimax
An emacs starterkit for scientists and engineers
Stars: ✭ 609 (-20.5%)
Mutual labels:  emacs
Emacs Package Dev Handbook
An Emacs package development handbook. Built with Emacs, by Emacs package developers, for Emacs package developers.
Stars: ✭ 666 (-13.05%)
Mutual labels:  emacs
Uncap
Map Caps Lock to Escape or any key to any key
Stars: ✭ 705 (-7.96%)
Mutual labels:  emacs
Helpful
A better Emacs *help* buffer
Stars: ✭ 615 (-19.71%)
Mutual labels:  emacs
Solarized Emacs
The Solarized colour theme, ported to Emacs.
Stars: ✭ 640 (-16.45%)
Mutual labels:  emacs
Org Noter
Emacs document annotator, using Org-mode
Stars: ✭ 671 (-12.4%)
Mutual labels:  emacs
Magithub
**This project is being (mostly) migrated into Forge!** -- Magit-based interfaces to GitHub
Stars: ✭ 592 (-22.72%)
Mutual labels:  emacs
Org Ql
An Org-mode query language, including search commands and saved views
Stars: ✭ 721 (-5.87%)
Mutual labels:  emacs
Cmake Ide
Use Emacs as a C/C++ IDE
Stars: ✭ 661 (-13.71%)
Mutual labels:  emacs
Emacs Dashboard
An extensible emacs dashboard
Stars: ✭ 694 (-9.4%)
Mutual labels:  emacs
Eslint d.js
Makes eslint the fastest linter on the planet
Stars: ✭ 615 (-19.71%)
Mutual labels:  emacs
Anaconda Mode
Code navigation, documentation lookup and completion for Python.
Stars: ✭ 635 (-17.1%)
Mutual labels:  emacs
Evil Collection
A set of keybindings for evil-mode
Stars: ✭ 681 (-11.1%)
Mutual labels:  emacs
Nyxt
Nyxt - the hacker's power-browser.
Stars: ✭ 7,038 (+818.8%)
Mutual labels:  emacs
Memacs
What did I do on February 14th 2007? Visualize your (digital) life in Org-mode
Stars: ✭ 711 (-7.18%)
Mutual labels:  emacs
Rjsx Mode
A JSX major mode for Emacs
Stars: ✭ 604 (-21.15%)
Mutual labels:  emacs
Sx.el
Stack Exchange for Emacs
Stars: ✭ 667 (-12.92%)
Mutual labels:  emacs
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (-5.35%)
Mutual labels:  emacs
Doom Modeline
A fancy and fast mode-line inspired by minimalism design.
Stars: ✭ 710 (-7.31%)
Mutual labels:  emacs
Clj Refactor.el
A collection of Clojure refactoring functions for Emacs
Stars: ✭ 694 (-9.4%)
Mutual labels:  emacs

Build Status MELPA

          _____    __   __  __        
         / ___/   / /   \ \/ /               |\      _,,,---,,_
         \__ \   / /     \  /                /,`.-'`'    -.  ;-;;,_
        ___/ /  / /___   / /                |,4-  ) )-,_..;\ (  `'-'
       /____/  /_____/  /_/                '---''(_/--'  `-'\_)

SLY is Sylvester the Cat's Common Lisp IDE for Emacs:

SLY's highlights are:

SLY is a fork of SLIME. We tracks its bugfixes, particularly to the implementation backends. All SLIME's familar features (debugger, inspector, xref, etc...) are still available, with improved overall UX.

Installation

Ensure that MELPA is setup as usual and ask M-x package-install to install the package sly.

That's it. sly-mode will automatically come up in every .lisp file. To fire up SLY, connect to a Lisp and get a friendly REPL, use M-x sly.

Even if you already have SLIME installed, SLY will ask you and temporarily disable it for the Emacs session.

Obligatory animated gif section

Flex completion

company-flex-completion

Backreferences

backreferences

Reverse i-search

reverse-isearch

Stickers

stickers-example

Install from git

Clone this repository, add this to your ~/.emacs file and fill in the appropriate file names:

(add-to-list 'load-path "~/dir/to/cloned/sly")
(require 'sly-autoloads)
(setq inferior-lisp-program "/opt/sbcl/bin/sbcl")

If you wish to byte-compile SLY yourself (not needed generally) you can do make compile compile-contrib in the dir where you cloned SLY.

Running the server standalone

This also works

$ sbcl
...
* (push #p"~/dir/to/sly" asdf:*central-registry*)
* (asdf:load-system :slynk)
* (slynk:create-server :port 4008)

Now in Emacs you can do sly-connect and give it the host and the 4008 port as a destination.

Faster startup

If the Lisp program doesn't start fast enough for you, look in the manual, for ways to make it faster.

Additional Contribs

Completion UIs

SLY works with most Emacs "completion UIs" out of the box, providing completion in source files and inputting Common Lisp symbol names from the minibuffer. Company, Emacs 27's Fido-mode, and Helm are well-supported, as is "vanilla" completion. For consistency, SLY defaults to its own UI, sly-symbol-completion-mode, useful if you don't have or like any of those. You can turn it off. Also, if you use Helm and wish to have even more Helm-based fanciness, you can use helm-sly.

License

SLY is free software. All files, unless explicitly stated otherwise, are public domain. ASCII artwork is copyright by Felix Lee, Joan G. Stark and Hayley Jane Wakenshaw.

Fork

SLIME is the work of Eric Marsden, Luke Gorrie, Helmut Eller, Tobias C. Rittweiler and many others. I forked SLIME because I used it daily, for work, had a long list of hacks developed for myself, and wanted to share them with others.

In 2013, SLIME development was stalling, patches and issues rotting. In early 2014, Luís Oliveira and myself moved SLIME to Github and set up its Travis CI system. I brought in the old bug reports from the Launchpad tracker, fixed long-standing problems and submitted many changes, particularly to the under-curated but popular "contrib" section.

Now, the changes that SLY brings to the table are too deep at the Elisp and Lisp level to be accepted to SLIME, given its current focus on stability (for the record, I find this perfectly reasonable). The new features, such as stickers or multiple inspectors, cannot be realized well using only the existing "contrib" system. Finally, SLY frees itself from the shackles of Emacs 23 and supports Emacs 24.3+ only, allowing for much cleaner code and liberal use of lexical binding.

The list of technical reasons is bigger than this though, and you can read up on them in the CONTRIBUTING.md file.

Contributing

Open an issue or a pull request, but at least have a quick look at the first part CONTRIBUTING.md file for instructions on how to contribute.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].