(?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m
# URL escaped characters
-\%[0-9A-F][A-F]
+\%[0-9A-F][A-F](?=[A-Za-z])
# lower URL escaped characters
\%[0-9a-f][a-f](?=[a-z]{2,})
# IPv6
# perl qr regex
(?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1})
+# perl run
+perl(?:\s+-[a-zA-Z]\w*)+
+
# Go regular expressions
regexp?\.MustCompile\(`[^`]*`\)
# go install
go install(?:\s+[a-z]+\.[-@\w/.]+)+
+# jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571
+urn:shemas-jetbrains-com
+
# kubernetes pod status lists
# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+
# Non-English
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
+# highlighted letters
+\[[A-Z]\][a-z]+
+
# French
# This corpus only had capital letters, but you probably want lowercase ones as well.
\b[LN]'+[a-z]{2,}\b
-# latex (check-spelling <= 0.0.21)
-#\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+)
-
# latex (check-spelling >= 0.0.22)
\\\w{2,}\{
# Windows short paths
[/\\][^/\\]{5,6}~\d{1,2}[/\\]
-# in a version of check-spelling after @0.0.21 printf markers won't be automatically consumed
+# in check-spelling@v0.0.22+, printf markers aren't automatically consumed
# printf markers
(?<!\\)\\[nrt](?=[a-z]{2,})
# alternate markers if you run into latex and friends
(?:^|/)go\.mod$
(?:^|/)go\.sum$
(?:^|/)m4/
-(?:^|/)m4/
(?:^|/)package(?:-lock|)\.json$
-(?:^|/)requirements\.(?:txt|in)$
+(?:^|/)Pipfile$
+(?:^|/)pyproject.toml
+(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$
(?:^|/)vendor/
/expected_result
/test-base64_cc\.cc$
\.a$
\.ai$
\.asc$
+\.all-contributorsrc$
\.avi$
\.bmp$
\.bz2$
\.cer$
\.class$
+\.coveragerc$
\.crl$
\.crt$
\.csr$
\.eps$
\.exe$
\.gif$
+\.git-blame-ignore-revs$
\.gitattributes$
+\.gitkeep$
\.graffle$
\.gz$
\.icns$
\.ico$
+\.ipynb$
\.jar$
\.jks$
\.jpe?g$
\.map$
\.min\..
\.mmdb$
+\.mo$
\.mod$
-\.mp3$
-\.mp4$
\.mp[34]$
\.nsec3(?:-optout|)$
\.o$
\.ocf$
\.otf$
+\.p12$
+\.parquet$
\.pdf$
\.pem$
+\.pfx$
\.png$
\.psd$
\.pyc$
+\.pylintrc$
+\.qm$
\.s$
\.sig$
\.so$
\.supp$
-\.svg$
-\.svgz$
+\.svgz?$
+\.sys$
\.tar$
\.tgz$
\.tiff?$
\.xcf$
\.xlsx?$
\.xpm$
+\.xz$
\.yml$
\.zip$
^codedocs/doxygen\.conf$
# s.b. anymore
\bany more[,.]
+# s.b. cannot
+\b[Cc]an not\b
+
# s.b. GitHub
(?<![&*.]|// |\btype )\bGithub\b(?![{)])
# Questionably acceptable forms of `in to`
# Personally, I prefer `log into`, but people object
# https://www.tprteaching.com/log-into-log-in-to-login/
-\b[Ll]og in to\b
+\b(?:[Ll]og|[Ss]ign) in to\b
+
+# to opt in
+\bto opt in\b
# acceptable duplicates
# ls directory listings
-[-bcdlpsw](?:[-r][-w][-sx]){3}\s+\d+\s+(\S+)\s+\g{-1}\s+\d+\s+
+[-bcdlpsw](?:[-r][-w][-SsTtx]){3}[\.+*]?\s+\d+\s+\S+\s+\S+\s+\d+\s+
+# mount
+\bmount\s+-t\s+(\w+)\s+\g{-1}\b
# C types and repeated CSS values
-\s(center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s
+\s(auto|center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s
+# C struct
+\bstruct\s+(\w+)\s+\g{-1}\b
# go templates
-\s(\w+)\s+\g{-1}\s+\`(?:graphql|json|yaml):
-# javadoc / .net
-(?:[\\@](?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\g{-1}\s
+\s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml):
+# doxygen / javadoc / .net
+(?:[\\@](?:brief|groupname|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+static|\s+override|\s+readonly)*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s
# Commit message -- Signed-off-by and friends
^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$
pull_request:
branches:
- "**"
- tags-ignore:
- - "**"
types:
- 'opened'
- 'reopened'
outputs:
followup: ${{ steps.spelling.outputs.followup }}
runs-on: ubuntu-latest
- if: "contains(github.event_name, 'pull_request') || github.event_name == 'push'"
+ if: ${{ contains(github.event_name, 'pull_request') || github.event_name == 'push' }}
concurrency:
group: spelling-${{ github.event.pull_request.number || github.ref }}
# note: If you use only_check_changed_files, you do not want cancel-in-progress
uses: check-spelling/check-spelling@v0.0.22
with:
config: .github/actions/spell-check
+ suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }}
checkout: true
spell_check_this: powerdns/pdns@master
post_comment: 0
+ warnings: bad-regex,binary-file,deprecated-feature,ignored-expect-variant,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check
use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }}
extra_dictionaries:
cspell:software-terms/dict/softwareTerms.txt