Aquesta és una versió anterior. La versió actual és la 3.25.1. Vale 3.25.1 · Data de publicació:
Fitxers d’instal·lació 3.22.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable · en-US | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
## Spelling
• `split:true` checks the parts of an identifier (`getHTTPResponse_v2` → `get`, `Response`) and reports each at its own position.
• The engine now follows Hunspell's case model, compounding, and affix rules, and passes Hunspell's own test suite.
• Suggestions come in Hunspell's order, and words from ignore files and vocabularies are offered ahead of dictionary words.
• A loaded dictionary is shared across spelling rules.
## Vocabularies
• A section can set its own `Vocab`, which adds to the global one and gets `Vale.<Name>.Terms` and `Vale.<Name>.Avoid` rules.
• A period in an entry is text, not a wildcard, and a phrase matches across a line wrap.
• A `Vale.Terms` alert offers the entry's spelling as a fix.
## Configuration
• An empty `BasedOnStyles` clears a section's inherited settings; `UNSET` clears one rule or style.
• A `[formats]` key can be a file name or a glob, not only an extension.
• A scope can negate an inline element (`text.raw`, `paragraph.link`, and so on).
• `TokenIgnores` and `BlockIgnores` apply to HTML and DITA.
## Formats
• MDX:indented blocks are never code, an expression followed by prose keeps the prose, one-line elements are linted, and alerts no longer land inside JSX tags.
• DITA:all files in a run are converted in one toolkit call.
• Jupyter notebooks are a format of their own.
• Front-matter alerts are placed by the field's position.
• URLs in code comments and RST are treated consistently.
## Changelog
• e109c062 fix:keep a URL out of prose in code comments and RST
• 79a48752 feat:let a scope negate an inline element
• cf161663 perf:convert a run's DITA files in one toolkit run
• 68e022b4 feat:apply ignore patterns to DITA
• f41bebb6 fix:cover a promoted RST title with the comment region written above it
• 18dd8632 fix:apply a vale-off region to a footnote written inside it
• 9bcbf9f9 test:pin a vale-off region after front matter and import lines (#1073)
• 344fd9b0 fix:locate a block's later matches in that block, not in a later copy of its text
• ec7e5f01 feat:match a vocabulary phrase across a line wrap, read a period as text, and offer the term as a fix
• 0194fbbd feat:suggest from the project's own words
• 49422de5 fix(mdx):lint a one-line element's text as prose, and keep alerts out of JSX tags
• 5ab91a5d fix:place front-matter alerts by the field's position, not by searching the file
• dcf7f18c fix(mdx):end an expression at its brace, keep prose after it, and parse indented blocks
• 8a9fd38e fix:keep the whitespace before an inline comment, so the words around it stay apart
• 7c61ce4f perf:bound the inline-markup lookahead by byte length, not a rune count of the whole context
• 1e730195 fix:read a notebook cell's source with a tagless switch,
• 9e661060 feat:let a section name its own vocabularies
• fc513c5f perf:share a loaded dictionary across spelling rules, and take the regexp2 fold fix
• f2785853 feat:lint a Vale rule by its message and description, not its patterns
• 85992f2a feat:let a spelling rule split identifiers and check their parts
• cb5885f4 feat:suggest in Hunspell's order, and score suggestions against its fixtures
• 52094c78 fix:read affix headers with trailing fields, escaped slashes, any-script digits, and Turkic casing
• 17417ac4 feat:honor `IGNORE`, convert input by the longest `ICONV` rule inside spell, and read ß as SS in all-caps under `CHECKSHARPS`
• a4e2853d fix:read a `COMPOUNDRULE` as flags and operators, quote its words, and match a capitalized word lower-cased
• bfd0b420 perf:resolve affixed words lazily from roots, and read dictionaries as Hunspell does: per SET, byte flags without FLAG, literal hyphens in classes
• 06325d94 feat:adopt Hunspell's case model, and keep ignore-list words case-lenient
• 54520592 feat:pass Hunspell's German compounding fixtures: `CHECKCOMPOUNDREP`, `COMPOUNDWORDMAX`, prefix strips, and circumfix pairing across levels
• a770129c feat:apply `CHECKCOMPOUNDPATTERN`, with replacements, and keep an `ONLYINCOMPOUND` suffix off a compound's end
• f1435080 feat:check compound position flags, permit and forbid flags, `ONLYINCOMPOUND`, `FORCEUCASE`, and word pairs
• f9178fb7 feat:check compound boundaries, apply Hunspell's default BREAK rules, and forbid words per homonym
• 25d8fbc7 test:run Hunspell's own fixtures as a conformance suite
• c2d62437 feat:let an empty `BasedOnStyles` reset a file's inherited rule settings, and add `UNSET`
• 6c2d99d9 feat:let a formats key name a file or a glob, not only an extension
• 62d47db9 fix:accept the upper-cased form of a capitalized entry, and suggest in the word's case
• f8ded8dd feat:let a caller observe each block and time each rule
• cd86a3c6 perf:segment a file only when a sentence-scoped rule runs on it
• cf649e6e chore:add commit msg hook
• 2c3aa804 fix:`hasCaptureGroup` logic