amperser / proselint

A linter for prose.
http://proselint.com
BSD 3-Clause "New" or "Revised" License
4.31k stars 177 forks source link

[rfc] config improvements #1375

Open Nytelife26 opened 1 month ago

Nytelife26 commented 1 month ago

this is a follow up of #1364.

the plan is to replace the JSON config system with TOML. tomllib is available as a backport from tomli for versions below 3.11, so we don't need to worry about backwards compatibility.

additionally, configuration per project would be desirable. proselint could search for overrides in project directories, and use those too.

barrett-ruth commented 1 week ago

In this, can you please allow the ignoring if specific rules - i.e. just typography.symbols.curly_quotes, and not forcing users to ignore all of typography.symbols? Most linters/formatters permit this functionality.

Nytelife26 commented 1 week ago

In this, can you please allow the ignoring if specific rules - i.e. just typography.symbols.curly_quotes, and not forcing users to ignore all of typography.symbols? Most linters/formatters permit this functionality.

the configuration structure in the refactoring effort is still being worked on. i'm still not sure if a rust port is the best idea, because it will be difficult to make it work with the current structure, but that is the goal, yes.

ultimately, efforts have been temporarily postponed while i finish a university project. i would welcome input or contributions from the community, though.

barrett-ruth commented 1 week ago

Sounds great. Thanks so much for your effort! (And yes, I'd definitely only rewrite it in rust if a) you have a reason to learn rust and b) it eases future development by a significant amount).

Nytelife26 commented 1 week ago

I'd definitely only rewrite it in rust if a) you have a reason to learn rust

oh, worry not, i already know it. i'm fairly proficient with it, and i've been writing rust for just over 3 years now.

b) it eases future development by a significant amount).

most things that aren't python would do this. rust is a tricky one, but typescript was my other idea, and i'm not sure that's much better than python all things considered.

fortunately, i have fairly substantial experience with whole-project ports and refactors across languages. the primary motivation for doing so is that i cannot use the refactoring efforts made in python anymore, and i am determined not to let that put a stop to work on the project.