VitoVan / lem

Common Lisp editor/IDE with high expansibility

Home Page:https://lem-project.github.io/lem-page/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

Lem supports other programming languages thanks to its built-in LSP client. You can choose between an Emacs and a Vim mode.

Download

Lem 2.0 was released!

See our Lem 2.0 realease to download binaries for Windows, MacOS and Linux.

On mac, you need to run xattr -d com.apple.quarantine /Applications/lem.app.
See lem-project#635

SDL2

If the installation fails

Please refer to the following issue lem-project#628

Screenshot

Terminal

Requirement

  • ncurses
  • roswell (optional)
  • SDL2 (optional)

Platform

Play with Lem in 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

note: Perhaps this is not enough. If you get an error, try updating the submodule.

$ cd $(ros -e '(princ (ql:where-is-system :lem))')
$ git submodule update --init --recursive
$ ros follow-dependency=t install lem-project/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!

How to develop lisp

See https://lem-project.github.io/lem-page/usage/common_lisp/

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.

How to contribute to lem

See https://lem-project.github.io/lem-page/development/how-to-contribute-to-lem/

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

About

Common Lisp editor/IDE with high expansibility

https://lem-project.github.io/lem-page/

License:MIT License


Languages

Language:Common Lisp 99.0%Language:JavaScript 1.0%Language:Makefile 0.0%Language:NewLisp 0.0%Language:HTML 0.0%