Fork me on GitHub
#lsp
<
2022-04-18
>
ericdallo12:04:30

clojure-lsp Released clojure-lsp 2022.04.18-00.59.32 including fixes and improvements! • General ◦ Improve settings documentation. ◦ Fix completion performance regression from previous release. ◦ Consider .bb and .cljd files as clj files. https://github.com/clojure-lsp/clojure-lsp/issues/906 ◦ Bump to clojure 1.11.0 ◦ Improve analysis query performance as a whole for lots of features. https://github.com/clojure-lsp/clojure-lsp/pull/916 ◦ Bump clj-kondo to 2022.04.09-20220414.123207-3 fixing semantic tokens for :require, :refer and :as. https://github.com/clj-kondo/clj-kondo/issues/1609 ◦ Move lsp4clj to outside clojure-lsp to its own repo/jar release. ◦ Fix local files outside source-paths not being linted even if opened/changed. ◦ Consider filename + lastModified as checksum for external files, avoiding analyzing it if analysis is already present. ◦ graalvm: Compile static linux with --musl for better compatibility. https://github.com/clojure-lsp/clojure-lsp/issues/868 ◦ java: Use XDG_CACHE_HOME or .cache/clojure-lsp instead of config files for JDK cache. ◦ java: Cache JDK analysis globally avoiding high CPU usages after startup. ◦ java: Add :java :home-path setting for easier way to specify java location for JDK source analysis. https://github.com/clojure-lsp/clojure-lsp/issues/907 • Editor ◦ Introduce ALPHA move-form command. https://github.com/clojure-lsp/clojure-lsp/issues/566 ◦ Rename "Move coll entry up/down" to "Drag forward/backward", matching Calva/Paredit terminology ◦ drag: clauses move intuitively in clojure.test/are ◦ drag: top-level forms can be dragged https://github.com/clojure-lsp/clojure-lsp/issues/891 ◦ Improve completion performance for most cases, reducing time to compute clj/cljs core symbols. ◦ completion: suggest functions defined in Clojure 1.10 and 1.11 ◦ completion: Fix to no require extra ns when alias is already required. https://github.com/clojure-lsp/clojure-lsp/issues/920 • promote-fn: new feature Promote a fn to a top-level defn. https://github.com/clojure-lsp/clojure-lsp/issues/783 https://github.com/mainej ◦ promote-fn can also promote a literal #() to a fn ◦ demote-fn: Demote a fn to a literal #() ◦ breaking remove cycle-fn-literal, since the same refactorings can be performed with the more clearly named promote-fn and demote-fn ◦ drag: Fix to drag element-wise in destructured keys, not pair-wise. https://github.com/clojure-lsp/clojure-lsp/issues/927 ◦ test-tree: reduce CPU usage, especially during startup • CLI ◦ Reduce CPU and wall-clock time in cli commands clean-ns and diagnostics The main highlight for sure is performance overall, we had lots of changes focusing on performance, • huge changes on how we manage analysis improving almost all features performance • CLI features are faster, we scan all project ns faster to then clean-ns/diagnostics • we now cache JDK analysis after startup which was hitting some CPU spikes. • Probably the most important, we not only cache external analysis after a clean startup, but we now cache it external jar, so if you change anything on project.clj/deps.edn, a clj-kondo config or anything that would trigger a full analysis, clojure-lsp will be smart enough to know most jars didn't change and it won't re-lint again, becoming quite faster on startup. • Test-tree calculation is faster after startup, reducing CPU spike too • huge performance improvements on completion, if you had any issues with completion before, you should try this release! Besides all of that, we have new code actions/commands to promote and demote a fn! Kudos to @jacob.maine who helped a lot with discussions and contributions of this new feature and performance improvements! Oh, and of course, we now officially support #clojuredart clojure 🎯 This release was supported by https://www.clojuriststogether.org/ gratitude

🥳 9
🎉 9
clojure-lsp 4
jmayaalv12:04:28

Thanks!! Question, Is there a way for brew to force the apple silicone version?

ericdallo12:04:11

I'm no mac user, but I guess no 😔 LMK if you find a way tho

jmayaalv14:04:45

will do 🙂

rayat18:04:48

Wonderful work!

💜 1
teodorlu11:04:58

Any chance of getting the new version for Nix users too? 🙏 Really want to try out the promote-fn stuff!

ericdallo11:04:48

Sure, will open a PR for that in the next hour

💜 1