-
-
Notifications
You must be signed in to change notification settings - Fork 162
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
Vale v3.0.0 #688
Comments
I like this proposal very much. |
I also like and it would be a nice feature to wrap in the editor plugins etc |
new asset is a nice feature! Would |
It would be nice to explore decoupling Vale from document formats. For example, we keep much text in YAML files that we would love to run Vale on. edit: I realize this could be massively complex. |
@aireilly, what did you have in mind specifically? The challenge is that Vale would need to know where your tests are stored and how they're structured (neither of which are standardized).
@alexpdp7, can you explain this more? Why can't you run Vale on YAML files? |
I can run Vale on YAML files, but that doesn't differentiate "natural language" bits from "identifier" bits. Frequently, in your YAML files, stuff such as the keys might not be correct English (perhaps it's snake_case or camelCase), so this will produce false positives. You can mitigate that somewhat by extending the vocabularies with the non-words that your YAML files use, or doing stuff like writing something that renders the "natural language" parts of the YAML files to a separate file and running Vale on that. I think this would be a high-effort, low-impact feature, so I think it might be preferable not to add this to Vale, but if Vale used something like a JavaScript source map (e.g. a file that says "from position x to position y of this file, we have text, in a header scope")1, it would likely be easy to write source maps generators for any kind of format. Then things like #667, #652, #651, #340, #294 could be externalized and dealt with outside Vale. Footnotes
|
Being able to add Accept and Reject terms to an existing Vocab would be nice.
|
I'm going to break these changes up into multiple releases, so v3.0.0 will likely only include the "Re-organized StylesPath". The other features will be introduced in subsequent minor versions. |
The first part of this issue, #688 (comment), is pretty much done. You can try it out now by using the I'll put out a new release once I have the documentation and |
I see #295 is marked as closed. It looks like still only looks for the user's config dir, and not styles. Concretely, I'd like the following workflow to work smoothly to create reproducible environments: git clone https://example.com/some-project.git
cd some-project This would contain a description of the environment... # environment.yml
name: my-env
channels:
- conda-forge
dependencies:
- vale ==<some version>
- vale-microsoft ==<some version>
- vale-google ==<some version>
- sphinx ... and a I'd then like to run: conda env update # creates a managed directory somewhere else
# theoretically disconnect from the internet
conda activate my-env # theoretically set a VALE_STYLES_PATH, unless this can be done at build time
vale <args> # see results from known version of google, microsoft It looks like this could work using relative paths from a61c1d2 if the created environment is guaranteed to be in the repository (e.g. |
Here are some of my rough ideas for the next major release of Vale.
Re-organized
StylesPath
The
StylesPath
will now have a specialVale
directory:dictionaries
: Hunspell-compatible dictionaries to be loaded byVale.Spelling
. This offers an alternative means of customizing the spell-checking experience in Vale: instead of creating a new rule (e.g.,YourStyle.Spelling
), you extend the built-inVale.Spelling
with custom dictionaries. This will have the benefit of allowing multiple styles to all contribute to the samespelling
rule (Add a way to combine dictionary processing across packages #628).templates
: Output templates.vocabularies
: The same as the currentVocab
folder; moved to match the new global configuration directories.All of these directories will support being distributed as part of a package.
Default
StylesPath
+.vale.ini
A configurable location for a default
StylesPath
(#295) and.vale.ini
file. This will allow the following:vale
executable.Asset management commands
A
vale new <asset>
commend to:vale new .
vale new vocabulary <MyVocab>
vale new dictionary <MyDict>
vale new template <MyTemplate>
vale new style <MyStyle>
vale new rule <MyStyle/MyRule.yml>
This will also be supported by
vale-ls
to allow creating these assets from within your editor.Feel free to comment or suggest other ideas.
The text was updated successfully, but these errors were encountered: