Skip to content
/ SLT Public

SLT is an IDE Plugin for Itellij/Jetbrains IDE lineup implementing support for Common Lisp via Slime/Swank and supported lisp interpret.

License

Notifications You must be signed in to change notification settings

Enerccio/SLT

Repository files navigation

SLT - A Common Lisp Language Plugin for Jetbrains IDE lineup

GitHub release (latest by date) Version JetBrains plugins GitHub Release Date OSS Lifecycle GitHub GitHub lisp counter 0.1.0 0.2.0 0.3.0 0.4.0 0.5.0 GitHub all releases GitHub last commit GitHub commit activity GitHub code size in bytes Lines of code GitHub top language (want-to-support-me? T NIL) Liberapay patrons Support me on PatreonSupport me on Patreon Maintenance GitHub issues GitHub branch checks state

Subreddit subscribers GitHub forks GitHub Repo stars GitHub watchers Join the chat at https://gitter.im/SLT-Plugin/community GitHub Discussions

Image

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

  1. Intellij based IDE - tested on Intellij Idea Community/Ultimate but should work on all major IDEs
    1. Versions supported are from 2022.2 and upwards

Optionally (see more - guide):

  1. One of the supported LISP Interprets installed:
  2. 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

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!