Check spelling 0.0.22 (#16127)

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>
This commit is contained in:
Josh Soref
2023-12-05 18:40:23 -05:00
committed by GitHub
parent 65d2d3dcec
commit dc986e4489
25 changed files with 757 additions and 340 deletions

View File

@@ -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. 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: If the listed items are:
* ... **misspelled**, then please *correct* them instead of using the command. * ... **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. * 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. try adding it to the `patterns.txt` file.
Patterns are Perl 5 Regular Expressions - you can [test]( Patterns are Perl 5 Regular Expressions - you can [test](

View File

@@ -55,6 +55,7 @@ hyperlinks
iconify iconify
img img
inlined inlined
issuetitle
It'd It'd
kje kje
libfuzzer libfuzzer
@@ -95,6 +96,7 @@ rlig
runtimes runtimes
servicebus servicebus
shcha shcha
similaritytolerance
slnt slnt
Sos Sos
ssh ssh
@@ -122,6 +124,7 @@ walkthroughs
We'd We'd
westus westus
wildcards wildcards
workarounds
XBox XBox
YBox YBox
yeru yeru

View File

@@ -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

View File

@@ -6,6 +6,7 @@ bhoj
Bhojwani Bhojwani
Bluloco Bluloco
carlos carlos
craigloewen
dhowett dhowett
Diviness Diviness
dsafa dsafa

View File

@@ -1,23 +1,37 @@
# marker to ignore all code on line # marker to ignore all code on line
^.*/\* #no-spell-check-line \*/.*$ ^.*/\* #no-spell-check-line \*/.*$
# marker for ignoring a comment to the end of the line # marker to ignore all code on line
// #no-spell-check.*$ ^.*\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 # patch hunk comments
^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .* ^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .*
# git index header # 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 urls
(['"])cid:.*?\g{-1} (['"])cid:.*?\g{-1}
# data url in parens # 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 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 url
data:[-a-zA-Z=;:/0-9+]*,\S* 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 urls
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}
@@ -35,6 +49,9 @@ magnet:[?=:\w]+
# asciinema # asciinema
\basciinema\.org/a/[0-9a-zA-Z]+ \basciinema\.org/a/[0-9a-zA-Z]+
# asciinema v2
^\[\d+\.\d+, "[io]", ".*"\]$
# apple # apple
\bdeveloper\.apple\.com/[-\w?=/]+ \bdeveloper\.apple\.com/[-\w?=/]+
# Apple music # Apple music
@@ -89,7 +106,7 @@ vpc-\w+
# Google Drive # Google Drive
\bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]* \bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]*
# Google Groups # 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 # Google Maps
\bmaps\.google\.com/maps\?[\w&;=]* \bmaps\.google\.com/maps\?[\w&;=]*
# Google themes # 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|) (?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)
# GitHub SHAs # GitHub SHAs
\bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b \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 # GitHub wiki
\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b \bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b
# githubusercontent # githubusercontent
@@ -128,9 +147,9 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+.
# git.io # git.io
\bgit\.io/[0-9a-zA-Z]+ \bgit\.io/[0-9a-zA-Z]+
# GitHub JSON # GitHub JSON
"node_id": "[-a-zA-Z=;:/0-9+]*" "node_id": "[-a-zA-Z=;:/0-9+_]*"
# Contributor # Contributor
\[[^\]]+\]\(https://github\.com/[^/\s"]+\) \[[^\]]+\]\(https://github\.com/[^/\s"]+/?\)
# GHSA # GHSA
GHSA(?:-[0-9a-z]{4}){3} GHSA(?:-[0-9a-z]{4}){3}
@@ -143,8 +162,8 @@ GHSA(?:-[0-9a-z]{4}){3}
# GitLab commits # GitLab commits
\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b \bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b
# binanace # binance
accounts.binance.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]*
# bitbucket diff # bitbucket diff
\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+ \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_.%?=&;]+ \bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+
# ipfs protocol # ipfs protocol
ipfs://[0-9a-z]* ipfs://[0-9a-zA-Z]{3,}
# ipfs url # ipfs url
/ipfs/[0-9a-z]* /ipfs/[0-9a-zA-Z]{3,}
# w3 # w3
\bw3\.org/[-0-9a-zA-Z/#.]+ \bw3\.org/[-0-9a-zA-Z/#.]+
@@ -359,22 +378,33 @@ ipfs://[0-9a-z]*
# tinyurl # tinyurl
\btinyurl\.com/\w+ \btinyurl\.com/\w+
# codepen
\bcodepen\.io/[\w/]+
# registry.npmjs.org
\bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+
# getopts # getopts
\bgetopts\s+(?:"[^"]+"|'[^']+') \bgetopts\s+(?:"[^"]+"|'[^']+')
# ANSI color codes # ANSI color codes
(?:\\(?:u00|x)1b|\x1b)\[\d+(?:;\d+|)m (?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m
# URL escaped characters # 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 # 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) # c99 hex digits (not the full format, just one I've seen)
0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] 0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]
# Punycode
\bxn--[-0-9a-z]+
# sha # sha
sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* sha\d+:[0-9]*[a-f]{3,}[0-9a-f]*
# sha-... -- uses a fancy capture # sha-... -- uses a fancy capture
(['"]|&quot;)[0-9a-f]{40,}\g{-1} (\\?['"]|&quot;)[0-9a-f]{40,}\g{-1}
# hex runs # hex runs
\b[0-9a-fA-F]{16,}\b \b[0-9a-fA-F]{16,}\b
# hex in url queries # hex in url queries
@@ -389,18 +419,21 @@ sha\d+:[0-9]*[a-f]{3,}[0-9a-f]*
# Well known gpg keys # Well known gpg keys
.well-known/openpgpkey/[\w./]+ .well-known/openpgpkey/[\w./]+
# pki
-----BEGIN.*-----END
# uuid: # uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b \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: # 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
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 # https://www.gnu.org/software/groff/manual/groff.html
# man troff content # man troff content
\\f[BCIPR] \\f[BCIPR]
# ' # '/"
\\\(aq \\\([ad]q
# .desktop mime types # .desktop mime types
^MimeTypes?=.*$ ^MimeTypes?=.*$
@@ -409,21 +442,33 @@ integrity="sha\d+-[-a-zA-Z=;:/0-9+]{40,}"
# Localized .desktop content # Localized .desktop content
Name\[[^\]]+\]=.* Name\[[^\]]+\]=.*
# IServiceProvider # IServiceProvider / isAThing
\bI(?=(?:[A-Z][a-z]{2,})+\b) \b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b)
# crypt # crypt
"\$2[ayb]\$.{56}" (['"])\$2[ayb]\$.{56}\g{-1}
# scrypt / argon # scrypt / argon
\$(?:scrypt|argon\d+[di]*)\$\S+ \$(?:scrypt|argon\d+[di]*)\$\S+
# Input to GitHub JSON # go.sum
content: "[-a-zA-Z=;:/0-9+]*=" \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 # 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,}) (?<!')\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,})
# Regular expressions for (P|p)assword # Regular expressions for (P|p)assword
\([A-Z]\|[a-z]\)[a-z]+ \([A-Z]\|[a-z]\)[a-z]+
@@ -439,16 +484,35 @@ content: "[-a-zA-Z=;:/0-9+]*="
^\s*/\\[b].*/[gim]*\s*(?:\)(?:;|$)|,$) ^\s*/\\[b].*/[gim]*\s*(?:\)(?:;|$)|,$)
# javascript replace regex # javascript replace regex
\.replace\(/[^/\s"]*/[gim]*\s*, \.replace\(/[^/\s"]*/[gim]*\s*,
# assign regex
= /[^*]*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/
# perl regex test
[!=]~ (?:/.*/|m\{.*?\}|m<.*?>|m([|!/@#,;']).*?\g{-1})
# perl qr regex
(?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1})
# Go regular expressions # Go regular expressions
regexp?\.MustCompile\(`[^`]*`\) regexp?\.MustCompile\(`[^`]*`\)
# regex choice
\(\?:[^)]+\|[^)]+\)
# proto
^\s*(\w+)\s\g{-1} =
# sed regular expressions # sed regular expressions
sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2} sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2}
# node packages
(["'])\@[^/'" ]+/[^/'" ]+\g{-1}
# go install # go install
go install(?:\s+[a-z]+\.[-@\w/.]+)+ go install(?:\s+[a-z]+\.[-@\w/.]+)+
# jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571
urn:shemas-jetbrains-com
# kubernetes pod status lists # kubernetes pod status lists
# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+ \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 -[0-9a-f]{10}-\w{5}\s
# posthog secrets # posthog secrets
posthog\.init\((['"])phc_[^"',]+\g{-1}, ([`'"])phc_[^"',]+\g{-1}
# xcode # xcode
# xcodeproject scenes # xcodeproject scenes
(?:Controller|ID|id)="\w{3}-\w{2}-\w{3}" (?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}"
# xcode api botches # xcode api botches
customObjectInstantitationMethod customObjectInstantitationMethod
# configure flags
.* \| --\w{2,}.*?(?=\w+\s\w+)
# font awesome classes # font awesome classes
\.fa-[-a-z0-9]+ \.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+]+=</
# base64 encoded content, possibly wrapped in mime
#(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)
# encoded-word
=\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?=
# Time Zones
\b(?:Africa|Atlantic|America|Antarctica|Asia|Australia|Europe|Indian|Pacific)(?:/\w+)+
# linux kernel info
^(?:bugs|flags|Features)\s+:.*
# systemd mode
systemd.*?running in system mode \([-+].*\)$
# 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 ) # 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 - # 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: # Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
@@ -483,32 +575,62 @@ customObjectInstantitationMethod
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])* (?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*
# Non-English # Non-English
[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]* [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 # French
# This corpus only had capital letters, but you probably want lowercase ones as well. # This corpus only had capital letters, but you probably want lowercase ones as well.
\b[LN]'+[a-z]{2,}\b \b[LN]'+[a-z]{2,}\b
# latex # latex (check-spelling <= 0.0.21)
\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+) #\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+)
# latex (check-spelling >= 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
#(?<!\\)\\[nrt](?=[a-z]{2,})
# alternate markers if you run into latex and friends
#(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*['"`])
# apache
a2(?:en|dis)
# weak e-tag
W/"[^"]+"
# the negative lookahead here is to allow catching 'templatesz' as a misspelling # the negative lookahead here is to allow catching 'templatesz' as a misspelling
# but to otherwise recognize a Windows path with \templates\foo.template or similar: # but to otherwise recognize a Windows path with \templates\foo.template or similar:
\\(?:necessary|r(?:eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z]) #\\(?:necessary|r(?:eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z])
# ignore long runs of a single character: # ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b \b([A-Za-z])\g{-1}{3,}\b
# Note that the next example is no longer necessary if you are using
# to match a string starting with a `#`, use a character-class:
[#]backwards
# version suffix <word>v# # version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) (?:(?<=[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 (Unix, Java/Scala)
# Compiler flags # Use if you have things like `-Pdocker` and want to treat them as `docker`
#(?:^|[\t ,"'`=(])-[DPWXYLlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) #(?:^|[\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) # Compiler flags (linker)
,-B ,-B
# curl arguments # curl arguments
\b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)* \b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
# set arguments # set arguments

View File

@@ -1,21 +1,24 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:(?i)\.png$)
(?:^|/)(?i)COPYRIGHT (?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E (?:^|/)(?i)LICEN[CS]E
(?:^|/)3rdparty/ (?:^|/)3rdparty/
(?:^|/)dirs$ (?:^|/)dirs$
(?:^|/)go\.mod$
(?:^|/)go\.sum$ (?:^|/)go\.sum$
(?:^|/)package(?:-lock|)\.json$ (?:^|/)package(?:-lock|)\.json$
(?:^|/)Pipfile$
(?:^|/)pyproject.toml
(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$
(?:^|/)sources(?:|\.dep)$ (?:^|/)sources(?:|\.dep)$
(?:^|/)vendor/ (?:^|/)vendor/
\.a$ \.a$
\.ai$ \.ai$
\.all-contributorsrc$
\.avi$ \.avi$
\.bmp$ \.bmp$
\.bz2$ \.bz2$
\.cer$ \.cer$
\.class$ \.class$
\.coveragerc$
\.crl$ \.crl$
\.crt$ \.crt$
\.csr$ \.csr$
@@ -27,11 +30,15 @@
\.eps$ \.eps$
\.exe$ \.exe$
\.gif$ \.gif$
\.git-blame-ignore-revs$
\.gitattributes$ \.gitattributes$
\.gitignore$
\.gitkeep$
\.graffle$ \.graffle$
\.gz$ \.gz$
\.icns$ \.icns$
\.ico$ \.ico$
\.ipynb$
\.jar$ \.jar$
\.jks$ \.jks$
\.jpeg$ \.jpeg$
@@ -41,61 +48,62 @@
\.lock$ \.lock$
\.map$ \.map$
\.min\.. \.min\..
\.mo$
\.mod$ \.mod$
\.mp3$ \.mp3$
\.mp4$ \.mp4$
\.o$ \.o$
\.ocf$ \.ocf$
\.otf$ \.otf$
\.p12$
\.parquet$
\.pbxproj$ \.pbxproj$
\.pdf$ \.pdf$
\.pem$ \.pem$
\.pfx$
\.png$ \.png$
\.psd$ \.psd$
\.pyc$ \.pyc$
\.pylintrc$
\.qm$
\.runsettings$ \.runsettings$
\.s$ \.s$
\.sig$ \.sig$
\.so$ \.so$
\.svg$ \.svg$
\.svgz$ \.svgz$
\.svgz?$ \.sys$
\.tar$ \.tar$
\.tgz$ \.tgz$
\.tiff?$ \.tiff?$
\.ttf$ \.ttf$
\.vcxproj\.filters$
\.vsdx$ \.vsdx$
\.wav$ \.wav$
\.webm$ \.webm$
\.webp$ \.webp$
\.woff \.woff
\.woff2?$
\.xcf$ \.xcf$
\.xls
\.xlsx?$ \.xlsx?$
\.xpm$ \.xpm$
\.yml$ \.xz$
\.zip$ \.zip$
^\.github/actions/spelling/ ^\.github/actions/spelling/
^\.github/fabricbot.json$
^\.gitignore$
^\Q.git-blame-ignore-revs\E$
^\Q.github/workflows/spelling.yml\E$ ^\Q.github/workflows/spelling.yml\E$
^\Qdoc/reference/windows-terminal-logo.ans\E$ ^\Qbuild/config/release.gdnbaselines\E$
^\Qsamples/ConPTY/EchoCon/EchoCon/EchoCon.vcxproj.filters\E$
^\Qsrc/host/exe/Host.EXE.vcxproj.filters\E$
^\Qsrc/host/ft_host/chafa.txt\E$ ^\Qsrc/host/ft_host/chafa.txt\E$
^\Qsrc/tools/closetest/CloseTest.vcxproj.filters\E$ ^\Qsrc/host/ft_uia/run.bat\E$
^\XamlStyler.json$ ^\Qsrc/host/runft.bat\E$
^\Qsrc/tools/lnkd/lnkd.bat\E$
^\Qsrc/tools/pixels/pixels.bat\E$
^build/config/ ^build/config/
^consolegit2gitfilters\.json$ ^consolegit2gitfilters\.json$
^dep/ ^dep/
^doc/reference/master-sequence-list.csv$ ^doc/reference/master-sequence-list\.csv$
^doc/reference/UTF8-torture-test\.txt$ ^doc/reference/UTF8-torture-test\.txt$
^doc/reference/windows-terminal-logo\.ans$
^oss/ ^oss/
^src/host/ft_uia/run\.bat$ ^samples/PixelShaders/Screenshots/
^src/host/runft\.bat$
^src/host/runut\.bat$
^src/interactivity/onecore/BgfxEngine\. ^src/interactivity/onecore/BgfxEngine\.
^src/renderer/atlas/ ^src/renderer/atlas/
^src/renderer/wddmcon/WddmConRenderer\. ^src/renderer/wddmcon/WddmConRenderer\.
@@ -107,14 +115,13 @@
^src/terminal/parser/ut_parser/Base64Test.cpp$ ^src/terminal/parser/ut_parser/Base64Test.cpp$
^src/terminal/parser/ut_parser/run\.bat$ ^src/terminal/parser/ut_parser/run\.bat$
^src/tools/benchcat ^src/tools/benchcat
^src/tools/integrity/dirs$
^src/tools/integrity/packageuwp/ConsoleUWP\.appxSources$ ^src/tools/integrity/packageuwp/ConsoleUWP\.appxSources$
^src/tools/lnkd/lnkd\.bat$ ^src/tools/RenderingTests/main\.cpp$
^src/tools/pixels/pixels\.bat$
^src/tools/RenderingTests/main.cpp$
^src/tools/texttests/fira\.txt$ ^src/tools/texttests/fira\.txt$
^src/tools/U8U16Test/(?:fr|ru|zh)\.txt$ ^src/tools/U8U16Test/(?!en)..\.
^src/types/ColorFix.cpp ^src/types/ColorFix\.cpp$
^src/types/ut_types/UtilsTests.cpp$ ^src/types/ut_types/UtilsTests\.cpp$
^tools/ReleaseEngineering/ServicingPipeline.ps1$ ^tools/ReleaseEngineering/ServicingPipeline\.ps1$
^XamlStyler\.json$
ignore$ ignore$
SUMS$

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,3 @@
WCAG
winui winui
appshellintegration appshellintegration
mdtauk mdtauk

View File

@@ -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 # \bm_data\b
# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test, # If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test,
@@ -6,40 +8,72 @@
# to use this: # to use this:
#\bfit\( #\bfit\(
# s.b. anymore
\bany more[,.]
# s.b. GitHub # s.b. GitHub
\bGithub\b (?<![&*.]|// |\btype )\bGithub\b(?![{)])
# s.b. GitLab # s.b. GitLab
\bGitlab\b (?<![&*.]|// |\btype )\bGitlab\b(?![{)])
# s.b. JavaScript # s.b. JavaScript
\bJavascript\b \bJavascript\b
# s.b. macOS or Mac OS X or ...
\bMacOS\b
# s.b. Microsoft # s.b. Microsoft
\bMicroSoft\b \bMicroSoft\b
# s.b. TypeScript
\bTypescript\b
# s.b. another # s.b. another
\ban[- ]other\b \ban[- ]other\b
# s.b. deprecation warning
\b[Dd]epreciation [Ww]arnings?\b
# s.b. greater than # s.b. greater than
\bgreater then\b \bgreater then\b
# s.b. in front of
\bin from of\b
# s.b. into # s.b. into
#\sin to\s # 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. is obsolete
\bis obsolescent\b
# s.b. it's or its
\bits[']
# s.b. opt-in # s.b. opt-in
\sopt in\s #(?<!\sfor)\sopt in\s
# s.b. less than # s.b. less than
\bless then\b \bless then\b
# s.b. one of
\bon of\b
# s.b. otherwise # s.b. otherwise
\bother[- ]wise\b \bother[- ]wise\b
# s.b. or (more|less)
\bore (?:more|less)\b
# s.b. nonexistent # s.b. nonexistent
\bnon existing\b \bnon existing\b
\b[Nn]o[nt][- ]existent\b \b[Nn]o[nt][- ]existent\b
# s.b. brief / details/ param / return / retval
(?:^\s*|(?:\*|//|/*)\s+`)[\\@](?:breif|(?:detail|detials)|(?:params(?!\.)|prama?)|ret(?:uns?)|retvl)\b
# s.b. preexisting # s.b. preexisting
[Pp]re[- ]existing [Pp]re[- ]existing
@@ -49,14 +83,37 @@
# s.b. preemptively # s.b. preemptively
[Pp]re[- ]emptively [Pp]re[- ]emptively
# s.b. recently changed or recent changes
[Rr]ecent changed
# s.b. reentrancy # s.b. reentrancy
[Rr]e[- ]entrancy [Rr]e[- ]entrancy
# s.b. reentrant # s.b. reentrant
[Rr]e[- ]entrant [Rr]e[- ]entrant
# s.b. workaround(s) # s.b. understand
#\bwork[- ]arounds?\b \bunder stand\b
# Reject duplicate words # s.b. workarounds
#\bwork[- ]arounds\b
# s.b. workaround
(?:(?:[Aa]|[Tt]he|ugly)\swork[- ]around\b|\swork[- ]around\s+for)
# s.b. (coarse|fine)-grained
\b(?:coarse|fine) grained\b
# s.b. neither/nor -- or reword
#\bnot\b[^.?!"/(]+\bnor\b
# probably a double negative
# s.b. neither/nor (plus rewording the beginning)
\bnot\b[^.?!"/]*\bneither\b[^.?!"/(]*\bnor\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 \s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s

View File

@@ -1,2 +0,0 @@
\\native(?![a-z])
\\nihilist(?![a-z])

View File

@@ -1,8 +0,0 @@
\\registry(?![a-z])
\\release(?![a-z])
\\resources?(?![a-z])
\\result(?![a-z])
\\resultmacros(?![a-z])
\\rules(?![a-z])
\\renderer(?![a-z])
\\rectread(?![a-z])

View File

@@ -1,13 +0,0 @@
\\telemetry(?![a-z])
\\templates(?![a-z])
\\term(?![a-z])
\\terminal(?![a-z])
\\terminalcore(?![a-z])
\\terminalinput(?![a-z])
\\testlist(?![a-z])
\\testmd(?![a-z])
\\testpasses(?![a-z])
\\tests(?![a-z])
\\thread(?![a-z])
\\tools(?![a-z])
\\types?(?![a-z])

View File

@@ -7,10 +7,6 @@ Note: order of the contents of these files can matter.
Lines from an individual file are handled in file order. Lines from an individual file are handled in file order.
Files are selected in alphabetical order. Files are selected in alphabetical order.
* [n](0_n.txt), [r](0_r.txt), and [t](0_t.txt) are specifically to work around
a quirk in the spell checker:
it often sees C strings of the form "Hello\nwerld". And would prefer to
spot the typo of `werld`.
* [patterns](patterns.txt) is the main list -- there is nothing * [patterns](patterns.txt) is the main list -- there is nothing
particularly special about the file name (beyond the extension which is particularly special about the file name (beyond the extension which is
important). important).

View File

@@ -3,7 +3,7 @@
https?://\S+ https?://\S+
[Pp]ublicKeyToken="?[0-9a-fA-F]{16}"? [Pp]ublicKeyToken="?[0-9a-fA-F]{16}"?
(?:[{"]|UniqueIdentifier>)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}(?:[}"]|</UniqueIdentifier) (?:[{"]|UniqueIdentifier>)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}(?:[}"]|</UniqueIdentifier)
(?:0[Xx]|\\x|U\+|#)[a-f0-9A-FGgRr]{2,}[Uu]?[Ll]{0,2}\b (?:0[Xx]|\\x|U\+|#)[a-f0-9A-FGgRr]{2,}(?!\[)[Uu]?[Ll]{0,2}\b
microsoft/cascadia-code\@[0-9a-fA-F]{40} microsoft/cascadia-code\@[0-9a-fA-F]{40}
\d+x\d+Logo \d+x\d+Logo
Scro\&ll Scro\&ll
@@ -12,7 +12,6 @@ Scro\&ll
TestUtils::VerifyExpectedString\(tb, L"[^"]+" TestUtils::VerifyExpectedString\(tb, L"[^"]+"
(?:hostSm|mach)\.ProcessString\(L"[^"]+" (?:hostSm|mach)\.ProcessString\(L"[^"]+"
\b([A-Za-z])\g{-1}{3,}\b \b([A-Za-z])\g{-1}{3,}\b
0x[0-9A-Za-z]+
Base64::s_(?:En|De)code\(L"[^"]+" Base64::s_(?:En|De)code\(L"[^"]+"
VERIFY_ARE_EQUAL\(L"[^"]+" VERIFY_ARE_EQUAL\(L"[^"]+"
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\+/" "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\+/"
@@ -24,70 +23,129 @@ ROY\sG\.\sBIV
!(?:(?i)ESC)!\[ !(?:(?i)ESC)!\[
!(?:(?i)CSI)!(?:\d+(?:;\d+|)m|[ABCDF]) !(?:(?i)CSI)!(?:\d+(?:;\d+|)m|[ABCDF])
# Python stringprefix / binaryprefix
\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)'
# SSE intrinsics like "_mm_subs_epu16" # SSE intrinsics like "_mm_subs_epu16"
\b_mm(?:|256|512)_\w+\b \b_mm(?:|256|512)_\w+\b
# ARM NEON intrinsics like "vsubq_u16" # ARM NEON intrinsics like "vsubq_u16"
\bv\w+_[fsu](?:8|16|32|64)\b \bv\w+_[fsu](?:8|16|32|64)\b
# color floating numbers
0x[0-9a-f](?:\.[0-9a-f]*p)[-+]\d+f
# AppX package
_\d[0-9a-z]{12}['\.]
# string test
equals_insensitive_ascii\("\w+", "\w+"
# Automatically suggested patterns # Automatically suggested patterns
# hit-count: 3831 file-count: 582 # hit-count: 3788 file-count: 599
# IServiceProvider # IServiceProvider / isAThing
\bI(?=(?:[A-Z][a-z]{2,})+\b) \b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b)
# hit-count: 71 file-count: 35 # hit-count: 314 file-count: 21
# Compiler flags
(?:^|[\t ,"'`=(])-[D](?=[A-Z]{2,}|[A-Z][a-z])
(?:^|[\t ,"'`=(])-[X](?!aml)(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
# hit-count: 41 file-count: 28
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
# hit-count: 20 file-count: 9
# hex runs # hex runs
\b[0-9a-fA-F]{16,}\b \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])|(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*(?:<.*['"`]|"(?:[;,]|\);)$|\) \+$))
# ConsoleArgumentsTests
--headless\\.*?"
# hit-count: 109 file-count: 62
# Compiler flags (Unix, Java/Scala)
# Use if you have things like `-Pdocker` and want to treat them as `docker`
(?:^|[\t ,>"'`=(])-(?:D(?=[A-Z])|[WX]|f(?=[ms]))(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
# hit-count: 60 file-count: 35
# version suffix <word>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: # uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b \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 # hit-count: 4 file-count: 4
# mailto urls # tar arguments
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} \b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
# hit-count: 4 file-count: 1 # hit-count: 4 file-count: 1
# ANSI color codes # 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 # hit-count: 2 file-count: 1
# latex # Python string prefix / binary prefix
\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+) # 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: 1 file-count: 1 # hit-count: 1 file-count: 1
# hex digits including css/html color classes: # Punycode
(?:[\\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 \bxn--[-0-9a-z]+
# hit-count: 1 file-count: 1 # hit-count: 1 file-count: 1
# Non-English # latex (check-spelling >= 0.0.22)
[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]* \\\w{2,}\{
# hit-count: 1 file-count: 1 # hit-count: 1 file-count: 1
# French # tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
# This corpus only had capital letters, but you probably want lowercase ones as well. \btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
\b[LN]'+[a-z]{2,}\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 # acceptable duplicates
# ls directory listings # ls directory listings
[-bcdlpsw](?:[-r][-w][-sx]){3}\s+\d+\s+(\S+)\s+\g{-1}\s+\d+\s+ [-bcdlpsw](?:[-r][-w][-Ssx]){3}\s+\d+\s+\S+\s+\S+\s+\d+\s+
# C/idl types + English ... # mount
\s(Guid|long|LONG|that) \g{-1}\s \bmount\s+-t\s+(\w+)\s+\g{-1}\b
# C types and repeated CSS values
# javadoc / .net \s(auto|center|div|Guid|inherit|long|LONG|none|normal|solid|that|thin|transparent|very)(?: \g{-1})+\s
(?:[\\@](?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\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 # Commit message -- Signed-off-by and friends
^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$ ^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$

View File

@@ -1,6 +1,7 @@
^attache$ ^attache$
^attacher$ ^attacher$
^attachers$ ^attachers$
^bellow$
benefitting benefitting
occurences? occurences?
^dependan.* ^dependan.*

View File

@@ -5,19 +5,19 @@ on:
types: [opened] types: [opened]
jobs: jobs:
getsimilarissues: getSimilarIssues:
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
message: ${{ steps.getbody.outputs.message }} message: ${{ steps.getBody.outputs.message }}
steps: steps:
- id: getbody - id: getBody
uses: craigloewen-msft/GitGudSimilarIssues@main uses: craigloewen-msft/GitGudSimilarIssues@main
with: with:
issuetitle: ${{ github.event.issue.title }} issuetitle: ${{ github.event.issue.title }}
repo: ${{ github.repository }} repo: ${{ github.repository }}
similaritytolerance: "0.8" similaritytolerance: "0.8"
add-comment: add-comment:
needs: getsimilarissues needs: getSimilarIssues
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
issues: write issues: write
@@ -28,4 +28,4 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NUMBER: ${{ github.event.issue.number }} NUMBER: ${{ github.event.issue.number }}
REPO: ${{ github.repository }} REPO: ${{ github.repository }}
BODY: ${{ needs.getsimilarissues.outputs.message }} BODY: ${{ needs.getSimilarIssues.outputs.message }}

View File

@@ -5,7 +5,7 @@ name: Spell checking
# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions # 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 # `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. # 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 # `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 # 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: on:
push: push:
branches: branches:
@@ -43,8 +66,6 @@ on:
pull_request_target: pull_request_target:
branches: branches:
- "**" - "**"
tags-ignore:
- "**"
types: types:
- 'opened' - 'opened'
- 'reopened' - 'reopened'
@@ -60,10 +81,11 @@ jobs:
contents: read contents: read
pull-requests: read pull-requests: read
actions: read actions: read
security-events: write
outputs: outputs:
followup: ${{ steps.spelling.outputs.followup }} followup: ${{ steps.spelling.outputs.followup }}
runs-on: ubuntu-latest 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: concurrency:
group: spelling-${{ github.event.pull_request.number || github.ref }} group: spelling-${{ github.event.pull_request.number || github.ref }}
# note: If you use only_check_changed_files, you do not want cancel-in-progress # note: If you use only_check_changed_files, you do not want cancel-in-progress
@@ -71,35 +93,50 @@ jobs:
steps: steps:
- name: check-spelling - name: check-spelling
id: spelling id: spelling
uses: check-spelling/check-spelling@v0.0.21 uses: check-spelling/check-spelling@v0.0.22
with: with:
suppress_push_for_open_pull_request: 1 suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }}
checkout: true checkout: true
check_file_names: 1 check_file_names: 1
spell_check_this: check-spelling/spell-check-this@prerelease spell_check_this: microsoft/terminal@main
post_comment: 0 post_comment: 0
use_magic_file: 1 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: extra_dictionaries:
cspell:software-terms/src/software-terms.txt cspell:software-terms/dict/softwareTerms.txt
cspell:python/src/python/python-lib.txt
cspell:node/node.txt
cspell:cpp/src/stdlib-c.txt
cspell:cpp/src/stdlib-cpp.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:filetypes/filetypes.txt
cspell:html/html.txt cspell:java/src/java.txt
cspell:cpp/src/compiler-msvc.txt
cspell:python/src/common/extra.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:aws/aws.txt
cspell:cpp/src/lang-keywords.txt cspell:typescript/dict/typescript.txt
cspell:npm/npm.txt cspell:dotnet/dict/dotnet.txt
cspell:dotnet/dotnet.txt cspell:golang/dict/go.txt
cspell:python/src/python/python.txt cspell:fullstack/dict/fullstack.txt
cspell:css/css.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 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: comment-push:
name: Report (Push) name: Report (Push)
@@ -111,10 +148,10 @@ jobs:
if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push'
steps: steps:
- name: comment - name: comment
uses: check-spelling/check-spelling@v0.0.21 uses: check-spelling/check-spelling@v0.0.22
with: with:
checkout: true checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease spell_check_this: microsoft/terminal@main
task: ${{ needs.spelling.outputs.followup }} task: ${{ needs.spelling.outputs.followup }}
comment-pr: comment-pr:
@@ -123,12 +160,38 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: spelling needs: spelling
permissions: permissions:
contents: read
pull-requests: write pull-requests: write
if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request') if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request')
steps: steps:
- name: comment - name: comment
uses: check-spelling/check-spelling@v0.0.21 uses: check-spelling/check-spelling@v0.0.22
with: with:
checkout: true checkout: true
spell_check_this: check-spelling/spell-check-this@prerelease spell_check_this: microsoft/terminal@main
task: ${{ needs.spelling.outputs.followup }} 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 }}"

View File

@@ -102,7 +102,7 @@ stages:
- ${{ if ne(variables['Build.Reason'], 'PullRequest') }}: - ${{ if ne(variables['Build.Reason'], 'PullRequest') }}:
- stage: CodeIndexer - stage: CodeIndexer
displayName: Github CodeNav Indexer displayName: GitHub CodeNav Indexer
dependsOn: [] dependsOn: []
jobs: jobs:
- template: ./templates-v2/job-index-github-codenav.yml - template: ./templates-v2/job-index-github-codenav.yml

View File

@@ -1,6 +1,6 @@
jobs: jobs:
- job: CodeNavIndexer - job: CodeNavIndexer
displayName: Run Github CodeNav Indexer displayName: Run GitHub CodeNav Indexer
pool: { vmImage: windows-2022 } pool: { vmImage: windows-2022 }
steps: steps:

View File

@@ -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. 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.... 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....

View File

@@ -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: For reference, refer to the following from iTerm2:
![image](https://user-images.githubusercontent.com/2578976/64075757-fa971980-ccee-11e9-9e44-47aaf3bca76c.png) ![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, 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 we should also make sure to dynamically change the icon of the MenuItem to
reflect the current broadcast state. reflect the current broadcast state.

View File

@@ -373,7 +373,7 @@ changes, or the active pane in a tab changes:
`TabRowControl` to match. `TabRowControl` to match.
The `tab.cornerRadius` might be a bit trickier to implement. Currently, there's 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 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 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 we create new tabs. When we reload settings, we'll need to make sure to come

View File

@@ -217,7 +217,7 @@ void AtlasEngine::_recreateBackend()
if (hr == DXGI_ERROR_SDK_COMPONENT_MISSING) if (hr == DXGI_ERROR_SDK_COMPONENT_MISSING)
{ {
// This might happen if you don't have "Graphics debugger and GPU // 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. // you don't though - instead, disable debugging and try again.
WI_ClearFlag(deviceFlags, D3D11_CREATE_DEVICE_DEBUG); WI_ClearFlag(deviceFlags, D3D11_CREATE_DEVICE_DEBUG);

View File

@@ -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`. // This algorithm replicates what DirectWrite does internally to provide `IDWriteTextLayout::GetMetrics`.
f32r BackendD2D::_getGlyphRunDesignBounds(const DWRITE_GLYPH_RUN& glyphRun, f32 baselineX, f32 baselineY) f32r BackendD2D::_getGlyphRunDesignBounds(const DWRITE_GLYPH_RUN& glyphRun, f32 baselineX, f32 baselineY)
{ {

View File

@@ -1932,7 +1932,7 @@ void BackendD3D::_drawCursorForeground()
} }
} }
// We can also skip any instances (= any rows) at the beginning that are clearly not overlapping with // 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) for (; instancesOffset < instancesCount; ++instancesOffset)
{ {
const auto& it = _instances[instancesOffset]; const auto& it = _instances[instancesOffset];