SLT - A Common Lisp Language Plugin for Jetbrains IDE lineup
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 communicate with lisp interpret providing IDE capabilities for Common Lisp.
(Somewhat) Detailed Installation and Usage Guide
You can now download the plugin from marketplace! https://plugins.jetbrains.com/plugin/21132-slt
https://github.com/Enerccio/SLT/wiki/User-Guide
Requirements
- Intellij based IDE - tested on
Intellij Idea Community/Ultimate
but should work on all major IDEs- Versions supported are from 2022.2 and upwards
Optionally (see more - guide):
- One of the supported LISP Interprets installed:
- Quicklisp installed
(Not all features work with all interprets, see FEATURES.md for more info!)
Getting started
See https://github.com/Enerccio/SLT/wiki/User-Guide#plugin-installation
Plugin options
- See guide above for SDK
- For changing colors https://github.com/Enerccio/SLT/wiki/User-Guide#change-colors-of-elements
- For changing indent https://github.com/Enerccio/SLT/wiki/User-Guide#change-indentation-settings
Compiling source
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.
Planned features / goals
- Upload to marketplace when it has enough features
- Automatic indentation
- REPL
- REPL return inspection
- Interactive debugging
- Argument help (Ctrl+P)
- Inspection
- Basic inspection
- Actions
- Symbol inspector
- Inspection eval
- Breakpoints
- Documentation
- Hyperspec intergration
- Macro expand (all, 1, normal)
- Find function by symbol name
- Search for symbols
- Back references
- Rainbow braces
- Refactoring
- Extracting lambda to function
- List of quicklisp installed packages / ASDF packages
- List of modified top level forms that are yet to be evaluated
- Actually make an IDE, ie just plugin with dependencies as one application, not a plugin
- SDK Support
- not a true SDK because that is only available in Intellij and not in (for instance) PyCharm, thus this is implemented manually.
- Download SBCL and quicklisp for user
- Automatic download of lisp interpret and quicklisp
- Different lisp interpreter support
License
This project is licensed under Apache License v2.
How to help?
- Please install the plugin and try it out!
- Report all bugs so I can catch them all. Click here to report.
- If you like the project, consider starring it or spreading info about it
- This project is OSS so if you have knowledge and want to implement something you can fork the repo and then create PR!
Donations
If you feel like it, you can donate to support my work via Liberapay or Patreon.
What does SLT even mean?
SLT - Speech Language Therapy. Only cure for LISP!
Also, backronym for Superior Lisp Tooling!