/lem

Common Lisp editor/IDE with high expansibility

Primary LanguageCommon LispMIT LicenseMIT

Lem is the editor/IDE well-tuned for Common Lisp.

Build Status Backers on Open Collective Sponsors on Open Collective

After installing lem, you can start developing in Common Lisp at once.

You can skip over writing tidy settings or installing many plugins as you do on Emacs.

If the installation fails

Please refer to the following issue lem-project#628

Screenshot

Terminal

Requirement

Platform

Play with Lem in the Docker

You can try Lem by running it in a docker container:

docker run --rm -ti -v `pwd`:/app 40ants/lem:latest

Installation with roswell

Please install roswell at first.

Roswell Installation Guide

After that, please follow the steps bellow.

1. install lem by roswell
$ ros follow-dependency=t install lem-project/lem

2. add the PATH in the initialization file(such as ~/.bashrc)
export PATH=$PATH:~/.roswell/bin

Updating

$ ros update lem

Usage

$ lem <filename.lisp>

You can watch the screencast on Youtube.

Screencast

Installation with sbcl

Please clone lem to a location where the path to asdf is accessible.

$ mkdir $HOME/common-lisp
$ cd $HOME/common-lisp
$ git clone --recursive https://github.com/lem-project/lem.git

You can start "lem" using the following command.

$ sbcl
* (ql:quickload :lem-ncurses)
* (lem:lem)

You can create the executable file of lem using the following command.

$ sbcl --eval '(ql:quickload :lem-ncurses)' --load build.lisp

Configuration

Lem loads ~/.lem/init.lisp when starting up.

You can see an example here

fukamachi also published his init files on GitHub. https://github.com/fukamachi/.lem

Extensions and modes

  • Pareto - A mode, complement to the Paredit. Makes Lisp code editing even more efficient!

SDL2 version

GUI version using SDL2 is also available

Install SDL2

Electron version (Experiment)

Electron version is in the experimental stage.

If you try, please follow below steps.

$ node -v  # check if your nodejs is 8.9.3LTS+.
v8.9.3
$ npm -v
5.5.1
$ npm install -g cxxxr/lem   # install lem-electron
$ lem-electron               # Electron version will start

Electron

How to develop lisp

See https://github.com/lem-project/lem/wiki/Lisp-Mode

How to hack on lem itself

See https://github.com/lem-project/lem/wiki/How-to-hack-on-lem-itself

If you have a questions, join the Discord.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

License

MIT