From dc986e44898c0927010b258dcfc06986a3a9885e Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Tue, 5 Dec 2023 18:40:23 -0500 Subject: [PATCH] Check spelling 0.0.22 (#16127) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upgrades check-spelling to [v0.0.22](https://github.com/check-spelling/check-spelling/releases/tag/v0.0.22) * refreshes workflow * enables dependabot PRs to trigger CI (so that in the future you'll be able to see breaking changes to the dictionary paths) * refreshes metadata * built-in handling of `\n`/`\r`/`\t` is removed -- This means that the `patterns/0_*.txt` files can be removed. * this specific PR includes some shim content, in `allow/check-spelling-0.0.21.txt` -- once it this PR merges, it can be removed on a branch and the next CI will clean out items from `expect.txt` relating to the `\r` stuff and suggest replacement content. * talking to the bot is enabled for forks (but not the master repository) * SARIF reporting is enabled for PRs w/in a single repository (not across forks) * In job reports, there's a summary table (space permitting) linking to instances (this is a poor man's SARIF report) * When a pattern splits a thing that results in check-spelling finding an unrecognized token, that's reported with a distinct category * When there are items in expect that not longer match anything but more specific items do (e.g. `microsoft` vs. `Microsoft`), there's now a specific category with help/advice * Fancier excludes suggestions (excluding directories, file types, ...) * Refreshed dictionaries * The comment now links to the job summary (which includes SARIF link if available, the details view, and a generated commit that people can use if they're ok w/ the expect changes and don't want to run perl) Validation ---------- 1. the branch was developed in https://github.com/check-spelling-sandbox/terminal/actions?query=branch%3Acheck-spelling-0.0.22 2. ensuring compatibility with 0.0.21 was done in https://github.com/check-spelling-sandbox/terminal/pull/3 3. this version has been in development for a year and has quite a few improvements, we've been actively dogfooding it throughout this period 😄 Additional Fixes ---------------- spelling: the spelling: shouldn't spelling: no spelling: macos spelling: github spelling: fine-grained spelling: coarse-grained Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> --- .github/actions/spelling/advice.md | 6 +- .github/actions/spelling/allow/allow.txt | 3 + .../spelling/allow/check-spelling-0.0.21.txt | 224 +++++++++++++++++ .github/actions/spelling/allow/names.txt | 1 + .github/actions/spelling/candidate.patterns | 202 +++++++++++++--- .github/actions/spelling/excludes.txt | 59 +++-- .github/actions/spelling/expect/expect.txt | 227 ++++++------------ .github/actions/spelling/expect/web.txt | 1 - .../actions/spelling/line_forbidden.patterns | 73 +++++- .github/actions/spelling/patterns/0_n.txt | 2 - .github/actions/spelling/patterns/0_r.txt | 8 - .github/actions/spelling/patterns/0_t.txt | 13 - .github/actions/spelling/patterns/README.md | 4 - .../actions/spelling/patterns/patterns.txt | 132 +++++++--- .github/actions/spelling/reject.txt | 1 + .github/workflows/similarIssues.yml | 10 +- .github/workflows/spelling2.yml | 115 +++++++-- build/pipelines/ci.yml | 2 +- .../templates-v2/job-index-github-codenav.yml | 2 +- doc/Niksa.md | 2 +- .../#2634 - Broadcast Input.md | 2 +- .../#3327 - Application Theming.md | 2 +- src/renderer/atlas/AtlasEngine.r.cpp | 2 +- src/renderer/atlas/BackendD2D.cpp | 2 +- src/renderer/atlas/BackendD3D.cpp | 2 +- 25 files changed, 757 insertions(+), 340 deletions(-) create mode 100644 .github/actions/spelling/allow/check-spelling-0.0.21.txt delete mode 100644 .github/actions/spelling/patterns/0_n.txt delete mode 100644 .github/actions/spelling/patterns/0_r.txt delete mode 100644 .github/actions/spelling/patterns/0_t.txt diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md index d82df49ee2..536c601aec 100644 --- a/.github/actions/spelling/advice.md +++ b/.github/actions/spelling/advice.md @@ -6,8 +6,6 @@ By default the command suggestion will generate a file named based on your commit. That's generally ok as long as you add the file to your commit. Someone can reorganize it later. -:warning: The command is written for posix shells. If it doesn't work for you, you can manually _add_ (one word per line) / _remove_ items to `expect.txt` and the `excludes.txt` files. - If the listed items are: * ... **misspelled**, then please *correct* them instead of using the command. @@ -36,7 +34,9 @@ https://www.regexplanet.com/advanced/perl/) yours before committing to verify it * well-formed pattern. - If you can write a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it, + 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]( diff --git a/.github/actions/spelling/allow/allow.txt b/.github/actions/spelling/allow/allow.txt index bccfe086ae..07eb75ab82 100644 --- a/.github/actions/spelling/allow/allow.txt +++ b/.github/actions/spelling/allow/allow.txt @@ -55,6 +55,7 @@ hyperlinks iconify img inlined +issuetitle It'd kje libfuzzer @@ -95,6 +96,7 @@ rlig runtimes servicebus shcha +similaritytolerance slnt Sos ssh @@ -122,6 +124,7 @@ walkthroughs We'd westus wildcards +workarounds XBox YBox yeru diff --git a/.github/actions/spelling/allow/check-spelling-0.0.21.txt b/.github/actions/spelling/allow/check-spelling-0.0.21.txt new file mode 100644 index 0000000000..9463838f11 --- /dev/null +++ b/.github/actions/spelling/allow/check-spelling-0.0.21.txt @@ -0,0 +1,224 @@ +aarch +abi +activatable +aef +amd +applets +argb +ASDF +ative +ativecxapp +AVX +azzle +BGR +bigints +bignum +bitmask +bitmasks +blackhole +Bopomofo +BOTTOMLEFT +BOTTOMRIGHT +bsr +bstr +cbuffer +cci +changelist +changelists +Checkin +chk +cielab +cls +clz +CMake +cmt +Cmts +cmyk +cname +cnt +CNTRL +codepage +codepages +codepoints +colorspaces +COMDAT +configurability +cpuid +cred +Crt +dbg +distro +distros +django +DLOAD +ect +ectread +edist +egistry +elease +elemetry +elems +emacs +emark +emplates +enderer +endregion +endverbatim +eplace +erm +erminal +erminalcore +erminalinput +esource +esources +esthelper +estlist +estmd +estpasses +ests +esult +esultmacros +etfx +eturn +ewdelete +ewtonsoft +flyout +flyouts +FONTFAMILY +FONTSIZE +FONTWEIGHT +formattable +framebuffer +FSCTL +GAUSSIAN +getch +GETFONTSIZE +GETPOS +GNUC +groupbox +Gsub +GTR +HORZ +hread +hrottled +hrow +hsl +HTMLTo +icket +Iconified +idx +ihilist +Imm +inheritdoc +inlines +ioctl +keydown +keydowns +keyup +keyups +lnk +lss +MMIX +MOUSEMOVE +movl +movsb +msys +nameof +natvis +Newdelete +Newtonsoft +Nop +NOUPDATE +nullability +numpad +oklab +ools +OOM +osign +ote +otepad +ouicompat +passthrough +pcs +pgdn +pgup +pkey +pname +popcnt +prefs +prepopulated +ptrs +Pvf +qos +Rasterizer +RCDATA +rcl +rects +reparent +reparented +RGBCOLOR +roundtrips +RTTI +safearray +sapi +scancode +scancodes +scrollbars +Sdl +SETCOLOR +SETFONT +Shl +SND +srgb +Statusline +stl +stosb +strerror +strrev +subc +subfolders +subkey +subkeys +swappable +taskbar +tdll +testenv +testenvs +texel +TExpected +tioapi +titlebar +titlebars +TOPLEFT +TOPRIGHT +tprivapi +tsf +typelib +typeparam +UDM +uget +ules +umul +umulh +uninitialize +Unserialize +untimes +upkg +utc +vcpkg +vec +vectorized +vtable +vtables +WCAG +WINDOWTITLE +workaround +xchgl +xgetbv +XOFF +XON +YDPI +YOffset +ype +ypes +ZIndex diff --git a/.github/actions/spelling/allow/names.txt b/.github/actions/spelling/allow/names.txt index 0409931d02..11a1f95486 100644 --- a/.github/actions/spelling/allow/names.txt +++ b/.github/actions/spelling/allow/names.txt @@ -6,6 +6,7 @@ bhoj Bhojwani Bluloco carlos +craigloewen dhowett Diviness dsafa diff --git a/.github/actions/spelling/candidate.patterns b/.github/actions/spelling/candidate.patterns index 400f103ea2..80f31f92e4 100644 --- a/.github/actions/spelling/candidate.patterns +++ b/.github/actions/spelling/candidate.patterns @@ -1,23 +1,37 @@ # marker to ignore all code on line ^.*/\* #no-spell-check-line \*/.*$ -# marker for ignoring a comment to the end of the line -// #no-spell-check.*$ +# marker to ignore all code on line +^.*\bno-spell-check(?:-line|)(?:\s.*|)$ + +# https://cspell.org/configuration/document-settings/ +# cspell inline +^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b # patch hunk comments ^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .* # git index header -index [0-9a-z]{7,40}\.\.[0-9a-z]{7,40} +index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40} + +# file permissions +['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s] + +# css url wrappings +\burl\([^)]+\) # cid urls (['"])cid:.*?\g{-1} # data url in parens -\(data:[^)]*?(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\) +#\(data:(?:[^) ][^)]*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\) + # data url in quotes -([`'"])data:.*?(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} +([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} # data url data:[-a-zA-Z=;:/0-9+]*,\S* +# https/http/file urls +(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|] + # mailto urls mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} @@ -35,6 +49,9 @@ magnet:[?=:\w]+ # asciinema \basciinema\.org/a/[0-9a-zA-Z]+ +# asciinema v2 +^\[\d+\.\d+, "[io]", ".*"\]$ + # apple \bdeveloper\.apple\.com/[-\w?=/]+ # Apple music @@ -89,7 +106,7 @@ vpc-\w+ # Google Drive \bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]* # Google Groups -\bgroups\.google\.com/(?:(?:forum/#!|d/)(?:msg|topics?|searchin)|a)/[^/\s"]+/[-a-zA-Z0-9$]+(?:/[-a-zA-Z0-9]+)* +\bgroups\.google\.com(?:/[a-z]+/(?:#!|)[^/\s"]+)* # Google Maps \bmaps\.google\.com/maps\?[\w&;=]* # Google themes @@ -117,6 +134,8 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. (?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) # GitHub SHAs \bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b +# GitHub SHA refs +\[([0-9a-f]+)\]\(https://(?:www\.|)github.com/[-\w]+/[-\w]+/commit/\g{-1}[0-9a-f]* # GitHub wiki \bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b # githubusercontent @@ -128,9 +147,9 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. # git.io \bgit\.io/[0-9a-zA-Z]+ # GitHub JSON -"node_id": "[-a-zA-Z=;:/0-9+]*" +"node_id": "[-a-zA-Z=;:/0-9+_]*" # Contributor -\[[^\]]+\]\(https://github\.com/[^/\s"]+\) +\[[^\]]+\]\(https://github\.com/[^/\s"]+/?\) # GHSA GHSA(?:-[0-9a-z]{4}){3} @@ -143,8 +162,8 @@ GHSA(?:-[0-9a-z]{4}){3} # GitLab commits \bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b -# binanace -accounts.binance.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* +# binance +accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* # bitbucket diff \bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+ @@ -280,9 +299,9 @@ slack://[a-zA-Z0-9?&=]+ \bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+ # ipfs protocol -ipfs://[0-9a-z]* +ipfs://[0-9a-zA-Z]{3,} # ipfs url -/ipfs/[0-9a-z]* +/ipfs/[0-9a-zA-Z]{3,} # w3 \bw3\.org/[-0-9a-zA-Z/#.]+ @@ -359,22 +378,33 @@ ipfs://[0-9a-z]* # tinyurl \btinyurl\.com/\w+ +# codepen +\bcodepen\.io/[\w/]+ + +# registry.npmjs.org +\bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+ + # getopts \bgetopts\s+(?:"[^"]+"|'[^']+') # ANSI color codes -(?:\\(?:u00|x)1b|\x1b)\[\d+(?:;\d+|)m +(?:\\(?: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 -\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b +#\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b + # c99 hex digits (not the full format, just one I've seen) 0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] +# Punycode +\bxn--[-0-9a-z]+ # sha sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* # sha-... -- uses a fancy capture -(['"]|")[0-9a-f]{40,}\g{-1} +(\\?['"]|")[0-9a-f]{40,}\g{-1} # hex runs \b[0-9a-fA-F]{16,}\b # hex in url queries @@ -389,18 +419,21 @@ sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* # Well known gpg keys .well-known/openpgpkey/[\w./]+ +# pki +-----BEGIN.*-----END + # 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]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|u\d+)\b +(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b # integrity -integrity="sha\d+-[-a-zA-Z=;:/0-9+]{40,}" +integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1} # https://www.gnu.org/software/groff/manual/groff.html # man troff content \\f[BCIPR] -# ' -\\\(aq +# '/" +\\\([ad]q # .desktop mime types ^MimeTypes?=.*$ @@ -409,21 +442,33 @@ integrity="sha\d+-[-a-zA-Z=;:/0-9+]{40,}" # Localized .desktop content Name\[[^\]]+\]=.* -# IServiceProvider -\bI(?=(?:[A-Z][a-z]{2,})+\b) +# IServiceProvider / isAThing +\b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b) # crypt -"\$2[ayb]\$.{56}" +(['"])\$2[ayb]\$.{56}\g{-1} # scrypt / argon \$(?:scrypt|argon\d+[di]*)\$\S+ -# Input to GitHub JSON -content: "[-a-zA-Z=;:/0-9+]*=" +# go.sum +\bh1:\S+ -# Python stringprefix / binaryprefix +# scala modules +("[^"]+"\s*%%?\s*){2,3}"[^"]+" + +# Input to GitHub JSON +content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1} + +# This does not cover multiline strings, if your repository has them, +# you'll want to remove the `(?=.*?")` suffix. +# The `(?=.*?")` suffix should limit the false positives rate +# printf +#%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA]|p)(?=[a-zA-Z]{2,}))(?=[_a-zA-Z]+\b)(?!%)(?=.*?['"]) + +# 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 -(?|m([|!/@#,;']).*?\g{-1}) + +# perl qr regex +(?|\(.*?\)|([|!/@#,;']).*?\g{-1}) # Go regular expressions regexp?\.MustCompile\(`[^`]*`\) +# regex choice +\(\?:[^)]+\|[^)]+\) + +# proto +^\s*(\w+)\s\g{-1} = + # sed regular expressions sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2} +# node packages +(["'])\@[^/'" ]+/[^/'" ]+\g{-1} + # 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+ @@ -460,19 +524,47 @@ go install(?:\s+[a-z]+\.[-@\w/.]+)+ -[0-9a-f]{10}-\w{5}\s # posthog secrets -posthog\.init\((['"])phc_[^"',]+\g{-1}, +([`'"])phc_[^"',]+\g{-1} # xcode # xcodeproject scenes -(?:Controller|ID|id)="\w{3}-\w{2}-\w{3}" +(?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}" # xcode api botches customObjectInstantitationMethod +# configure flags +.* \| --\w{2,}.*?(?=\w+\s\w+) + # font awesome classes \.fa-[-a-z0-9]+ +# bearer auth +(['"])Bear[e][r] .*?\g{-1} + +# basic auth +(['"])Basic [-a-zA-Z=;:/0-9+]{3,}\g{-1} + +# base64 encoded content +#([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1} +# base64 encoded content in xml/sgml +>[-a-zA-Z=;:/0-9+]+== 0.0.22) +\\\w{2,}\{ + +# eslint +"varsIgnorePattern": ".+" + +# Windows short paths +[/\\][^/\\]{5,6}~\d{1,2}[/\\] + +# in check-spelling@v0.0.22+, printf markers aren't automatically consumed +# printf markers +#(?v# (?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) -# Compiler flags (Scala) -(?:^|[\t ,>"'`=(])-J-[DPWXY](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) -# Compiler flags -#(?:^|[\t ,"'`=(])-[DPWXYLlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) + +# Compiler flags (Unix, Java/Scala) +# Use if you have things like `-Pdocker` and want to treat them as `docker` +#(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) + +# Compiler flags (Windows / PowerShell) +# This is a subset of the more general compiler flags pattern. +# It avoids matching `-Path` to prevent it from being treated as `ath` +#(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})) # Compiler flags (linker) ,-B + # curl arguments \b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)* # set arguments diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt index 441d1f295c..57d475dc87 100644 --- a/.github/actions/spelling/excludes.txt +++ b/.github/actions/spelling/excludes.txt @@ -1,21 +1,24 @@ # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes -(?:(?i)\.png$) (?:^|/)(?i)COPYRIGHT (?:^|/)(?i)LICEN[CS]E (?:^|/)3rdparty/ (?:^|/)dirs$ -(?:^|/)go\.mod$ (?:^|/)go\.sum$ (?:^|/)package(?:-lock|)\.json$ +(?:^|/)Pipfile$ +(?:^|/)pyproject.toml +(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$ (?:^|/)sources(?:|\.dep)$ (?:^|/)vendor/ \.a$ \.ai$ +\.all-contributorsrc$ \.avi$ \.bmp$ \.bz2$ \.cer$ \.class$ +\.coveragerc$ \.crl$ \.crt$ \.csr$ @@ -27,11 +30,15 @@ \.eps$ \.exe$ \.gif$ +\.git-blame-ignore-revs$ \.gitattributes$ +\.gitignore$ +\.gitkeep$ \.graffle$ \.gz$ \.icns$ \.ico$ +\.ipynb$ \.jar$ \.jks$ \.jpeg$ @@ -41,61 +48,62 @@ \.lock$ \.map$ \.min\.. +\.mo$ \.mod$ \.mp3$ \.mp4$ \.o$ \.ocf$ \.otf$ +\.p12$ +\.parquet$ \.pbxproj$ \.pdf$ \.pem$ +\.pfx$ \.png$ \.psd$ \.pyc$ +\.pylintrc$ +\.qm$ \.runsettings$ \.s$ \.sig$ \.so$ \.svg$ \.svgz$ -\.svgz?$ +\.sys$ \.tar$ \.tgz$ \.tiff?$ \.ttf$ +\.vcxproj\.filters$ \.vsdx$ \.wav$ \.webm$ \.webp$ \.woff -\.woff2?$ \.xcf$ -\.xls \.xlsx?$ \.xpm$ -\.yml$ +\.xz$ \.zip$ ^\.github/actions/spelling/ -^\.github/fabricbot.json$ -^\.gitignore$ -^\Q.git-blame-ignore-revs\E$ ^\Q.github/workflows/spelling.yml\E$ -^\Qdoc/reference/windows-terminal-logo.ans\E$ -^\Qsamples/ConPTY/EchoCon/EchoCon/EchoCon.vcxproj.filters\E$ -^\Qsrc/host/exe/Host.EXE.vcxproj.filters\E$ +^\Qbuild/config/release.gdnbaselines\E$ ^\Qsrc/host/ft_host/chafa.txt\E$ -^\Qsrc/tools/closetest/CloseTest.vcxproj.filters\E$ -^\XamlStyler.json$ +^\Qsrc/host/ft_uia/run.bat\E$ +^\Qsrc/host/runft.bat\E$ +^\Qsrc/tools/lnkd/lnkd.bat\E$ +^\Qsrc/tools/pixels/pixels.bat\E$ ^build/config/ ^consolegit2gitfilters\.json$ ^dep/ -^doc/reference/master-sequence-list.csv$ +^doc/reference/master-sequence-list\.csv$ ^doc/reference/UTF8-torture-test\.txt$ +^doc/reference/windows-terminal-logo\.ans$ ^oss/ -^src/host/ft_uia/run\.bat$ -^src/host/runft\.bat$ -^src/host/runut\.bat$ +^samples/PixelShaders/Screenshots/ ^src/interactivity/onecore/BgfxEngine\. ^src/renderer/atlas/ ^src/renderer/wddmcon/WddmConRenderer\. @@ -107,14 +115,13 @@ ^src/terminal/parser/ut_parser/Base64Test.cpp$ ^src/terminal/parser/ut_parser/run\.bat$ ^src/tools/benchcat +^src/tools/integrity/dirs$ ^src/tools/integrity/packageuwp/ConsoleUWP\.appxSources$ -^src/tools/lnkd/lnkd\.bat$ -^src/tools/pixels/pixels\.bat$ -^src/tools/RenderingTests/main.cpp$ +^src/tools/RenderingTests/main\.cpp$ ^src/tools/texttests/fira\.txt$ -^src/tools/U8U16Test/(?:fr|ru|zh)\.txt$ -^src/types/ColorFix.cpp -^src/types/ut_types/UtilsTests.cpp$ -^tools/ReleaseEngineering/ServicingPipeline.ps1$ +^src/tools/U8U16Test/(?!en)..\. +^src/types/ColorFix\.cpp$ +^src/types/ut_types/UtilsTests\.cpp$ +^tools/ReleaseEngineering/ServicingPipeline\.ps1$ +^XamlStyler\.json$ ignore$ -SUMS$ diff --git a/.github/actions/spelling/expect/expect.txt b/.github/actions/spelling/expect/expect.txt index f38eddb9d3..2de1494a02 100644 --- a/.github/actions/spelling/expect/expect.txt +++ b/.github/actions/spelling/expect/expect.txt @@ -1,18 +1,16 @@ aabbcc -aarch ABANDONFONT abbcc ABCDEFGHIJKLMNOPQRSTUVWXY ABCF abgr -abi ABORTIFHUNG +ACCESSTOKEN acidev ACIOSS ACover actctx ACTCTXW -activatable ADDALIAS ADDREF ADDSTRING @@ -32,7 +30,7 @@ ALTERNATENAME ALTF ALTNUMPAD ALWAYSTIP -amd +aml ansicpg ANSISYS ANSISYSRC @@ -50,25 +48,23 @@ APPBARDATA appcontainer appium appletname -applets applicationmodel APPLMODAL appmodel APPWINDOW +APPXMANIFESTVERSION APrep apsect APSTUDIO archeologists -argb +Argb ARRAYSIZE ARROWKEYS asan ASBSET -ASDF asdfghjkl ASetting ASingle -asmx ASYNCWINDOWPOS atch ATest @@ -85,9 +81,8 @@ AUTORADIOBUTTON autoscrolling Autowrap AVerify -AVX awch -azzle +azurecr backgrounded Backgrounder backgrounding @@ -107,15 +102,16 @@ benchcat bgfx bgidx Bgk -BGR bgra BHID bigobj +binlog binplace binplaced +binskim bitcoin bitcrazed -bitmask +bitmasks BITOPERATION BKCOLOR BKGND @@ -126,10 +122,7 @@ BODGY BOLDFONT BOOLIFY bools -Bopomofo Borland -BOTTOMLEFT -BOTTOMRIGHT boutput boxheader BPBF @@ -139,7 +132,6 @@ branchconfig brandings Browsable Bspace -bstr BTNFACE bufferout buffersize @@ -162,11 +154,9 @@ cbiex CBN CBoolean cbt -cbuffer CCCBB cch CCHAR -cci CCmd ccolor CCom @@ -184,18 +174,15 @@ cfte CFuzz cgscrn chafa -changelist +changelists chaof charinfo CHARSETINFO chcbpat chh -chk chshdng CHT Cic -cielab -Cielab CLE cleartype CLICKACTIVE @@ -205,7 +192,7 @@ CLIPCHILDREN CLIPSIBLINGS closetest cloudconsole -cls +cloudvault CLSCTX clsids CLUSTERMAP @@ -214,23 +201,19 @@ cmder CMDEXT cmh CMOUSEBUTTONS -cmt +Cmts cmw -cmyk CNL cnn -cnt -CNTRL Codeflow -codepage +codenav +codepages codepath -codepoints coinit colorizing COLORMATRIX COLORREFs colorschemes -colorspaces colorspec colortable colortbl @@ -239,7 +222,6 @@ colortool COLR combaseapi comctl -COMDAT commandline commctrl commdlg @@ -256,7 +238,6 @@ conddkrefs condrv conechokey conemu -configurability conhost conime conimeinfo @@ -318,11 +299,10 @@ cpx CREATESCREENBUFFER CREATESTRUCT CREATESTRUCTW -cred +createvpack crisman CRLFs crloew -Crt CRTLIBS csbi csbiex @@ -379,7 +359,6 @@ DATABLOCK DBatch dbcs DBCSFONT -dbg DBGALL DBGCHARS DBGFONTS @@ -507,14 +486,13 @@ DISABLENOSCROLL DISPLAYATTRIBUTE DISPLAYATTRIBUTEPROPERTY DISPLAYCHANGE -distro +distros dlg DLGC DLLGETVERSIONPROC dllinit dllmain DLLVERSIONINFO -DLOAD DLOOK DONTCARE doskey @@ -564,7 +542,6 @@ ECH echokey ecount ECpp -ect Edgium EDITKEYS EDITTEXT @@ -576,13 +553,10 @@ EHsc EINS EJO ELEMENTNOTAVAILABLE -elems -emacs EMPTYBOX enabledelayedexpansion ENDCAP endptr -endregion ENTIREBUFFER entrypoints ENU @@ -590,10 +564,12 @@ ENUMLOGFONT ENUMLOGFONTEX enumranges EOK -eplace EPres EQU ERASEBKGND +ESFCIB +esrp +ESV ETW EUDC EVENTID @@ -648,7 +624,7 @@ FIter FIXEDCONVERTED FIXEDFILEINFO Flg -flyout +flyouts fmodern fmtarg fmtid @@ -658,27 +634,20 @@ fontdlg FONTENUMDATA FONTENUMPROC FONTFACE -FONTFAMILY FONTHEIGHT fontinfo FONTOK -FONTSIZE FONTSTRING -fonttbl FONTTYPE -FONTWEIGHT FONTWIDTH FONTWINDOW -fooo FORCEOFFFEEDBACK FORCEONFEEDBACK -framebuffer FRAMECHANGED fre frontends fsanitize Fscreen -FSCTL FSINFOCLASS fte Ftm @@ -692,12 +661,12 @@ fuzzwrapper fwdecl fwe fwlink -GAUSSIAN gci gcx gdi gdip gdirenderer +gdnbaselines Geddy geopol GETALIAS @@ -707,7 +676,6 @@ GETALIASEXES GETALIASEXESLENGTH GETAUTOHIDEBAREX GETCARETWIDTH -getch GETCLIENTAREAANIMATION GETCOMMANDHISTORY GETCOMMANDHISTORYLENGTH @@ -723,7 +691,6 @@ GETDISPLAYSIZE GETDLGCODE GETDPISCALEDSIZE GETFONTINFO -GETFONTSIZE GETHARDWARESTATE GETHUNGAPPTIMEOUT GETICON @@ -738,7 +705,6 @@ GETMOUSEVANISH GETNUMBEROFFONTS GETNUMBEROFINPUTEVENTS GETOBJECT -GETPOS GETSELECTIONINFO getset GETTEXTLEN @@ -754,13 +720,14 @@ gfx GGI GHIJK GHIJKL +gitcheckin gitfilters +gitlab gitmodules gle GLOBALFOCUS GLYPHENTRY GMEM -GNUC Goldmine gonce goutput @@ -768,11 +735,9 @@ GREENSCROLL Grehan Greyscale gridline -groupbox gset gsl GTP -GTR guc guidatom GValue @@ -823,9 +788,9 @@ hmod hmodule hmon homoglyph -HORZ hostable hostlib +Hostx HPA hpcon HPCON @@ -835,9 +800,7 @@ HPR HProvider HREDRAW hresult -hrottled hscroll -hsl hstr hstring HTBOTTOMLEFT @@ -847,7 +810,6 @@ HTCLIENT HTLEFT HTMAXBUTTON HTMINBUTTON -HTMLTo HTRIGHT HTTOP HTTOPLEFT @@ -858,9 +820,7 @@ hwheel hwnd HWNDPARENT iccex -icket ICONERROR -Iconified ICONINFORMATION IConsole ICONSTOP @@ -873,7 +833,6 @@ idllib IDOK IDR idth -idx IDXGI IEnd IEnum @@ -885,14 +844,12 @@ IHosted iid IIo ime -Imm IMPEXP inbox inclusivity INCONTEXT INFOEX inheritcursor -inheritdoc inheritfrom INITCOMMONCONTROLSEX INITDIALOG @@ -900,7 +857,6 @@ initguid INITMENU inkscape INLINEPREFIX -inlines inproc Inputkeyinfo INPUTPROCESSORPROFILE @@ -914,7 +870,7 @@ Interner intsafe INVALIDARG INVALIDATERECT -ioctl +Ioctl ipch ipp IProperty @@ -933,9 +889,9 @@ ivalid IWIC IXP jconcpp +JLO JOBOBJECT JOBOBJECTINFOCLASS -jpe JPN jsoncpp Jsons @@ -953,13 +909,13 @@ kernelbase kernelbasestaging KEYBDINPUT keychord -keydown +keydowns KEYFIRST KEYLAST Keymapping keyscan keystate -keyup +keyups khome KILLACTIVE KILLFOCUS @@ -993,6 +949,7 @@ LEFTALIGN libpopcnt libsancov libtickit +licate LIMITTEXT LINEDOWN LINESELECTION @@ -1005,7 +962,6 @@ listptrsize lld llx LMENU -lnk lnkd lnkfile LNM @@ -1063,12 +1019,12 @@ lpwstr LRESULT lsb lsconfig -lss lstatus lstrcmp lstrcmpi LTEXT LTLTLTLTL +ltsc LUID luma lval @@ -1113,6 +1069,7 @@ MENUITEMINFO MENUSELECT messageext metaproj +microsoftpublicsymbols midl mii MIIM @@ -1127,7 +1084,6 @@ Mip MMBB mmcc MMCPL -MMIX mmsystem MNC MNOPQ @@ -1141,12 +1097,12 @@ MONITORINFOF MOUSEACTIVATE MOUSEFIRST MOUSEHWHEEL -MOUSEMOVE MOVESTART msb msctf msctls msdata +MSDL msft MSGCMDLINEF MSGF @@ -1160,21 +1116,19 @@ MSIL msix msrc MSVCRTD -msys MTSM munged munges murmurhash muxes myapplet +mybranch mydir MYMAX Mypair Myval NAMELENGTH -nameof namestream -natvis NCCALCSIZE NCCREATE NCLBUTTONDOWN @@ -1187,6 +1141,8 @@ NCRBUTTONUP NCXBUTTONDOWN NCXBUTTONUP NEL +nerf +nerror netcoreapp netstandard NEWCPLINFO @@ -1226,7 +1182,6 @@ NONINFRINGEMENT NONPREROTATED nonspace NOOWNERZORDER -Nop NOPAINT noprofile NOREDRAW @@ -1248,7 +1203,6 @@ NOTRACK NOTSUPPORTED nouicompat nounihan -NOUPDATE NOYIELD NOZORDER nrcs @@ -1272,28 +1226,25 @@ ntuser NTVDM ntverp nugetversions -nullability nullness nullonfailure nullopts numlock -numpad NUMSCROLL +NUnit nupkg NVIDIA OACR objbase ocolor -odl oemcp OEMFONT OEMFORMAT OEMs offboarded -oklab -Oklab OLEAUT OLECHAR +onebranch onecore ONECOREBASE ONECORESDKTOOLS @@ -1304,7 +1255,6 @@ onecoreuuid ONECOREWINDOWS onehalf oneseq -OOM openbash opencode opencon @@ -1313,24 +1263,23 @@ openconsoleproxy openps openvt ORIGINALFILENAME +orking osc OSDEPENDSROOT OSG OSGENG -osign oss -otepad -ouicompat -OUnter outdir OUTOFCONTEXT Outptr outstr OVERLAPPEDWINDOW OWNDC +owneralias OWNERDRAWFIXED packagename packageuwp +PACKAGEVERSIONNUMBER PACKCOORD PACKVERSION pagedown @@ -1341,9 +1290,9 @@ PALPC pankaj parentable parms -passthrough PATCOPY pathcch +Pathto PATTERNID pcat pcb @@ -1362,7 +1311,6 @@ PCONSOLEENDTASK PCONSOLESETFOREGROUND PCONSOLEWINDOWOWNER pcoord -pcs pcshell PCSHORT PCSR @@ -1371,8 +1319,9 @@ PCWCH PCWCHAR PCWSTR pda -Pdbs +pdbs pdbstr +PDPs pdtobj pdw pdx @@ -1389,10 +1338,9 @@ PFONT PFONTENUMDATA PFS pgd -pgdn +pgomgr PGONu pguid -pgup phhook phwnd pidl @@ -1405,7 +1353,6 @@ pipestr pixelheight PIXELSLIST PJOBOBJECT -pkey platforming playsound ploc @@ -1418,6 +1365,7 @@ pntm POBJECT Podcast POINTSLIST +policheck POLYTEXTW poppack POPUPATTR @@ -1446,8 +1394,6 @@ prealigned prect prefast preflighting -prefs -prepopulated presorted PREVENTPINNING PREVIEWLABEL @@ -1459,6 +1405,7 @@ prioritization processenv processhost PROCESSINFOCLASS +PRODEXT PROPERTYID PROPERTYKEY PROPERTYVAL @@ -1490,7 +1437,6 @@ psr PSTR psz ptch -ptrs ptsz PTYIn PUCHAR @@ -1501,7 +1447,6 @@ pwstr pwsz pythonw Qaabbcc -qos QUERYOPEN QUESTIONMARK quickedit @@ -1523,9 +1468,7 @@ RBUTTONDBLCLK RBUTTONDOWN RBUTTONUP rcch -RCDATA rcelms -rcl rclsid RCOA RCOCA @@ -1540,7 +1483,7 @@ READCONSOLEOUTPUTSTRING READMODE reallocs reamapping -rects +rectread redef redefinable Redir @@ -1559,7 +1502,7 @@ remoting renamer renderengine rendersize -reparent +reparented reparenting replatformed Replymessage @@ -1571,12 +1514,12 @@ Resequence RESETCONTENT resheader resmimetype +resultmacros resw resx rfa rfid rftp -RGBCOLOR rgbi rgbs rgci @@ -1587,7 +1530,6 @@ rgn rgp rgpwsz rgrc -rgs rgui rgw RIGHTALIGN @@ -1598,8 +1540,8 @@ RIS roadmap robomac rosetta -roundtrips RRF +rrr RRRGGGBB rsas rtcore @@ -1607,7 +1549,6 @@ RTEXT RTFTo RTLREADING Rtn -RTTI ruleset runas RUNDLL @@ -1625,16 +1566,14 @@ RVERTICAL rvpa RWIN rxvt -safearray safemath -sapi sba SBCS SBCSDBCS sbi sbiex -sbold -scancode +sbom +scancodes scanline schemename SCL @@ -1646,7 +1585,6 @@ screeninfo screenshots scriptload scrollback -scrollbars SCROLLFORWARD SCROLLINFO scrolllock @@ -1655,7 +1593,6 @@ SCROLLSCALE SCROLLSCREENBUFFER scursor sddl -sdeleted SDKDDK securityappcontainer segfault @@ -1667,7 +1604,6 @@ Selfhosters SERVERDLL SETACTIVE SETBUDDYINT -SETCOLOR setcp SETCURSEL SETCURSOR @@ -1675,7 +1611,6 @@ SETCURSORINFO SETCURSORPOSITION SETDISPLAYMODE SETFOCUS -SETFONT SETFOREGROUND SETHARDWARESTATE SETHOTKEY @@ -1693,6 +1628,7 @@ SETSCREENBUFFERSIZE SETSEL SETTEXTATTRIBUTE SETTINGCHANGE +setvariable Setwindow SETWINDOWINFO SFGAO @@ -1710,7 +1646,6 @@ shellscalingapi SHFILEINFO SHGFI SHIFTJIS -Shl shlguid shlobj shlwapi @@ -1726,6 +1661,7 @@ SHOWWINDOW sidebyside SIF SIGDN +Signtool SINGLEFLAG SINGLETHREADED siup @@ -1745,7 +1681,6 @@ slpit SManifest SMARTQUOTE SMTO -SND SOLIDBOX Solutiondir somefile @@ -1758,8 +1693,6 @@ srcsrv SRCSRVTRG srctool srect -srgb -Srgb srv srvinit srvpipe @@ -1773,7 +1706,6 @@ STARTUPINFOW STARTWPARMS STARTWPARMSA STARTWPARMSW -Statusline stb stdafx STDAPI @@ -1783,26 +1715,21 @@ STDEXT STDMETHODCALLTYPE STDMETHODIMP STGM -stl -Stri Stringable STRINGTABLE -strrev strsafe STUBHEAD STUVWX stylecop SUA subcompartment -subfolders -subkey +subkeys SUBLANG subresource subsystemconsole subsystemwindows swapchain swapchainpanel -swappable SWMR SWP SYMED @@ -1828,8 +1755,6 @@ targetentrypoint TARGETLIBS TARGETNAME targetver -taskbar -tbar TBase tbc tbi @@ -1838,8 +1763,8 @@ TBM tchar TCHFORMAT TCI -tcommandline tcommands +tdbuild Tdd TDelegated TDP @@ -1856,7 +1781,7 @@ terminfo TEs testcon testd -testenv +testenvs testlab testlist testmd @@ -1865,7 +1790,6 @@ TESTNULL testpass testpasses TEXCOORD -texel TExpected textattribute TEXTATTRIBUTEID @@ -1878,14 +1802,12 @@ TEXTMETRICW textmode texttests TFCAT -tfoo TFunction -tga THUMBPOSITION THUMBTRACK TIcon tilunittests -titlebar +titlebars TITLEISLINKNAME TJson TLambda @@ -1902,15 +1824,11 @@ toolbars TOOLINFO TOOLWINDOW TOPDOWNDIB -TOPLEFT -TOPRIGHT TOpt tosign touchpad Tpp Tpqrst -tprivapi -tput tracelog tracelogging traceloggingprovider @@ -1927,8 +1845,8 @@ TRIANGLESTRIP Tribool TRIMZEROHEADINGS trx +tsa tsattrs -tsf tsgr tsm TStr @@ -1937,15 +1855,12 @@ TSub TTBITMAP TTFONT TTFONTLIST -tthe -tthis TTM TTo tvpp +tvtseq Txtev typechecked -typelib -typeparam TYUI UAC uap @@ -1956,10 +1871,8 @@ ucd uch UChars udk -UDM uer UError -uget uia UIACCESS uiacore @@ -1968,8 +1881,6 @@ uielem UIELEMENTENABLEDONLY UINTs ulcch -umul -umulh Unadvise unattend UNCPRIORITY @@ -1978,7 +1889,6 @@ unhighlighting unhosted UNICODETEXT UNICRT -uninitialize Unintense Uniscribe unittesting @@ -1989,7 +1899,6 @@ UNORM unparseable unregistering untextured -untimes UPDATEDISPLAY UPDOWN UPKEY @@ -2018,8 +1927,6 @@ USESTDHANDLES usp USRDLL utext -UText -UTEXT utr UVWXY UVWXYZ @@ -2029,12 +1936,9 @@ uxtheme Vanara vararg vclib -vcpkg vcprintf vcxitems -vec vectorize -vectorized VERCTRL VERTBAR VFT @@ -2048,6 +1952,9 @@ vkey VKKEYSCAN VMs VPA +vpack +vpackdirectory +VPACKMANIFESTDIRECTORY VPR VProc VRaw @@ -2057,7 +1964,9 @@ vsconfig vscprintf VSCROLL vsdevshell +vse vsinfo +vsinstalldir vso vspath VSTAMP @@ -2147,16 +2056,17 @@ windowsshell windowsterminal windowsx windowtheme -WINDOWTITLE winevent wingdi winget +wingetcreate WINIDE winioctl winmd winmeta winmgr winmm +WINMSAPP winnt Winperf WInplace @@ -2182,13 +2092,13 @@ WNegative WNull wnwb workarea -workaround WOutside WOWARM WOWx wparam WPartial wpf +wpfdotnet WPR WPrep WPresent @@ -2246,6 +2156,7 @@ xdy XEncoding xes xff +XFG XFile XFORM xin @@ -2273,9 +2184,7 @@ yact YCast YCENTER YCount -YDPI YLimit -YOffset YSubstantial YVIRTUALSCREEN YWalk diff --git a/.github/actions/spelling/expect/web.txt b/.github/actions/spelling/expect/web.txt index 8f5b59ac73..39e8cc78d5 100644 --- a/.github/actions/spelling/expect/web.txt +++ b/.github/actions/spelling/expect/web.txt @@ -1,4 +1,3 @@ -WCAG winui appshellintegration mdtauk diff --git a/.github/actions/spelling/line_forbidden.patterns b/.github/actions/spelling/line_forbidden.patterns index 31ad2ddcd2..41cf9272ed 100644 --- a/.github/actions/spelling/line_forbidden.patterns +++ b/.github/actions/spelling/line_forbidden.patterns @@ -1,4 +1,6 @@ -# reject `m_data` as there's a certain OS which has evil defines that break things if it's used elsewhere +# reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere +# see [fprime](https://github.com/nasa/fprime/commit/d589f0a25c59ea9a800d851ea84c2f5df02fb529) +# and [Qt](https://github.com/qtproject/qt-solutions/blame/fb7bc42bfcc578ff3fa3b9ca21a41e96eb37c1c7/qtscriptclassic/src/qscriptbuffer_p.h#L46) # \bm_data\b # If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test, @@ -6,40 +8,72 @@ # to use this: #\bfit\( +# s.b. anymore +\bany more[,.] + # s.b. GitHub -\bGithub\b +(?)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}(?:[}"]|v# -(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) - -# hit-count: 20 file-count: 9 +# hit-count: 314 file-count: 21 # hex runs \b[0-9a-fA-F]{16,}\b -# hit-count: 10 file-count: 7 +# hit-count: 47 file-count: 11 +# special cased printf markers +\\r\\n(?=[a-z])|(?"'`=(])-(?:D(?=[A-Z])|[WX]|f(?=[ms]))(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) + +# hit-count: 60 file-count: 35 +# version suffix v# +(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) + +# hit-count: 2 file-count: 2 +# This does not cover multiline strings, if your repository has them, +# you'll want to remove the `(?=.*?")` suffix. +# The `(?=.*?")` suffix should limit the false positives rate +# printf +%(?:s)(?!ize)(?=[a-z]{2,}) + +# hit-count: 16 file-count: 10 # uuid: \b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b +# hit-count: 13 file-count: 4 +# Non-English +[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,} + +# hit-count: 7 file-count: 5 +# hex digits including css/html color classes: +(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b + +# hit-count: 7 file-count: 1 +# regex choice +\(\?:[^)]+\|[^)]+\) + # hit-count: 4 file-count: 4 -# mailto urls -mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} +# tar arguments +\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ # hit-count: 4 file-count: 1 # ANSI color codes -(?:\\(?:u00|x)1b|\x1b)\[\d+(?:;\d+|)m +(?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m + +# hit-count: 4 file-count: 1 +# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally ) +# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review - +# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into: +## Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary). +## You could manually change `(?i)X...` to use `[Xx]...` +## or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path) +# Lorem +(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])* + +# hit-count: 3 file-count: 3 +# mailto urls +mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} # hit-count: 2 file-count: 1 -# latex -\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+) +# 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 +(?= 0.0.22) +\\\w{2,}\{ # hit-count: 1 file-count: 1 -# French -# This corpus only had capital letters, but you probably want lowercase ones as well. -\b[LN]'+[a-z]{2,}\b +# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long... +\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\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|[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+ -# C/idl types + English ... -\s(Guid|long|LONG|that) \g{-1}\s - -# javadoc / .net -(?:[\\@](?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\g{-1}\s +[-bcdlpsw](?:[-r][-w][-Ssx]){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(auto|center|div|Guid|inherit|long|LONG|none|normal|solid|that|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|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*$ diff --git a/.github/actions/spelling/reject.txt b/.github/actions/spelling/reject.txt index 301719de47..2ac1670d53 100644 --- a/.github/actions/spelling/reject.txt +++ b/.github/actions/spelling/reject.txt @@ -1,6 +1,7 @@ ^attache$ ^attacher$ ^attachers$ +^bellow$ benefitting occurences? ^dependan.* diff --git a/.github/workflows/similarIssues.yml b/.github/workflows/similarIssues.yml index b0fcc3d306..f3d17ac11b 100644 --- a/.github/workflows/similarIssues.yml +++ b/.github/workflows/similarIssues.yml @@ -5,19 +5,19 @@ on: types: [opened] jobs: - getsimilarissues: + getSimilarIssues: runs-on: ubuntu-latest outputs: - message: ${{ steps.getbody.outputs.message }} + message: ${{ steps.getBody.outputs.message }} steps: - - id: getbody + - id: getBody uses: craigloewen-msft/GitGudSimilarIssues@main with: issuetitle: ${{ github.event.issue.title }} repo: ${{ github.repository }} similaritytolerance: "0.8" add-comment: - needs: getsimilarissues + needs: getSimilarIssues runs-on: ubuntu-latest permissions: issues: write @@ -28,4 +28,4 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NUMBER: ${{ github.event.issue.number }} REPO: ${{ github.repository }} - BODY: ${{ needs.getsimilarissues.outputs.message }} + BODY: ${{ needs.getSimilarIssues.outputs.message }} diff --git a/.github/workflows/spelling2.yml b/.github/workflows/spelling2.yml index 446b24343e..2778a7e9e5 100644 --- a/.github/workflows/spelling2.yml +++ b/.github/workflows/spelling2.yml @@ -5,7 +5,7 @@ name: Spell checking # https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions # # `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment -# (in odd cases, it might actually run just to collapse a commment, but that's fairly rare) +# (in odd cases, it might actually run just to collapse a comment, but that's fairly rare) # it needs `contents: write` in order to add a comment. # # `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment @@ -34,6 +34,29 @@ name: Spell checking # # For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key +# Sarif reporting +# +# Access to Sarif reports is generally restricted (by GitHub) to members of the repository. +# +# Requires enabling `security-events: write` +# and configuring the action with `use_sarif: 1` +# +# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Sarif-output + +# Minimal workflow structure: +# +# on: +# push: +# ... +# pull_request_target: +# ... +# jobs: +# # you only want the spelling job, all others should be omitted +# spelling: +# # remove `security-events: write` and `use_sarif: 1` +# # remove `experimental_apply_changes_via_bot: 1` +# ... otherwise adjust the `with:` as you wish + on: push: branches: @@ -43,8 +66,6 @@ on: pull_request_target: branches: - "**" - tags-ignore: - - "**" types: - 'opened' - 'reopened' @@ -60,10 +81,11 @@ jobs: contents: read pull-requests: read actions: read + security-events: write 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 @@ -71,35 +93,50 @@ jobs: steps: - name: check-spelling id: spelling - uses: check-spelling/check-spelling@v0.0.21 + uses: check-spelling/check-spelling@v0.0.22 with: - suppress_push_for_open_pull_request: 1 + suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} checkout: true check_file_names: 1 - spell_check_this: check-spelling/spell-check-this@prerelease + spell_check_this: microsoft/terminal@main post_comment: 0 use_magic_file: 1 - extra_dictionary_limit: 10 + report-timing: 1 + 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 + experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }} + use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }} + extra_dictionary_limit: 20 extra_dictionaries: - cspell:software-terms/src/software-terms.txt - cspell:python/src/python/python-lib.txt - cspell:node/node.txt - cspell:cpp/src/stdlib-c.txt + cspell:software-terms/dict/softwareTerms.txt cspell:cpp/src/stdlib-cpp.txt - cspell:fullstack/fullstack.txt + cspell:lorem-ipsum/dictionary.txt + cspell:cpp/src/stdlib-c.txt + cspell:php/dict/php.txt cspell:filetypes/filetypes.txt - cspell:html/html.txt - cspell:cpp/src/compiler-msvc.txt + cspell:java/src/java.txt cspell:python/src/common/extra.txt - cspell:powershell/powershell.txt + cspell:node/dict/node.txt + cspell:java/src/java-terms.txt cspell:aws/aws.txt - cspell:cpp/src/lang-keywords.txt - cspell:npm/npm.txt - cspell:dotnet/dotnet.txt - cspell:python/src/python/python.txt - cspell:css/css.txt + cspell:typescript/dict/typescript.txt + cspell:dotnet/dict/dotnet.txt + cspell:golang/dict/go.txt + cspell:fullstack/dict/fullstack.txt + cspell:cpp/src/compiler-msvc.txt + cspell:python/src/python/python-lib.txt + cspell:mnemonics/src/mnemonics.txt cspell:cpp/src/stdlib-cmath.txt - check_extra_dictionaries: '' + cspell:css/dict/css.txt + cspell:cpp/src/lang-keywords.txt + cspell:django/dict/django.txt + cspell:python/src/python/python.txt + cspell:html/dict/html.txt + cspell:cpp/src/ecosystem.txt + cspell:cpp/src/compiler-clang-attributes.txt + cspell:npm/dict/npm.txt + cspell:r/src/r.txt + cspell:powershell/dict/powershell.txt + cspell:csharp/csharp.txt comment-push: name: Report (Push) @@ -111,10 +148,10 @@ jobs: if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' steps: - name: comment - uses: check-spelling/check-spelling@v0.0.21 + uses: check-spelling/check-spelling@v0.0.22 with: checkout: true - spell_check_this: check-spelling/spell-check-this@prerelease + spell_check_this: microsoft/terminal@main task: ${{ needs.spelling.outputs.followup }} comment-pr: @@ -123,12 +160,38 @@ jobs: runs-on: ubuntu-latest needs: spelling permissions: + contents: read pull-requests: write if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request') steps: - name: comment - uses: check-spelling/check-spelling@v0.0.21 + uses: check-spelling/check-spelling@v0.0.22 with: checkout: true - spell_check_this: check-spelling/spell-check-this@prerelease + spell_check_this: microsoft/terminal@main task: ${{ needs.spelling.outputs.followup }} + experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }} + + update: + name: Update PR + permissions: + contents: write + pull-requests: write + actions: read + runs-on: ubuntu-latest + if: ${{ + github.repository_owner != 'microsoft' && + github.event_name == 'issue_comment' && + github.event.issue.pull_request && + contains(github.event.comment.body, '@check-spelling-bot apply') + }} + concurrency: + group: spelling-update-${{ github.event.issue.number }} + cancel-in-progress: false + steps: + - name: apply spelling updates + uses: check-spelling/check-spelling@v0.0.22 + with: + experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }} + checkout: true + ssh_key: "${{ secrets.CHECK_SPELLING }}" diff --git a/build/pipelines/ci.yml b/build/pipelines/ci.yml index 4ad72566a1..ab3490bc58 100644 --- a/build/pipelines/ci.yml +++ b/build/pipelines/ci.yml @@ -102,7 +102,7 @@ stages: - ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: - stage: CodeIndexer - displayName: Github CodeNav Indexer + displayName: GitHub CodeNav Indexer dependsOn: [] jobs: - template: ./templates-v2/job-index-github-codenav.yml diff --git a/build/pipelines/templates-v2/job-index-github-codenav.yml b/build/pipelines/templates-v2/job-index-github-codenav.yml index e2edf55e65..b59b0a436e 100644 --- a/build/pipelines/templates-v2/job-index-github-codenav.yml +++ b/build/pipelines/templates-v2/job-index-github-codenav.yml @@ -1,6 +1,6 @@ jobs: - job: CodeNavIndexer - displayName: Run Github CodeNav Indexer + displayName: Run GitHub CodeNav Indexer pool: { vmImage: windows-2022 } steps: diff --git a/doc/Niksa.md b/doc/Niksa.md index 5efcdda0ab..ec6af1f146 100644 --- a/doc/Niksa.md +++ b/doc/Niksa.md @@ -51,7 +51,7 @@ Will this UI enhancement come to other apps on Windows? Almost certainly not. Th Will we try to keep it from regressing? Yes! Right now it's sort of a manual process. We identify that something is getting slow and then we go haul out [WPR](https://docs.microsoft.com/en-us/windows-hardware/test/wpt/windows-performance-recorder) and start taking traces. We stare down the hot paths and try to reason out what is going on and then improve them. For instance, in the last cycle or two, we focused on heap allocations as a major area where we could improve our end-to-end performance, changing a ton of our code to use stack-constructed iterator-like facades over the underlying request buffer instead of translating and allocating it into a new heap space for each level of processing. -As an aside, @bitcrazed wants us to automate performance tests in some conhost specific way, but I haven't quite figured out a controlled environment to do this in yet. The Windows Engineering System runs performance tests each night that give us a coarse grained way of knowing if we messed something up for the whole operating system, and they technically offer a fine grained way for us to insert our own performance tests... but I just haven't got around to that yet. If you have an idea for a way for us to do this in an automated fashion, I'm all ears. +As an aside, @bitcrazed wants us to automate performance tests in some conhost specific way, but I haven't quite figured out a controlled environment to do this in yet. The Windows Engineering System runs performance tests each night that give us a coarse-grained way of knowing if we messed something up for the whole operating system, and they technically offer a fine-grained way for us to insert our own performance tests... but I just haven't got around to that yet. If you have an idea for a way for us to do this in an automated fashion, I'm all ears. If there's anything else you'd like to know, let me know. I could go on all day. I deleted like 15 tangents from this reply before posting it.... diff --git a/doc/specs/drafts/#2634 - Broadcast Input/#2634 - Broadcast Input.md b/doc/specs/drafts/#2634 - Broadcast Input/#2634 - Broadcast Input.md index 76cc91f508..01689b8f43 100644 --- a/doc/specs/drafts/#2634 - Broadcast Input/#2634 - Broadcast Input.md +++ b/doc/specs/drafts/#2634 - Broadcast Input/#2634 - Broadcast Input.md @@ -290,7 +290,7 @@ though. **I recommend we ignore this for now, and leave this as a follow-up**. For reference, refer to the following from iTerm2: ![image](https://user-images.githubusercontent.com/2578976/64075757-fa971980-ccee-11e9-9e44-47aaf3bca76c.png) -We don't have a menu bar like on MacOS, but we do have a tab context menu. We +We don't have a menu bar like on macOS, but we do have a tab context menu. We could add these items as a nested entry under each tab. If we wanted to do this, we should also make sure to dynamically change the icon of the MenuItem to reflect the current broadcast state. diff --git a/doc/specs/drafts/#3327 - Application Theming/#3327 - Application Theming.md b/doc/specs/drafts/#3327 - Application Theming/#3327 - Application Theming.md index e0f6d86554..e956b33491 100644 --- a/doc/specs/drafts/#3327 - Application Theming/#3327 - Application Theming.md +++ b/doc/specs/drafts/#3327 - Application Theming/#3327 - Application Theming.md @@ -373,7 +373,7 @@ changes, or the active pane in a tab changes: `TabRowControl` to match. The `tab.cornerRadius` might be a bit trickier to implement. Currently, there's -not a XAML resource that controls this, nor is this something that's exposed by +no XAML resource that controls this, nor is this something that's exposed by the TabView control. Fortunately, this is something that's exposed to us programmatically. We'll need to manually set that value on each `TabViewItem` as we create new tabs. When we reload settings, we'll need to make sure to come diff --git a/src/renderer/atlas/AtlasEngine.r.cpp b/src/renderer/atlas/AtlasEngine.r.cpp index 1fac8f0e83..9264955324 100644 --- a/src/renderer/atlas/AtlasEngine.r.cpp +++ b/src/renderer/atlas/AtlasEngine.r.cpp @@ -217,7 +217,7 @@ void AtlasEngine::_recreateBackend() if (hr == DXGI_ERROR_SDK_COMPONENT_MISSING) { // This might happen if you don't have "Graphics debugger and GPU - // profiler for DirectX" installed in VS. We shouln't just explode if + // profiler for DirectX" installed in VS. We shouldn't just explode if // you don't though - instead, disable debugging and try again. WI_ClearFlag(deviceFlags, D3D11_CREATE_DEVICE_DEBUG); diff --git a/src/renderer/atlas/BackendD2D.cpp b/src/renderer/atlas/BackendD2D.cpp index ea4ea0923e..05f79c78c2 100644 --- a/src/renderer/atlas/BackendD2D.cpp +++ b/src/renderer/atlas/BackendD2D.cpp @@ -332,7 +332,7 @@ void BackendD2D::_drawTextResetLineRendition(const ShapedRow* row) const noexcep } } -// Returns the theoretical/design design size of the given `DWRITE_GLYPH_RUN`, relative the the given baseline origin. +// Returns the theoretical/design design size of the given `DWRITE_GLYPH_RUN`, relative the given baseline origin. // This algorithm replicates what DirectWrite does internally to provide `IDWriteTextLayout::GetMetrics`. f32r BackendD2D::_getGlyphRunDesignBounds(const DWRITE_GLYPH_RUN& glyphRun, f32 baselineX, f32 baselineY) { diff --git a/src/renderer/atlas/BackendD3D.cpp b/src/renderer/atlas/BackendD3D.cpp index 41fefa6ea2..51494df7b2 100644 --- a/src/renderer/atlas/BackendD3D.cpp +++ b/src/renderer/atlas/BackendD3D.cpp @@ -1932,7 +1932,7 @@ void BackendD3D::_drawCursorForeground() } } // We can also skip any instances (= any rows) at the beginning that are clearly not overlapping with - // the cursor. This reduces the the CPU cost of this function by roughly half (a few microseconds). + // the cursor. This reduces the CPU cost of this function by roughly half (a few microseconds). for (; instancesOffset < instancesCount; ++instancesOffset) { const auto& it = _instances[instancesOffset];