• Stars
    star
    1,799
  • Rank 25,827 (Top 0.6 %)
  • Language
    Common Lisp
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Common Lisp editor/IDE with high expansibility

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.

Other Lem features include:

  • a project explorer tree view
  • project-aware commands
  • interactive grep and git interfaces
  • multiple cursors
  • tetris
  • and moreโ€ฆ

Download

Lem 2.1 was released!

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

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

SDL2

If the installation fails

Please refer to the following issue #628

Screenshot

Terminalใ€€ใ€€

Requirement

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

Platform

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