amperser / proselint

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

[rfc] config improvements #1375

Open Nytelife26 opened 6 months ago

Nytelife26 commented 6 months ago

this is a follow up of #1364.

goals are as follows.

barrett-ruth commented 5 months 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 5 months 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 5 months 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 5 months 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.

Nytelife26 commented 4 months ago

@barrett-ruth the functionality you requested is now implemented in #1371, along with general path segment matching. for example, you can use the following to enable the entire module.

    "typography": True,

granular overrides are something I would like to implement down the road (i.e. setting typography to True but typography.symbols.curly_quotes to False would enable everything in typography except for that one check), but they are not yet implemented.