Skip to content

TokenIgnores does not seem to be taking effect #711

Description

@andrewvaughan

Check for existing issues

  • Completed

Environment

  • macOS
  • Homebrew Install (also running MegaLinter and via the VSCode extension)
  • vale version 2.29.5

.vale.ini:

##
# Vale prose linter
#
# Vale is a command-line and open source linting tool that allows developers to define and apply custom rules for
# documentation/editorial style guides. Incorporating Vale in documentation helps to detect errors and provides error-
# fixing suggestions.
#
# MegaLinter manages all execution of this linter.
#
# @link https://vale.sh/
# @link https://megalinter.io/beta/descriptors/spell_vale/
# @link https://vale.sh/docs/topics/config/
# @link https://vale.sh/explorer/
#

##
# The linter configuration root is the base for Vale styles
#
StylesPath = .config/linters/vale/styles

##
# Hardened consistency requires the most verbose option
#
# The default level is `warning` for projects that don't need stringent prose requirements
#
MinAlertLevel = suggestion

##
# By default, projects use the Google Developer Documentation Style Guide
#
# @link https://developers.google.com/style/
#
Packages = Google

##
# Two vocab sets exist for ops and the project
#
# This isn't used for spellcheck, as CSpell manages that. Instead, informs Vale what words to treat as proper nouns and
# capitalization standards.
#
# @link https://vale.sh/docs/topics/vocab/
#
Vocab = Ops, Project


##
# Global rules
#
[*]

##
# The Google style-guide is the default for these projects
#
BasedOnStyles = Vale, Google

##
# Don't lint URLs
#
# This is an interim fix until the Vale project resolves this for code linting.
#
# @link https://github.com/errata-ai/vale/issues/249
#
TokenIgnores = (https?:\/\/[^\n\s]+)

##
# The project disables spelling as the project uses CSpell for spellcheck
#
Vale.Spelling = NO

##
# Users of these projects understand common acronyms
#
Google.Acronyms = NO


##
# File extension associations
#
# @link https://vale.sh/docs/topics/config/#format-associations
# @link https://vale.sh/docs/topics/scoping/#code-1
#
[formats]

ini = pl
Makefile = pl
mak = pl
scss = sass

Describe the bug / provide steps to reproduce it

I've read through #320 - I thought it might be reasonable to simply ignore all URLs everywhere with a simple addition under [*] in the .vale.ini file:

[*]
TokenIgnores = (https?:\/\/[^\n\s]+)

https://regex101.com/r/Vc5TZO/1

That said, this doesn't work. Am I misunderstanding how TokenIgnores works? Ideally, I'd use a more robust expression like this, but I wanted to start simple:

TokenIgnores = (https?:\/\/(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b[-a-zA-Z0-9()@:%_\+.~#?&//=]*)

https://regex101.com/r/riG1Zx/1

It seems that no matter what I put in TokenIgnores it makes no difference. Adding .*, I expected it to ignore everything, but the behavior doesn't change. Is this a user error?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions