emacs 2026-07-29

anyone else having issues (or rather lack thereof) with the latest lsp-mode + flycheck? I'm not getting any diagnostics on clearly broken clojure code today. Running clojure-lsp from the CLI lists issues, also switching to eglot displays the issues. Not much happening in the lsp-mode repo but I can see flycheckgetting a bunch of work done yesterday. Perhaps something is broken when using lsp-mode with the latest flycheck? EDIT: fixed after updating flycheck again

My bad - I hadn’t noticed that the lsp-mode checker was named lsp and I had named the new built-in LSP checker… lsp… 😂

Naming is hard…

no worries, thanks for fixing it so fast gratitude

1

FYI - https://emacsredux.com/blog/2026/07/29/flycheck-38/ Now all we need is some built-in minimal LSP server in clj-kondo that I’m sure @borkdude has already lined up. 😁

2
❗ 3
🚀 3

why not just use clojure-lsp?

It’s a bit of an overkill for the linter only, but that’s obviously an option.

Flycheck works with eglot and lsp-mode if you need the full LSP experience, but if you need only the diagnostics it can pull them from the linters that support LSP directly.

I have an lsp server for clj-kondo only, but I just deprecated it since last release since nobody was using it

😁 1

clj-kondo works fine with flycheck or flymake without the lsp protocol

It’s a somewhat niche use-case, but a lot of modern linters now bundle some diagnostics LSP server with them, so I thought it was probably a good idea to supprot this.

(it was the first elisp package I ever wrote)

1

I know - I’m an user of it. 🙂 kondo starts fast, so server mode is probably not that big of a deal for it, but for the big Python, JS, Ruby, etc linters having some server mode to avoid the startup time really makes a difference.

this was the lsp server: https://github.com/clj-kondo/clj-kondo.lsp but I ditched it since it was a hassle to build it for every release and I suspected nobody was using it anyway (most users in the beginning were vscode users but they moved to Calva which bundled lsp)

👍 1

https://clojure-lsp.io/features/#built-in-linters only available in clojure-lsp as well, so not all diagnostics

I’ll experiment how to make the best of it in Flycheck - right now my focus was mostly Python, Rust, JS/TS and Ruby linters as they the most popular use-cases for Flycheck.

I am bit confused... clojure-lsp is an IDE agnostic LSP clj-kondo is an IDE agnostic Linter Why do we need a linter, because shouldn't the lsp do all this stuff ? Mostly LSP use the linter, right ? So they 2 must not fight for the same things, like throwing syntax errors, or how else will IDE prioritize ? Why does Flymake need to apply fixes ? That's an Eglot-Code-Action right ? @bozhidar What's the bigger picture? And how's it done in other langs ? Is clj-kondo like Clippy of Rust ?

If someone's happy with Eglot they should just stick to it. My remark was just prompted by the trend in some modern linters to bundle LSP support directly. I'm guessing not everyone wants a full-blown LSP server (for whatever reasons), so this caters towards this group of people. Flycheck's built-in LSP support acts both as an alternative to Eglot (for people who don't like it and want something simpler) and as a complement (around it's limitation for a single LSP server). Not all of this might make sense in the domain of Clojure, and that's fine. My callout to borkdude was meant to be just something amusing (related to his amazing productivity), and there's no need to analyze it too much. 🙂