THIS PLUGIN IS EXPERIMENTAL and can crash at any time! Please report all bugs!
This plugin is providing support for Common Lisp for JetBrains IDEs. Using modified SLIME/Swank protocol to commmunicate with SBCL providing IDE capabilities for Common Lisp.
- Intellij based IDE - tested on
Intellij Idea Community/Ultimate
but should workd on all major IDEs- Versions supported are from 2022.2 and upwards
- Steel Bank Common Lisp installed
- Quicklisp
Download plugin for your IDE from releases and install it via file.
ie File->Settings->Plugin, click on gear icon and then 'Install plugin from disk'
To find out which release applies to you check this table:
Jetbrains IDE Variant | Plugin name pattern |
---|---|
CLion | slt-version-signed-CL.zip |
GoLand | slt-version-signed-GO.zip |
Intellij Community | slt-version-signed-IC.zip |
Intellij Ultimate | slt-version-signed-IU.zip |
PyCharm | slt-version-signed-PY.zip |
PyCharm Community | slt-version-signed-PC.zip |
Rider | slt-version-signed-RD.zip |
PhpStorm is coming when I read how to build it correctly since just swapping the type does not work.
For the first time use, I recommend installing swank and eclector dependencies manually from sbcl because there is 10 seconds timeout to see if swank has initialized,and it might terminate before quicklisp has initialized.
Start sbcl and run this script:
On linux and default quicklisp path:
(load "~/quicklisp/setup.lisp")
(ql:quickload :swank)
(ql:quickload :eclector)
Plugin has 2 options right now. These are accessible in Settings>SLT Configuration
- SBCL executable: Full path to sbcl or if sbcl is in path just
sbcl
is fine.- on windows, you might need .exe or even full path to .exe
- Quicklisp path: path to the
setup.lisp
file of quicklisp. Defaults to~/quicklisp/setup.lisp
Clone the repository and change gradle.properties for your IDE. Then use gradle to build the plugin. You can also open this as a project in Intellij Idea.
- Upload to marketplace when it has enough features
- REPL
- Interactive debugging
- Walkable debugger without actions
- Breakpoints
- Documentation
- Macro expand in documentation
- Find function by symbol name
- Search for symbols
- Back references
- Refactoring
- List of quicklisp installed packages / ASDF packages
- List of modified top level forms that are yet to be evaluated
- Virtual Environment à la pycharm so you can specify which interpret instance you want
- Automatic download of lisp interpret and quicklisp
- Different lisp interpreter support
- Remote connections to interpreters
This project is licensed under Apache License v2.