Skip to content

Commit

Permalink
spell check
Browse files Browse the repository at this point in the history
  • Loading branch information
adghayes committed Nov 27, 2024
1 parent 7b14382 commit 38cd520
Show file tree
Hide file tree
Showing 10 changed files with 1,098 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .github/actions/spelling/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# check-spelling/check-spelling configuration

File | Purpose | Format | Info
-|-|-|-
[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary)
[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only)
[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns)
[line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)

Note: you can replace any of these files with a directory by the same name (minus the suffix)
and then include multiple files inside that directory (with that suffix) to merge multiple files together.
29 changes: 29 additions & 0 deletions .github/actions/spelling/advice.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details><summary>If the flagged items are :exploding_head: false positives</summary>

If items relate to a ...
* binary file (or some other file you wouldn't want to check at all).

Please add a file path to the `excludes.txt` file matching the containing file.

File paths are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.

`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
../tree/HEAD/README.md) (on whichever branch you're using).

* well-formed pattern.

If you can write a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it,
try adding it to the `patterns.txt` file.

Patterns are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.

Note that patterns can't match multiline strings.

</details>

<!-- adoption information-->
:steam_locomotive: If you're seeing this message and your PR is from a branch that doesn't have check-spelling,
please merge to your PR's base branch to get the version configured for your repository.
5 changes: 5 additions & 0 deletions .github/actions/spelling/allow.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
github
https
ssh
ubuntu
workarounds
Loading

1 comment on commit 38cd520

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@check-spelling-bot Report

๐Ÿ”ด Please review

See the ๐Ÿ“œaction log or ๐Ÿ“ job summary for details.

Unrecognized words (75)
BBTO
BIC
binarizes
BMD
cambridgeseals
Centralscan
Clic
Conect
cvrs
datasheet
earpad
elitebook
emph
endhint
faqs
figcaption
gitbook
gsm
HEIC
HEUUu
highlighter
HMPB
HPU
img
istalled
lefthand
microfiber
Mitsubishi
MLAUa
Nakagawa
neckloop
onscreen
pdf
prb
proactively
PXL
rbmog
rconfigure
replug
rescanned
ricoh
screenshot
SDCZ
selec
Solix
Stic
sys
tbody
TDP
thead
touchscreen
ULINE
unconfigure
unconfigured
unconfiguring
undervote
undervoted
undreadable
Unmute
Unprogram
unprogrammed
Unprogramming
UPSs
usb
votingworks
vxadmin
vxcentral
vxcentralscan
Vxcs
vxmark
vxscan
vxsuite
wia
worke
Xtra
Some files were automatically ignored ๐Ÿ™ˆ

These sample patterns would exclude them:

^\.gitbook/assets/

You should consider adding them to:

.github/actions/spelling/excludes.txt

File matching is via Perl regular expressions.

To check these files, more of their words need to be in the dictionary than not. You can use patterns.txt to exclude portions, add items to the dictionary (e.g. by adding them to allow.txt), or fix typos.

To accept these unrecognized words as correct and update file exclusions, you could run the following commands

... in a clone of the [email protected]:votingworks/docs-vxsuite-v4-user-manual.git repository
on the drew/spell-check branch (โ„น๏ธ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/main/apply.pl' |
perl - 'https://github.com/votingworks/docs-vxsuite-v4-user-manual/actions/runs/12058175360/attempts/1'
Available ๐Ÿ“š dictionaries could cover words not in the ๐Ÿ“˜ dictionary
Dictionary Entries Covers Uniquely
cspell:css/dict/css.txt 263 4
cspell:html/dict/html.txt 2060 4
cspell:typescript/dict/typescript.txt 1098 3
cspell:php/dict/php.txt 1689 3
cspell:python/src/common/extra.txt 741 2 1

Consider adding them (in .github/workflows/spelling.yml) in jobs:/spelling: for uses: check-spelling/check-spelling@main in its with:

      with:
        extra_dictionaries: |
          cspell:css/dict/css.txt
          cspell:html/dict/html.txt
          cspell:typescript/dict/typescript.txt
          cspell:php/dict/php.txt
          cspell:python/src/common/extra.txt

To stop checking additional dictionaries, add (in .github/workflows/spelling.yml) for uses: check-spelling/check-spelling@main in its with:

check_extra_dictionaries: ''
Forbidden patterns ๐Ÿ™… (3)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

s.b. into

when not phrasal and when in order to would be wrong:
https://thewritepractice.com/into-vs-in-to/

\sin to\s(?!if\b)

s.b. GitHub

(?<![&*.]|// |\btype )\bGithub\b(?![{)])

In English, it is generally wrong to have the same word twice in a row without punctuation.

Duplicated words are generally mistakes.
There are a few exceptions where it is acceptable (e.g. "that that").
If the highlighted doubled word pair is in a code snippet, you can write a pattern to mask it.
If the highlighted doubled word pair is in prose, have someone read the English before you dismiss this error.

\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s
Pattern suggestions โœ‚๏ธ (2)

You could add these patterns to .github/actions/spelling/patterns.txt:

# Automatically suggested patterns

# hit-count: 31 file-count: 8
# https/http/file urls
(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]

# hit-count: 17 file-count: 3
# GitHub SHAs (markdown)
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)

Errors (4)

See the ๐Ÿ“œaction log or ๐Ÿ“ job summary for details.

โŒ Errors Count
โ„น๏ธ candidate-pattern 6
โŒ check-file-path 64
โŒ forbidden-pattern 4
โš ๏ธ large-file 2

See โŒ Event descriptions for more information.

If the flagged items are ๐Ÿคฏ false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

๐Ÿš‚ If you're seeing this message and your PR is from a branch that doesn't have check-spelling,
please merge to your PR's base branch to get the version configured for your repository.

Please sign in to comment.