Improve Vale BadPlurals.yml efficiency
What does this MR do?
This MR improves the efficiency and correctness of Vale's BadPlurals.yml
.
- Original (200 steps):
\w*\(s\)(?<!http\(s\))
- Proposed (89 steps, regex101):
\b\w+\(s\)(?<!http\(s\))
With the proposed regex:
- Vale completes several seconds faster on my machine
- Removes the false positives
## (s)
andDo not use **(s)** to make
Explanation of change:
- Inclusion of
\b
: use a word boundary to enforce longest match- Example: for text
foobar
,\w+
checksf
,fo
,foo
,foob
,fooba
, andfoobar
whereas\b\w+
only checksfoobar
. These are equivalent in this context because Vale only uses the longest match.
- Example: for text
- Change
*
to+
:(s)
by itself currently does not exist, except in the stylefuide example.(s)
may be valid in some future contexts.
Related issues and MRs
Related to !71016 (merged)
Author's checklist
-
Optional. Consider taking the GitLab Technical Writing Fundamentals course. -
Follow the: -
If you're adding or changing the main heading of the page (H1), ensure that the product tier badge is added. -
If you are a GitLab team member, request a review based on: - The documentation page's metadata.
- The associated Technical Writer.
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
~"frontend"
~"backend"
~"type::bug"
~"database"
These labels cause the MR to be added to code verification QA issues.
Reviewer's checklist
Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.
-
If the content requires it, ensure the information is reviewed by a subject matter expert. - Technical writer review items:
-
Ensure docs metadata is present and up-to-date. -
Ensure the appropriate labels are added to this MR. -
Ensure a release milestone is set. - If relevant to this MR, ensure content topic type principles are in use, including:
-
The headings should be something you'd do a Google search for. Instead of Default behavior
, say something likeDefault behavior when you close an issue
. -
The headings (other than the page title) should be active. Instead of Configuring GDK
, say something likeConfigure GDK
. -
Any task steps should be written as a numbered list. - If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
-
-
-
Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
Edited by Jonston Chan