# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns

# hit-count: 7 file-count: 1
# regex choice
\(\?:[^)]+\|[^)]+\)

\[[A-Z][a-z]\][a-z]+

Regex::Expression \w+\{\s*R".*"

"ContinuationToken"\s*:\s*"[^"]+"
WinGetDevCLI_8wekyb3d8bbwe
8wekyb3d8bbwe
_tisf_sqliteReturnValue
microsoft\.com/[^])">]*
S[Hh][Aa]256: [0-9A-Fa-f]{64}
SHA256::ConvertToBytes\("[0-9A-Fa-f]{64}"
# data urls
data:[a-zA-Z=;,/0-9+-]+
# uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
# hex digits including css/html color classes:
(?:[\\0][xX]|\\u|[uU]\+|#|\%23)[0-9a-fA-FgGrR]{2,}[uU]?[lL]{0,2}\b
"[0-9a-f]{32}"
"[0-9a-f]{64}"
# sha-1
\b[0-9a-f]{40}\b
El proyecto .* diferentes
# Package family names and package full names
\b[-_~.A-Za-z0-9]+_[a-z0-9]{13}\b
# Locales for name normalization
\b\p{Lu}{2,3}(?:-(?:CANS|CYRL|LATN|MONG))?-\p{Lu}{2}(?![A-Z])(?:-VALENCIA)?\b
# Azure pipeline tasks
- task: .*

# Slash-prefixed patterns
\\native(?![a-z])
\\Release
/NPH(?![a-z])
/td(?![a-z])

# .gitignore
^\[[\w/[\]*.]*$

# URLs -- Added here instead of allow.txt to facilitate wildcarding them as more are added
http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer

# schema regex
"pattern": .*$

# doc/ManifestSpecv1.0.md
^ShortDescription: Le nouveau.*$

# Ignore test patterns
GetRestAPIBaseUri\(".*"\) == L".*"

# fabricbot.json
"(?:id|user)": "[-A-Za-z0-9_]*"

# URL escaped characters
\%[0-9A-F]{2}

# some forms of `any more` are correct
\battempt any more\b

# Sample store product id for App Installer
9nblggh4nns1

# Automatically suggested patterns
# hit-count: 407 file-count: 78
# IServiceProvider / isAThing
(?:\b|_)(?:[IT]|isA)(?=(?:[A-Z][a-z]{2,})+(?:[A-Z]|\b))

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

# Compiler flags
(?:^|[\t ,"'`=(])-[D](?!ata|ebug|ependency|epth|esktop|estination|ev|irectory|ownload)
(?:^|[\t ,"'`=(])-[W](?!ait|arning|in|orking)
(?:^|[\t ,"'`=(])-[l](?!og)
(?:^|[\t ,"'`=(])-[f](?!eatures|ile|ind)
 -T(?=h[a-z]{2,})

# Automatically suggested patterns
# hit-count: 30 file-count: 4
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))

# hit-count: 8 file-count: 4
# libraries
\b(?i)lib(?!elous|erty|rar(?:i(?:an|es)|y))(?=[a-z])

# hit-count: 4 file-count: 4
# Non-English
[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*

# hit-count: 3 file-count: 3
# tar arguments
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+

# hit-count: 3 file-count: 3
# Python string prefix / binary prefix
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
(?<!['"])\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)['"](?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})

# hit-count: 3 file-count: 2
# mailto urls
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}

# hit-count: 2 file-count: 1
# data url
data:[-a-zA-Z=;:/0-9+]*,\S*

# hit-count: 2 file-count: 1
# stackexchange -- https://stackexchange.com/feeds/sites
\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)

# hit-count: 1 file-count: 1
# Google Groups
\bgroups\.google\.com/(?:(?:forum/#!|d/)(?:msg|topics?|searchin)|a)/[^/\s"]+/[-a-zA-Z0-9$]+(?:/[-a-zA-Z0-9]+)*

# hit-count: 1 file-count: 1
# githubusercontent
/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]*

# hit-count: 1 file-count: 1
# Wikipedia
\ben\.wikipedia\.org/wiki/[-\w%.#]+

# hit-count: 1 file-count: 1
# GitHub actions
\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+

# hit-count: 4 file-count: 2
# w3
\bw3\.org/[-0-9a-zA-Z/#.]+

# hit-count: 2 file-count: 2
# hex runs
\b[0-9a-fA-F]{16,}\b

# hit-count: 1 file-count: 1
# Contributor
\[[^\]]+\]\(https://github\.com/[^/\s"]+\)

# hit-count: 1 file-count: 1
# GHSA
GHSA(?:-[0-9a-z]{4}){3}

# hit-count: 1 file-count: 1
# hex in url queries
=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?&

# hit-count: 1 file-count: 1
# hex digits including css/html color classes:
(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9a-fA-FgGrR_]{2,}(?:[uUlL]{0,3}|u\d+)\b

E2E

# first-letter-bracketed-remainder
\b\w\[[A-Za-z]{3,}\]

# test
ReplaceWhileCopying\(L.*\)

# acceptable duplicates
# ls directory listings
[-bcdlpsw](?:[-r][-w][-SsTtx]){3}[\.+*]?\s+\d+\s+\S+\s+\S+\s+[.\d]+(?:[KMGT]|)\s+
# mount
\bmount\s+-t\s+(\w+)\s+\g{-1}\b
# C types and repeated CSS values
\s(Architecture|auto|buffalo|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|inject|json|yaml):
# doxygen / javadoc / .net
(?:[\\@](?:brief|defgroup|groupname|link|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+(?:static|override|readonly|required|virtual))*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s

# macOS file path
/MacOS

# Python package registry has incorrect spelling for macOS / Mac OS X
"Operating System :: MacOS :: MacOS X"

# "company" in Germany
\bGmbH\b

# IntelliJ
\bIntelliJ\b

# Commit message -- Signed-off-by and friends
^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$

# Autogenerated revert commit message
^This reverts commit [0-9a-f]{40}\.$

# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b

# devil fruits
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\sno Mi

# PowerShell Aliases defined in .cs files (not those in AliasesToExport in psd1 files)
\[Alias\("[a-z]+"\)\]
