clojure-cli-config
Metals
clojure-cli-config | Metals | |
---|---|---|
8 | 18 | |
498 | 2,025 | |
0.8% | 0.3% | |
8.1 | 9.8 | |
16 days ago | 5 days ago | |
Makefile | Scala | |
Creative Commons Attribution Share Alike 4.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
clojure-cli-config
- Clojure Turns 15 panel discussion video
-
good current tutorial on tooling and REPL dev for Clojure?
Programming Clojure 3rd edition does have some minimal coverage of the CLI but it just barely made it to publication and a lot has been added since. You might find the CLI guide (https://clojure.org/guides/deps_and_cli) and CLI reference (https://clojure.org/reference/deps_and_cli) to be helpful for some questions. The Practicalli guide (https://practical.li/clojure/) has a number of good pages and resources on repl, tools, and use.
-
Clojure 15th Anniversary: A Retrospective
Yeah this is grim.
There is https://github.com/practicalli/clojure-deps-edn which solves this but it’s not linked to from any official docs which seems a miss to me. As well as the config and full documentation, it also comes with a video walking you through a demo of all the features.
-
Building a Startup on Clojure
I was lost when I moved to deps from lein, but just forking and cloning https://github.com/practicalli/clojure-deps-edn as $HOME/.clojure solved the problem - this base deps.edn contained all the aliases I needed - creating a new project, searching and adding dependencies, hooking up data inspectors like portal or reveal, testing, code coverage, benchmarking, building uberjar etc. Moving to deps also introduced me to polylith [1], which has been very useful for building large multi-component projects
[1] https://polylith.gitbook.io/polylith/
-
Book recommendation focusing on tooling?
When I'm looking for tooling related stuff I do always check practical.li (https://practical.li/clojure/) since it probably has a good, if terse, description and mostly has links to the good documentation (or at least the best available).
-
Scala Isn't Fun Anymore
4. You need build tooling and it seemed the choices were lein (easy user experience but not “blessed” future direction? - not sure about what i’m saying here but it’s the understanding i formed). Tools.deps is the blessed approach but designed to customise the heck out of it - problematic for a beginner like me! Thankfully you can park the customisation for later and just get started with a well laid out starter https://github.com/practicalli/clojure-deps-edn - there’s even a video walks you through its features, all the inspectors and visualisers are nice to know about but not needed yet on a beginner journey
- New Clojure Project Quickstart
- Clojure needs a Rails, but not for the reason you think
Metals
-
Reconnecting with Scala. What's new?
Links: - https://dotty.epfl.ch/ - https://scala-native.org/en/stable/ - https://www.scala-js.org/ - https://typelevel.org/ - https://zio.dev/ - https://github.com/scala-native/scala-native/pull/3120 - https://github.com/lampepfl/dotty/pull/16517 - https://dotty.epfl.ch/docs/reference/experimental/index.html - https://scala-cli.virtuslab.org/ - https://scalameta.org/metals/ - https://docs.scala-lang.org/scala3/guides/migration/compatibility-intro.html - https://www.scala-lang.org/blog/2023/04/18/faster-scalajs-development-with-frontend-tooling.html - https://www.scala-lang.org/blog/2022/08/17/long-term-compatibility-plans.html
-
Tmux, NeoVim, etc. to write pure Kotlin code?
You might want to look at Scala, they have proper LSP support with metals which means you can write your code in vscode, neovim, emacs, or even fleet (the new jetbrains text editor).
-
New plugin to support LSP file operations
Please write in the comments if you know of any language servers I should test it with. Currently I tested only metals and rust-analyzer.
-
Why are all the guides on using LSP functionality full of bloat?
If you are using nvim-lspconfig you can pass the settings as a Lua table to the setup function. For example, here are may metals settings:
- Type-Signature.com
-
What is the one thing you need everyday to make your job easier?
Bazel support in Metals. I didn't spend all that time figuring out and adjusting Emacs/Spacemacs and making my workflow (almost) mouse-free just to scrap my config and switch to IDEA's rodent infested ways.
-
Scala 2.13.9 is here
There is one small issue involving code completion returning inappropriate completions in some cases; https://github.com/scalameta/metals/pull/4414 will fix it, once it's included in a release. Perhaps that's the PR you saw?
-
Scala Isn't Fun Anymore
It is, by quite a bit.
While the "Scala IDE" project is dead for all practical purposes, IntelliJ IDEA's Scala plugin is actually pretty amazing. There's also a VisualStudio plugin that does pretty much the same and is advancing by leaps and bounds. There are also interconnecting projects that provide i.e. language server or build server that are reused by other projects. It's pretty modular. Metals (https://scalameta.org/metals/) is amazing.
In general the language has become a wee bit faster to build, there was good progress with build times during the 2.12/2.13 cycles.
With Scala3 the language got a bit simpler; concepts that were implemented explicitly using (hehe) implicits got their own keywords and a lot of the opinionated boilercode that cause a lot of debates is now generated during complication and hidden. A lot of "standardization" has occurred.
- A Python-compatible statically typed language erg-lang/erg
-
Starting with Scala: editor and version choice?
IntelliJ has its own BSP. The other one is Metals. You can use it with many IDEs (vim, emacs, vscode, atom,...). Use it with emacs if you're comfortable with it.
What are some alternatives?
malli - High-performance data-driven data specification library for Clojure/Script.
intellij-plugins - Open-source plugins included in the distribution of IntelliJ IDEA Ultimate and other IDEs based on the IntelliJ Platform
schema - Clojure(Script) library for declarative data description and validation
Jupyter Scala - A Scala kernel for Jupyter
yada - A powerful Clojure web library, full HTTP, full async - see https://juxt.pro/yada/index.html
sbt - sbt, the interactive build tool
clojure-site - clojure.org site
bloop - Bloop is a build server and CLI tool to compile, test and run Scala fast from any editor or build tool.
portal - A clojure tool to navigate through your data.
Scalastyle - scalastyle
babashka - Native, fast starting Clojure interpreter for scripting
scalajs-benchmark - Benchmarks: write in Scala or JS, run in your browser. Live demo: