It compares pretty well: it has all the essential features, and some more. It only lacks a couple keybindings in my eyes (shortcut to call the function at point in the REPL, shortcut to "change-package" from a lisp file). It has:
- the interactive debugger
- the Lisp REPL
- so we can have a full-featured Lisp REPL on the terminal with: alias ilem='lem --eval "(lem-lisp-mode:start-lisp-repl t)"'
- the same compilation, evaluation, code navigation keybindings and error reporting
some more:
- when we evaluate an expression, it will show a loading spinner during that time and then the result in an overlay.
- a built-in LSP client that is known to work with other languages (and syntax highlighting for many languages)
- some tools, still more rudimentary than Emacs: directory mode, find file in project, project tree side view, Git tool (shows status, does interactive rebase)…
- it is in the process of having co-editing in Lem itself. The developer(s) are beta-testing a collaborative web-based version of Lem: https://github.com/sponsors/cxxxr
- the interactive debugger
- the Lisp REPL
- the same compilation, evaluation, code navigation keybindings and error reportingsome more:
- when we evaluate an expression, it will show a loading spinner during that time and then the result in an overlay.
- a "watch" command that shows results in the overlay too https://lem-project.github.io/usage/common_lisp/#watch
Overall, Lem has:
- a built-in LSP client that is known to work with other languages (and syntax highlighting for many languages)
- some tools, still more rudimentary than Emacs: directory mode, find file in project, project tree side view, Git tool (shows status, does interactive rebase)…
- it is in the process of having co-editing in Lem itself. The developer(s) are beta-testing a collaborative web-based version of Lem: https://github.com/sponsors/cxxxr
Lem has ncurses and SDL2 interfaces.
https://lem-project.github.io/usage/usage/