Comments (3)
As you suspected, there's currently no way to do this without writing a more generic message (e.g., something like Prefer '<keyword>-block' over 'if block'
, where "if block" is the match).
And while I think it would be a nice addition, the issue is that the individual swap rules are currently converted into a single pattern (for performance reasons) under the hood. This makes it more difficult to keep track of what capture group \1
actually refers to.
That said, message customization is definitely something that I'd like to improve—it's just a matter of finding a balance between usability and performance (especially since rule evaluation is very much a "hot path" task).
from vale.
OK, I figured there were good reasons for the current state. What I've done is to write a Python script that generates the rules, and this seems to work well.
Though on that note: what about letting users express rules in Python (or ruby or whatever...any proper programming language)? These scripts could sit right next to the existing yaml files, and Vale could run those to compile the yaml rules. I'm not necessarily recommending this, esp. as I think my use-case is pretty rare, but it might be a useful "power tool" for some users.
I'll go ahead and close this. Thanks for the quick response!
from vale.
Supporting external scripts has actually been a goal of mine since the start. In fact, there was unofficial support for this until v0.5.0 using the following extension style:
extends: script
scope: text
runtime: node
exe: check_spelling.js
where check_spelling.js
was, for example, a Node.js script that called Atom's SpellChecker module. There are a number of details that I need to iron out, but it's definitely in the works.
from vale.
Related Issues (20)
- Provide a way to add exclusions to repetitions HOT 1
- Uxpected behaviour with exceptions HOT 4
- npm package HOT 2
- existence rule skips match in RST HOT 2
- Different rules for different file types? HOT 3
- How do I view spelling suggestions? HOT 1
- Incorrect suggestions with extends: substitution and ignorecase: true HOT 1
- Add a correct word marked as misspelled into a custom ignore file HOT 2
- Vale seems to switch mid file to consider code as markdown HOT 1
- Math sometimes spellchecked
- Support MDX as a separate language from Markdown HOT 1
- .vale.ini search process starts in execution directory, not file directory (doesn't work as documented)
- Inconsistent result depending on random/small variation in a Markdown file HOT 1
- Spelling: Hunspell, capitalization in compound words
- Why did you stop maintaining the NPM library version? HOT 3
- Regex and Script actions do not provide suggestions HOT 20
- Please bump regexp2 lib
- `vale` commands are shown in random order HOT 2
- Vale 3 not respecting BlockIgnores for Python docstrings
- ARM64 Docker container contains an X64 Vale binary HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vale.