~damien/jedit-lsp

An LSP plugin for jEdit
Add clojure-lsp
Reduce verbosity of logging by default
Limit the number of logs that can be written

clone

read-only
https://git.sr.ht/~damien/jedit-lsp
read/write
git@git.sr.ht:~damien/jedit-lsp

You can also use your local clone with git send-email.

#LSP Plugin for jEdit

This plugin adds support for the Language Server Protocol (LSP) to jEdit.

This protocol extracts IDE functionality into a separate process that text editors can communicate with, enabling advanced functionality without requiring each editor to implement it from scratch.

Hover Example

#Features

  • Code Completion
  • Diagnostics (via Error List)
  • Document Symbols (via SideKick)
  • Code Actions
  • Hover
  • Rename
  • Go-to Definition
  • Formatting

#Building

A few things are required to build this plugin:

  1. svn, for checking out the build-support project.
  2. Java 11, or whatever jEdit was built with (newer versions seem to fail since Nashorn was removed). The gradle.properties file should be updated to point to its location.

Once you have those, you need to do a one-time checkout of the build-support project with

$ bin/get-build-support

Now you can access any of the standard jEdit plugin Ant tasks via Gradle:

$ ./gradlew ant-build

#Configuring

Each edit mode can be configured to run a specific language server the first time a buffer of that mode is loaded.

Currently, only Go is pre-configured with the gopls command, but support for others can be defined in the Plugin Options pane.

#TODO

  • Find a more generic way to display a list of selectable things, like workspace symbols