-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maintenance Status #250
Comments
I can't disagree with the sentiment that kibit overlaps at all with clj-kondo or eastwood. Kibit, for me, is a linter that points me to cool clojure functions I didn't know about. tldr: kibit is more useful and more important to me than clj-kondo and eastwood combined. |
Citing the splint readme:
No. Literally the first line of the kibit readme tells you what it tries to achieve:
It's an idiom checker that reduces the nesting of your parenthesis by suggesting idomatic alternatives to common compositions as noted in my previous comment. cljfmt is the project that cares about clojure style and formatting. |
I take your point about the Splint readme. "There's a function for that!" is much more clear than what I wrote. Instead of defending referencing the "Clojure Style Guide", I'll say that Splint covers all of the same "There's a function for that" idiomatic substitutions Kibit does (except it suggests using
That's good to know. I'll hold off on deprecating it then. |
I believe you that splint is likely superior in implementation to kibit, tho kibit is way more discoverable. |
I've updated the maintenance status in the readme: 5b40c3a
To expand on it, I spent roughly 10 hours over the last week reading and evaluating the kibit code base, looking for ways to improve the overall speed and robustness. However, the fundamental requirement of Any changes to the code-walking logic (using hand-written code walking instead of tree-seq, only constructing a I think keeping kibit up to date with changes to Clojure (syntax changes, etc) is valuable. Those who want to continue using it shouldn't be held back by updating their codebase to Clojure 1.12+. However, I recommend that everyone consider using other tools (splint, clj-kondo, eastwood, etc). |
Thank you for the humble and very honest evaluation, it's an example for us! |
I have taken over maintenance of Kibit and pulled it into the clj-commons umbrella. I am still getting familiar with the codebase but would like to release some small updates to handle "bugs" like reader conditionals and
##Inf
.However, I am not sure that there needs to be a future for Kibit otherwise. It has served its purpose fairly well but the use-cases for it continue to shrink as other linters have grown in maturity. Namely, clj-kondo and eastwood are both quite good for their use-bases when they overlap with Kibit.
For purely shape-based linting, there's a project I began working on before being given control of Kibit, called Splint. It runs significantly faster than Kibit, has more support for all of Kibit's existing rules and can support writing custom rules, and has nearly the same set of features as Kibit.
I think the best option here is to focus on making Kibit stable and then deprecating it.
What do y'all think?
The text was updated successfully, but these errors were encountered: