Common Lisp Editing Extension for vscode
cl-lsp is updated with a cleaner REPL! Please update by do git pull
in ~/.roswell/local-projects/ailisp/cl-lsp
- Common Lisp syntax highlight, Auto indenting/formating, folding.
- (Optional) Structural editing and navigation provided by strict-paredit-vscode.
- Autocompletion, documentation on hover, go to definition, compile & load file, REPL backed by cl-lsp language server.
- Install roswell and have
~/.roswell/bin
inPATH
- Install cl-lsp, above two is required because original package doesn't have readline support in prepl.
ros install ailisp/linedit
ros install ailisp/prepl
ros install ailisp/cl-lsp
- (Recommend) Install strict-paredit-vscode:
ext install ailisp.strict-paredit
, which provides best parens edit experience close to Emacs. - (Recommend) Use sbcl instead of sbcl_bin in roswell, to get go to definition with symbols in
common-lisp
package:ros install sbcl
ros use sbcl
- No debugger, but planned to come soon.
cl-lsp provides a complete common lisp language server protocol and a mostly working LSP client for vscode. I forked cl-lsp to fix some issues on it and this repo is fix to its vscode plugin to support recent version of vscode and adding a few improvements: auto indenting on newline and run REPL.
Users appreciate release notes as you update your extension.
- Fix path issue that requires cl-lsp in path, was not fixed properly in 0.3.1
- Use absolute path as default cl-lsp path
- avoid lsp server error mixed with REPL, record error in log
- support readline editing (arrow key works, history, etc.) in repl
- default keybinding to eval (Ctrl+Enter) and to start REPL (Ctrl+Shift+Enter)
- Support open multiple commonlisp-vscode in multiple vscode window
- REPL doesn't show lsp messages, is a clean PREPL now
- LSP and REPL use same lisp process, so evaluate in file is available to REPL now
- Fix auto indenting on newline, close to edit lisp file in emacs
- Fix on lsp side to recognize lisp symbols on hover
- Add option to set lsp path
Initial release of commonlisp-vscode, support all features mentioned in readme
Enjoy!