Upgrade check-spelling to v0.0.20 (#13565)

Upgrade check-spelling to [v0.0.20](https://github.com/check-spelling/check-spelling/releases/tag/v0.0.20)

This upgrade includes a refresh of the workflow

key new features:
* the previous comment is collapsed
* duplicate words are flagged (see `alone` and `the`)
* forbidding patterns (see `nonexistent`, `preexisting`, and `greater than`)

Each of these features can be tuned
- comment collapsing is controlled by the `followup` bits in the workflow--  but I can't imagine why one would want to turn it off
- duplicate words can be masked in `patterns.txt` (see `Guid` and `that`)
- forbidding patterns (especially duplicates) is in `.github/actions/spelling/line_forbidden.patterns`

Fwiw, I'm slowly moving towards not using `.txt` in filenames, but it's a long term project and I have a bunch of other goals for the near term.

The refresh of advice is of course flexible -- I'm still evolving my default text. Note that the default now includes some `curl` and I'm still working on how I want to consume the output. I'm getting close to the point where I might be able to provide a tool that could reliably consume the output (including on Windows).

This code has been used internally for a while, but I tested it for this repository here:
https://github.com/check-spelling/terminal/pull/2
This commit is contained in:
Josh Soref 2022-07-22 14:01:32 -04:00 коммит произвёл GitHub
Родитель d3ae00e2f3
Коммит 9fbdf37647
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
28 изменённых файлов: 181 добавлений и 228 удалений

14
.github/actions/spelling/README.md поставляемый Normal file
Просмотреть файл

@ -0,0 +1,14 @@
# check-spelling/check-spelling configuration
File | Purpose | Format | Info
-|-|-|-
[allow/*.txt](allow/) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
[patterns/*.txt](patterns/) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[expect/*.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)
Note: you can replace any of these files with a directory by the same name (minus the suffix)
and then include multiple files inside that directory (with that suffix) to merge multiple files together.

38
.github/actions/spelling/advice.md поставляемый
Просмотреть файл

@ -1,4 +1,4 @@
<!-- markdownlint-disable MD033 MD041 -->
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details>
<summary>
:pencil2: Contributor please read this
@ -6,7 +6,7 @@
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. You can copy the contents of each `perl` command excluding the outer `'` marks and dropping any `'"`/`"'` quotation mark pairs into a file and then run `perl file.pl` from the root of the repository to run the code. Alternatively, you can manually insert the items...
: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:
@ -20,31 +20,29 @@ See the `README.md` in each directory for more information.
:microscope: You can test your commits **without** *appending* to a PR by creating a new branch with that extra change and pushing it to your fork. The [check-spelling](https://github.com/marketplace/actions/check-spelling) action will run in response to your **push** -- it doesn't require an open pull request. By using such a branch, you can limit the number of typos your peers see you make. :wink:
<details><summary>:clamp: If you see a bunch of garbage</summary>
If it relates to a ...
<details><summary>well-formed pattern</summary>
<details><summary>:clamp: If the flagged items are false positives</summary>
See if there's a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it.
If items relate to a ...
* binary file (or some other file you wouldn't want to check at all).
If not, try writing one and adding it to a `patterns/{file}.txt`.
Please add a file path to the `excludes.txt` file matching the containing file.
Patterns are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
Note that patterns can't match multiline strings.
</details>
<details><summary>binary-ish string</summary>
Please add a file path to the `excludes.txt` file instead of just accepting the garbage.
File paths are Perl 5 Regular Expressions - you can [test](
File paths are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
../tree/HEAD/README.md) (on whichever branch you're using).
</details>
* well-formed pattern.
If you can write a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it,
try adding it to the `patterns.txt` file.
Patterns are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
Note that patterns can't match multiline strings.
</details>
</details>

19
.github/actions/spelling/excludes.txt поставляемый
Просмотреть файл

@ -1,12 +1,19 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:(?i)\.png$)
(?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E
(?:^|/)dirs$
(?:^|/)go\.mod$
(?:^|/)go\.sum$
(?:^|/)package-lock\.json$
(?:^|/)package(?:-lock|)\.json$
(?:^|/)sources(?:|\.dep)$
(?:^|/)vendor/
ignore$
SUMS$
\.ai$
\.avi$
\.bmp$
\.bz2$
\.cer$
\.class$
\.crl$
@ -18,6 +25,7 @@ SUMS$
\.eps$
\.exe$
\.gif$
\.gitattributes$
\.graffle$
\.gz$
\.icns$
@ -30,12 +38,15 @@ SUMS$
\.lock$
\.map$
\.min\..
\.mod$
\.mp3$
\.mp4$
\.ocf$
\.otf$
\.pbxproj$
\.pdf$
\.pem$
\.png$
\.psd$
\.runsettings$
\.sig$
@ -46,6 +57,7 @@ SUMS$
\.tgz$
\.ttf$
\.vsdx$
\.wav$
\.woff
\.xcf$
\.xls
@ -81,4 +93,9 @@ SUMS$
^\.github/actions/spelling/
^\.github/fabricbot.json$
^\.gitignore$
^\Q.github/workflows/spelling.yml\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/tools/closetest/CloseTest.vcxproj.filters\E$
^\XamlStyler.json$

Просмотреть файл

@ -33,7 +33,6 @@ QQQQQQQQQQABCDEFGHIJKLMNOPQRSTQQQQQQQQQQ
QQQQQQQQQQABCDEFGHIJPQRSTQQQQQQQQQQ
qrstuvwxyz
qwerty
QWERTYUIOP
qwertyuiopasdfg
YYYYYYYDDDDDDDDDDD
ZAAZZ

168
.github/actions/spelling/expect/expect.txt поставляемый
Просмотреть файл

@ -34,7 +34,6 @@ ALTF
ALTNUMPAD
ALWAYSTIP
amd
ansicode
ansicpg
ANSISYS
ANSISYSRC
@ -48,10 +47,8 @@ APARTMENTTHREADED
APCs
api
APIENTRY
apimswincoresynchl
apiset
APPBARDATA
appconsult
appcontainer
APPICON
appium
@ -83,8 +80,6 @@ ASingle
asm
asmv
asmx
aspx
astextplain
AStomps
ASYNCWINDOWPOS
atch
@ -107,7 +102,6 @@ AVerify
AVI
AVX
awch
azuredevopspodcast
azzle
backend
backgrounded
@ -134,7 +128,6 @@ Bgk
BGR
BGRA
BHID
biblioscape
bigobj
binplace
binplaced
@ -143,7 +136,6 @@ bitcrazed
bitflag
bitmask
BITOPERATION
bitsavers
bitset
BKCOLOR
BKGND
@ -234,13 +226,11 @@ cgscrn
chafa
changelist
charinfo
charlespetzold
charset
CHARSETINFO
chcp
checkbox
checkboxes
Checkin
chh
Childitem
chk
@ -248,8 +238,7 @@ chrono
CHT
Cic
cjk
ckuehl
cla
CLA
Clcompile
CLE
cleartype
@ -259,7 +248,6 @@ climits
clipbrd
CLIPCHILDREN
CLIPSIBLINGS
cliutils
clocale
closetest
cloudconsole
@ -288,12 +276,10 @@ Codeflow
codepage
codepath
codepoint
codeproject
coinit
COLLECTIONURI
colorizing
COLORMATRIX
colororacle
colorref
colorscheme
colorspaces
@ -321,7 +307,6 @@ concat
concfg
conclnt
conddkrefs
condev
condrv
conechokey
conemu
@ -357,7 +342,6 @@ consolehost
CONSOLEIME
consoleinternal
Consoleroot
Consolescreen
CONSOLESETFOREGROUND
consoletaeftemplates
CONSOLEV
@ -387,21 +371,17 @@ CPINFOEX
CPLINFO
cplusplus
cpp
CPPARM
CPPCORECHECK
cppcorecheckrules
cppm
cpprest
cpprestsdk
cppwinrt
CPPx
CProc
cpx
crbegin
CREATESCREENBUFFER
CREATESTRUCT
CREATESTRUCTW
creativecommons
cred
cref
crend
@ -421,7 +401,6 @@ Csr
csrmsg
CSRSS
csrutil
css
cstdarg
cstddef
cstdio
@ -460,7 +439,6 @@ cwch
cwchar
cwctype
cwd
cxcy
CXFRAME
CXFULLSCREEN
CXHSCROLL
@ -499,12 +477,11 @@ DBGOUTPUT
dbh
dblclk
DBlob
dbproj
DBUILD
DColor
DCOLORVALUE
dcommon
DCompile
dcompile
dcompiler
DComposition
dde
@ -513,7 +490,6 @@ DDevice
DEADCHAR
dealloc
Debian
debolden
debugtype
DECAC
DECALN
@ -526,7 +502,6 @@ DECCRA
DECCTR
DECDHL
decdld
DECDLD
DECDWL
DECEKBD
DECID
@ -541,7 +516,6 @@ declval
DECNKM
DECNRCM
DECOM
deconstructed
DECPCTERM
DECPS
DECRC
@ -550,8 +524,7 @@ DECRLM
DECRQM
DECRQSS
DECRQTSR
DECRST
DECRSTS
decrst
DECSASD
DECSC
DECSCA
@ -565,7 +538,6 @@ DECSLPP
DECSLRM
DECSMKR
DECSR
decstandar
DECSTBM
DECSTR
DECSWL
@ -607,17 +579,14 @@ deserializing
desktopwindowxamlsource
dest
DESTINATIONNAME
devblogs
devicecode
devicefamily
devops
Devops
Dext
DFactory
DFF
DFMT
dhandler
dialogbox
diffing
DINLINE
directio
DIRECTX
@ -639,10 +608,8 @@ dllmain
DLLVERSIONINFO
DLOAD
DLOOK
Dls
dmp
DOCTYPE
docx
DONTCARE
doskey
dotnet
@ -686,15 +653,12 @@ dwl
DWLP
dwm
dwmapi
DWMWA
dword
dwrite
dwriteglyphrundescriptionclustermap
dxgi
dxgidwm
dxguid
dxinterop
dxp
dxsm
dxttbmp
Dyreen
@ -709,7 +673,6 @@ EDITKEYS
EDITTEXT
EDITUPDATE
edputil
edu
Efast
EHsc
EINS
@ -741,7 +704,6 @@ eol
EPres
EQU
ERASEBKGND
errno
errorlevel
ETB
etcoreapp
@ -769,22 +731,18 @@ EXSTYLE
EXTENDEDEDITKEY
EXTKEY
EXTTEXTOUT
fabricbot
facename
FACENODE
FACESIZE
failfast
FAILIFTHERE
fallthrough
FARPROC
fastlink
fcb
fcharset
fclose
fcntl
fdc
FDD
fdopen
fdw
fesb
FFDE
@ -859,7 +817,6 @@ fsanitize
Fscreen
FSCTL
FSINFOCLASS
fsproj
fstream
fte
Ftm
@ -912,7 +869,6 @@ GETHUNGAPPTIMEOUT
GETICON
GETITEMDATA
GETKEYBOARDLAYOUTNAME
GETKEYSTATE
GETLARGESTWINDOWSIZE
GETLBTEXT
getline
@ -968,7 +924,6 @@ gset
gsl
GTP
GTR
guardxfg
guc
gui
guidatom
@ -978,7 +933,6 @@ GWLP
gwsz
HABCDEF
Hackathon
halfwidth
HALTCOND
HANGEUL
hardcoded
@ -1024,7 +978,6 @@ hlocal
HLS
hlsl
HMENU
HMIDIOUT
hmod
hmodule
hmon
@ -1035,12 +988,10 @@ hostable
hostlib
HOTFIX
HPA
HPAINTBUFFER
HPCON
hpj
hpp
HPR
HPROPSHEETPAGE
HProvider
HREDRAW
hresult
@ -1055,7 +1006,6 @@ HTBOTTOMRIGHT
HTCAPTION
HTCLIENT
HTLEFT
htm
HTMAXBUTTON
HTMINBUTTON
html
@ -1078,14 +1028,11 @@ IBase
ICache
icacls
iccex
icch
IChar
ico
IComponent
ICONERROR
Iconified
iconify
Iconify
ICONINFORMATION
IConsole
ICONSTOP
@ -1113,8 +1060,6 @@ IDynamic
IEnd
IEnum
IEnumerable
ies
ietf
IFACEMETHODIMP
ifdef
ification
@ -1172,18 +1117,14 @@ INTERNALNAME
interop
interoperability
inthread
intptr
intrin
intsafe
INVALIDARG
INVALIDATERECT
inwap
IObservable
ioctl
iomanip
iostream
iot
ipa
ipch
ipconfig
IPersist
@ -1198,7 +1139,6 @@ IRender
IScheme
ISelection
IShell
issuecomment
IState
IStoryboard
isupper
@ -1220,14 +1160,12 @@ ivalid
IValue
IVector
IWait
iwch
IWeb
IWin
IWindow
IXaml
IXMP
IXP
ixx
jconcpp
JOBOBJECT
JOBOBJECTINFOCLASS
@ -1242,7 +1180,6 @@ jsprovider
jumplist
KAttrs
kawa
kayla
Kazu
kazum
kbd
@ -1304,7 +1241,6 @@ LINESELECTION
LINEWRAP
LINKERRCAP
LINKERROR
linkid
linkpath
linputfile
Linq
@ -1314,7 +1250,6 @@ listproperties
listptr
listptrsize
lld
LLVM
llx
LMENU
LMNOP
@ -1328,7 +1263,6 @@ LOBYTE
localappdata
localhost
locsrc
locstudio
Loewen
LOGFONT
LOGFONTA
@ -1337,11 +1271,9 @@ logissue
lowercased
loword
lparam
lparen
LPBYTE
LPCCH
lpch
LPCHARSETINFO
LPCOLORREF
LPCPLINFO
LPCREATESTRUCT
@ -1390,7 +1322,6 @@ LRESULT
lru
lsb
lsconfig
lsproj
lss
lstatus
lstrcmp
@ -1415,11 +1346,8 @@ MAKELANGID
MAKELONG
MAKELPARAM
MAKELRESULT
MAKEWORD
malloc
manpage
MAPBITMAP
MAPVIRTUALKEY
MAPVK
MAXDIMENSTRING
maxing
@ -1476,7 +1404,6 @@ MNC
MNOPQ
MNOPQR
MODALFRAME
modelproj
MODERNCORE
MONITORINFO
MONITORINFOEXW
@ -1492,11 +1419,9 @@ movemask
MOVESTART
msb
msbuild
mscorlib
msctf
msctls
msdata
MSDL
msdn
msft
MSGCMDLINEF
@ -1510,12 +1435,10 @@ MSGSELECTMODE
msiexec
MSIL
msix
mspartners
msrc
msvcrt
MSVCRTD
msys
msysgit
MTSM
mui
Mul
@ -1528,7 +1451,6 @@ mutexes
muxes
myapplet
mydir
myignite
MYMAX
Mypair
Myval
@ -1552,7 +1474,6 @@ NCRBUTTONUP
NCXBUTTONDOWN
NCXBUTTONUP
NDEBUG
ned
NEL
NEQ
netcoreapp
@ -1560,7 +1481,6 @@ netstandard
NEWCPLINFO
NEWCPLINFOA
NEWCPLINFOW
newcursor
Newdelete
NEWINQUIRE
NEWINQURE
@ -1570,7 +1490,6 @@ NEWTEXTMETRICEX
Newtonsoft
NEXTLINE
nfe
nlength
Nls
NLSMODE
nnn
@ -1620,7 +1539,6 @@ nothrow
NOTICKS
NOTIMPL
notin
notmatch
NOTNULL
NOTOPMOST
NOTRACK
@ -1629,7 +1547,7 @@ nouicompat
nounihan
NOUPDATE
novtable
NOWAIT
nowait
NOYIELD
NOZORDER
NPM
@ -1673,7 +1591,6 @@ NVR
OACR
oauth
objbase
ocf
ocolor
odl
oem
@ -1702,9 +1619,7 @@ openconsoleproxy
OPENIF
OPENLINK
openps
opensource
openvt
openxmlformats
ORIGINALFILENAME
osc
OSCBG
@ -1715,7 +1630,6 @@ OSCSCB
OSCSCC
OSCWT
OSDEPENDSROOT
osfhandle
OSG
OSGENG
osign
@ -1786,15 +1700,12 @@ pda
pdb
pdbonly
pdbstr
pdf
pdp
pdtobj
pdw
PDWORD
pdx
peb
PEMAGIC
PENDTASKMSG
pfa
PFACENODE
pfed
@ -1808,9 +1719,6 @@ PFS
pgd
pgdn
PGONu
pgorepro
pgort
PGU
pguid
pgup
PHANDLE
@ -1845,7 +1753,6 @@ PNTSTATUS
POBJECT
Podcast
POINTSLIST
Poli
POLYTEXTW
popd
POPF
@ -1859,13 +1766,11 @@ POSTCHARBREAKS
POSX
POSXSCROLL
POSYSCROLL
ppci
PPEB
ppf
ppguid
ppidl
pplx
PPORT
PPROC
PPROCESS
ppropvar
@ -1931,7 +1836,6 @@ PSINGLE
psl
psldl
psm
PSMALL
PSNRET
PSobject
psp
@ -1997,8 +1901,6 @@ RCONTROL
RCOW
rcv
rdbuf
RDONLY
rdpartysource
readback
READCONSOLE
READCONSOLEOUTPUT
@ -2016,13 +1918,11 @@ redefinable
Redir
redirector
redist
redistributable
REDSCROLL
refactor
refactoring
REFCLSID
refcount
referencesource
REFGUID
REFIID
REFPROPERTYKEY
@ -2049,12 +1949,10 @@ RESETCONTENT
resheader
resizable
resmimetype
restrictedcapabilities
resw
resx
retval
rfa
rfc
rfid
rftp
rgb
@ -2085,7 +1983,6 @@ rng
roadmap
robomac
roundtrip
rparen
RRF
RRRGGGBB
rsas
@ -2100,7 +1997,6 @@ rtrim
RTTI
ruleset
runas
runasradio
RUNDLL
runformat
runft
@ -2130,7 +2026,6 @@ scancode
scanline
schemename
SCL
scm
SCRBUF
SCRBUFSIZE
screenbuffer
@ -2260,11 +2155,9 @@ Solutiondir
somefile
SOURCEBRANCH
sourced
SOURCESDIRECTORY
spammy
spand
sprintf
sqlproj
srand
src
SRCCODEPAGE
@ -2281,7 +2174,6 @@ srvpipe
ssa
ssh
sstream
stackoverflow
standalone
STARTF
STARTUPINFO
@ -2300,11 +2192,11 @@ stdcpp
stderr
stdexcept
stdin
stdio
STDIO
STDMETHODCALLTYPE
STDMETHODIMP
stdout
stgm
STGM
stl
stoi
stol
@ -2328,7 +2220,6 @@ subcompartment
subfolder
subkey
SUBLANG
sublicensable
submenu
subresource
subspan
@ -2387,8 +2278,6 @@ TDP
TEAMPROJECT
tearoff
Teb
techcommunity
technet
tellp
telnet
telnetd
@ -2407,7 +2296,6 @@ testenv
testlab
testlist
testmd
testmddefinition
testmode
testname
testnameprefix
@ -2440,12 +2328,11 @@ THUMBTRACK
TIcon
tif
tilunittests
Timeline
timelines
titlebar
TITLEISLINKNAME
TJson
TLambda
TLDP
TLEN
Tlgdata
TMAE
@ -2459,9 +2346,7 @@ tokenhelpers
tokenized
tokenizing
toolbar
toolbars
TOOLINFO
Toolset
tooltip
TOOLWINDOW
TOPDOWNDIB
@ -2524,7 +2409,6 @@ uapadmin
UAX
ubuntu
ucd
ucdxml
uch
UCHAR
ucs
@ -2543,7 +2427,6 @@ uint
uintptr
ulcch
ulong
umd
Unadvise
unattend
uncomment
@ -2561,11 +2444,10 @@ UNICRT
uninit
uninitialize
uninstall
unintense
Unintense
Uniscribe
unittest
unittesting
universaltest
unk
unknwn
unmark
@ -2617,19 +2499,16 @@ uuidof
uuidv
UVWX
UVWXY
UWA
UWAs
uwa
uwp
uxtheme
vals
Vanara
vararg
vbproj
vclib
Vcount
vcpkg
vcprintf
vcproj
vcxitems
vcxproj
vec
@ -2646,7 +2525,6 @@ Virt
VIRTTERM
Virtualizing
vkey
VKKEYSCAN
VMs
VPA
VPATH
@ -2667,7 +2545,6 @@ VSTAMP
vstest
VSTS
VSTT
vstudio
vswhere
vtapi
vtapp
@ -2686,7 +2563,6 @@ vttest
VWX
waaay
waitable
waivable
WANSUNG
WANTARROWS
WANTTAB
@ -2713,11 +2589,8 @@ wcstod
wcstoul
wddm
wddmcon
wddmconrenderer
WDDMCONSOLECONTEXT
wdm
wdx
webclient
webpage
website
websocket
@ -2726,17 +2599,14 @@ WEOF
wex
wextest
wextestclass
wfdopen
WFill
wfopen
wfstream
WHelper
whitelisting
WIDTHSCROLL
Widthx
wiki
wikia
wikipedia
Wiki
Wikipedia
wil
WImpl
WINAPI
@ -2751,7 +2621,6 @@ wincontypes
WINCORE
windbg
WINDEF
windev
WINDIR
windll
WINDOWALPHA
@ -2771,7 +2640,6 @@ WINDOWPOSCHANGING
windowproc
windowrect
windowsapp
windowsdeveloper
windowsinternalstring
WINDOWSIZE
windowsterminal
@ -2780,7 +2648,6 @@ WINDOWTEXT
windowtheme
WINDOWTITLE
winevent
winfx
wingdi
winget
WINIDE
@ -2794,16 +2661,12 @@ Winperf
WInplace
winres
winrt
winsdk
wintelnet
winternl
winuser
winuserp
WINVER
wistd
wixproj
wline
wlinestream
wmain
wmemory
WMSZ
@ -2819,7 +2682,7 @@ wnwb
workarea
workaround
workflow
workitem
WORKITEM
wostream
WOutside
WOWARM
@ -2834,7 +2697,6 @@ wprintf
wprp
wprpi
wregex
WResult
writeback
writechar
WRITECONSOLE
@ -2849,7 +2711,6 @@ WScript
wsl
WSLENV
wsmatch
WSpace
wss
wstr
wstring
@ -2868,7 +2729,6 @@ wtypes
Wubi
WUX
WVerify
wwaproj
WWith
wxh
xact
@ -2890,7 +2750,6 @@ xdy
XEncoding
xes
xff
xfg
XFile
XFORM
XManifest
@ -2919,7 +2778,6 @@ xutr
xvalue
XVIRTUALSCREEN
XWalk
Xzn
yact
YAML
YCast

21
.github/actions/spelling/expect/web.txt поставляемый
Просмотреть файл

@ -1,29 +1,8 @@
http
www
easyrgb
php
ecma
rapidtables
WCAG
freedesktop
ycombinator
robertelder
kovidgoyal
leonerd
fixterms
winui
appshellintegration
mdtauk
cppreference
gfycat
Guake
azurewebsites
askubuntu
dostips
viewtopic
rosettacode
Rexx
tldp
HOWTO
uwspace
uwaterloo

36
.github/actions/spelling/line_forbidden.patterns поставляемый Normal file
Просмотреть файл

@ -0,0 +1,36 @@
# s.b. GitHub
\bGithub\b
# s.b. GitLab
\bGitlab\b
# s.b. JavaScript
\bJavascript\b
# s.b. Microsoft
\bMicroSoft\b
# s.b. another
\ban[- ]other\b
# s.b. greater than
\bgreater then\b
# s.b. less than
\bless then\b
# s.b. otherwise
\bother[- ]wise\b
# s.b. nonexistent
\bnon existing\b
\b[Nn]o[nt][- ]existent\b
# s.b. preexisting
[Pp]re-existing
# s.b. preemptively
[Pp]re-emptively
# Reject duplicate words
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s

Просмотреть файл

@ -1,3 +1,5 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
https?://\S+
[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)
@ -21,3 +23,19 @@ vcvars\w*
ROY\sG\.\sBIV
!(?:(?i)ESC)!\[
!(?:(?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)'
# 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
# vtmode
--vtmode\s+(\w+)\s+\g{-1}\s
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b

11
.github/actions/spelling/reject.txt поставляемый
Просмотреть файл

@ -1,14 +1,19 @@
benefitting
occurences?
Sorce
^attache$
^attacher$
^attachers$
^dependan.*
^oer$
^spae$
^spae-man$
^spaebook$
^spaecraft$
^spaed$
^spaedom$
^spaeing$
^spaeings$
^spae-man$
^spaeman$
^spaer$
^Spaerobee$
@ -17,6 +22,10 @@
^spaewoman$
^spaework$
^spaewright$
^untill$
^untilling$
^wether$
^wether.*
^wethers$
^wetherteg$
^[Ss]pae.*

42
.github/workflows/spelling2.yml поставляемый
Просмотреть файл

@ -3,18 +3,44 @@ name: Spell checking
on:
pull_request_target:
push:
branches: ["**"]
tags-ignore: ["**"]
jobs:
spelling:
name: Spell checking
permissions:
contents: read
pull-requests: read
actions: read
outputs:
followup: ${{ steps.spelling.outputs.followup }}
runs-on: ubuntu-latest
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
cancel-in-progress: true
steps:
- name: checkout-merge
if: "contains(github.event_name, 'pull_request')"
uses: actions/checkout@v2
- name: check-spelling
id: spelling
uses: check-spelling/check-spelling@v0.0.20
with:
ref: refs/pull/${{github.event.pull_request.number}}/merge
- name: checkout
if: "!contains(github.event_name, 'pull_request')"
uses: actions/checkout@v2
- uses: check-spelling/check-spelling@v0.0.19
suppress_push_for_open_pull_request: 1
checkout: true
post_comment: 0
comment:
name: Report
runs-on: ubuntu-latest
needs: spelling
permissions:
contents: write
pull-requests: write
if: (success() || failure()) && needs.spelling.outputs.followup
steps:
- name: comment
uses: check-spelling/check-spelling@v0.0.20
with:
checkout: true
task: ${{ needs.spelling.outputs.followup }}

Просмотреть файл

@ -264,7 +264,7 @@ help avoid any wasted or duplicate effort.
The easiest way to communicate with the team is via GitHub issues.
Please file new issues, feature requests and suggestions, but **DO search for
similar open/closed pre-existing issues before creating a new issue.**
similar open/closed preexisting issues before creating a new issue.**
If you would like to ask a question that you feel doesn't warrant an issue
(yet), please reach out to us via Twitter:

Просмотреть файл

@ -74,7 +74,7 @@ Should not affect security.
### Reliability
Aside from additional parsing required for the settings file (which inherently offers more locations for parsing to fail), we need to be careful about badly formed/non-existent feature tags or axes specified in the user-defined dictionaries. We must make sure to ignore such declarations (perhaps alongside emitting a warning to the user) and only apply those that are correctly formed and exist.
Aside from additional parsing required for the settings file (which inherently offers more locations for parsing to fail), we need to be careful about badly formed/nonexistent feature tags or axes specified in the user-defined dictionaries. We must make sure to ignore such declarations (perhaps alongside emitting a warning to the user) and only apply those that are correctly formed and exist.
### Compatibility

Просмотреть файл

@ -138,7 +138,7 @@ The delegation repeats the same dance as above as well:
The terminal will be its own complete presentation and input solution on top of a ConPTY connection, separating the concerns between API servicing and the user experience.
Today the Terminal knows how to start and then launches a ConPTY under it. The Terminal will need to be updated to accept a pre-existing ConPTY connection on launch (or when the multi-process model arrives, as an inbound connection), and connect that to a new tab/pane instead of using the `winconpty.lib` libraries to make its own.
Today the Terminal knows how to start and then launches a ConPTY under it. The Terminal will need to be updated to accept a preexisting ConPTY connection on launch (or when the multi-process model arrives, as an inbound connection), and connect that to a new tab/pane instead of using the `winconpty.lib` libraries to make its own.
For now, I'm considering only the fresh-start scenario.
- The Terminal will have to detect the inbound connection through ~~its argument parsing (or through~~ a new entrypoint in the COM alternative ~~)~~ and store the PTY in/out/signal handles for that connection in the startup arguments information

Просмотреть файл

@ -659,7 +659,7 @@ loading until that generator is complete.
However, if the user disables that generator entirely, we'll never display that
profile to the user, even if they've done that setup before.
So the trade-off with this design is that non-existent dynamic profiles will
So the trade-off with this design is that nonexistent dynamic profiles will
never roam to machines where they don't exist and aren't valid, but the
generators _must_ be enabled to use the dynamic profiles.

Просмотреть файл

@ -204,7 +204,7 @@ We need a way to determine where an action came from to minimize how many action
- Construct the `Command` (basically the `Command::LayerJson` we have today)
- Add it to the `ActionMap`
- this should update the internal state of `ActionMap` appropriately
- if the newly added key chord conflicts with a pre-existing one,
- if the newly added key chord conflicts with a preexisting one,
redirect `_KeyMap` to the newly added `Command` instead,
and update the conflicting one.
2. Load settings.json

Просмотреть файл

@ -17,7 +17,7 @@ This spec will outline how various terminal frontends will be able to interact w
Terminal component.
* **Terminal Layer**: This is the shared core implementation of the terminal.
This is the Terminal Connection, Parser/Adapter, Buffer, and Renderer (but not
the UX-dependant RenderEngine).
the UX-dependent RenderEngine).
## User Stories
1. "Project Cascadia" should be able to have both global settings (such as

Просмотреть файл

@ -153,7 +153,7 @@ layer, instead of transparent through the whole window.
**However**, that does leave us in the world where we're rolling our own
custom Mica brush, and would need to keep it up to date with the OS
implementation. We'd be firmly off the rails of the recommended Mica usage,
and our support would be likely very minimal. This is reason alone alone to
and our support would be likely very minimal. This is reason alone to
avoid this path, and instead push for a platform-supported solution.
**TODO!**: We should make sure to have a Future Considerations section on how

Просмотреть файл

@ -285,8 +285,7 @@ be one of:
* `accent` for the _titlebar_ version of the accent color. Notably, this is
**not** just some `SystemAccentColor` value, it's apparently some other value.
This has a different value depending on if the window is focused or not. Refer
to Edge the the "use accent color on titlebars" setting enabled as a
reference.
to Edge the "use accent color on titlebars" setting enabled as a reference.
* `terminalBackground` to use the default background color of the active
terminal instance.
* `terminalForeground` to use the default foreground color of the active

Просмотреть файл

@ -114,7 +114,7 @@ The jumplist will have to be saved each time a profile change occurs but the fre
#### Should it open a new instance of the terminal or open in a new tab?
#### What should happen if a non existent profile is launched
#### What should happen if a nonexistent profile is launched
The jumplist is only updated when the application is running so the profiles could be modified or deleted outside and the jumplist will not be updated. Handling will be done by whatever handles the command line parsing.
## Future considerations

Просмотреть файл

@ -88,7 +88,7 @@ try
// has to be played to achieve the equivalent note frequency.
const auto frequency = std::pow(2.0, (noteNumber - 69.0) / 12.0) * 440.0 * WAVE_SIZE;
buffer->SetFrequency(gsl::narrow_cast<DWORD>(frequency));
// For the volume, we're using the formula defined in the the General
// For the volume, we're using the formula defined in the General
// MIDI Level 2 specification: Gain in dB = 40 * log10(v/127). We need
// to multiply by 4000, though, because the SetVolume method expects
// the volume to be in hundredths of a decibel.

Просмотреть файл

@ -717,7 +717,7 @@ namespace SettingsModelLocalTests
void DeserializationTests::TestInvalidColorSchemeName()
{
Log::Comment(NoThrowString().Format(
L"Ensure that setting a profile's scheme to a non-existent scheme causes a warning."));
L"Ensure that setting a profile's scheme to a nonexistent scheme causes a warning."));
static constexpr std::string_view settings0String{ R"({
"profiles": [
@ -751,7 +751,7 @@ namespace SettingsModelLocalTests
void DeserializationTests::ValidateColorSchemeInCommands()
{
Log::Comment(NoThrowString().Format(
L"Ensure that setting a command's color scheme to a non-existent scheme causes a warning."));
L"Ensure that setting a command's color scheme to a nonexistent scheme causes a warning."));
static constexpr std::string_view settings0String{ R"(
{

Просмотреть файл

@ -2785,7 +2785,7 @@ float Pane::CalcSnappedDimension(const bool widthOrHeight, const float dimension
// - widthOrHeight: if true operates on width, otherwise on height
// - dimension: a dimension (width or height) to be snapped
// Return Value:
// - pair of floats, where first value is the size snapped downward (not greater then
// - pair of floats, where first value is the size snapped downward (not greater than
// requested size) and second is the size snapped upward (not lower than requested size).
// If requested size is already snapped, then both returned values equal this value.
Pane::SnapSizeResult Pane::_CalcSnappedDimension(const bool widthOrHeight, const float dimension) const

Просмотреть файл

@ -1010,7 +1010,7 @@ WORD Terminal::_TakeVirtualKeyFromLastKeyEvent(const WORD scanCode) noexcept
}
// Method Description:
// - Get a reference to the the terminal's read/write lock.
// - Get a reference to the terminal's read/write lock.
// Return Value:
// - a ticket_lock which can be used to manually lock or unlock the terminal.
til::ticket_lock& Terminal::GetReadWriteLock() noexcept

Просмотреть файл

@ -372,7 +372,7 @@
<value>Scroll to the bottom of history</value>
</data>
<data name="ScrollToPreviousMarkCommandKey" xml:space="preserve">
<value>Scroll to the the previous mark</value>
<value>Scroll to the previous mark</value>
</data>
<data name="ScrollToNextMarkCommandKey" xml:space="preserve">
<value>Scroll to the next mark</value>

Просмотреть файл

@ -118,7 +118,7 @@ public:
// If we have a renderer, we need to call EnablePainting to initialize
// the viewport. If not, we mark the text buffer as inactive so that it
// doesn't try to trigger a redraw on a non-existent renderer.
// doesn't try to trigger a redraw on a nonexistent renderer.
if (g.pRender)
{
g.pRender->EnablePainting();
@ -204,7 +204,7 @@ public:
// If we have a renderer, we need to call EnablePainting to initialize
// the viewport. If not, we mark the text buffer as inactive so that it
// doesn't try to trigger a redraw on a non-existent renderer.
// doesn't try to trigger a redraw on a nonexistent renderer.
if (g.pRender)
{
g.pRender->EnablePainting();

Просмотреть файл

@ -1511,7 +1511,7 @@ class UiaTextRangeTests
{ L"ViewportHeight From Bottom", bufferSize.bottom - viewportSize.Height() - 1 },
{ L"ViewportHeight From Bottom + 1", bufferSize.bottom - viewportSize.Height() + 1 },
// GH#7839: ExclusiveEnd is a non-existent space,
// GH#7839: ExclusiveEnd is a nonexistent space,
// so scrolling to it when !alignToTop used to crash
{ L"Exclusive End", bufferSize.bottom }
};

Просмотреть файл

@ -163,7 +163,7 @@ HRESULT DxSoftFont::Draw(const DrawingContext& drawingContext,
// so we need make sure they're generated now.
RETURN_IF_FAILED(_createResources(d2dContext.Get()));
// We use the the CustomTextRenderer to draw the first pass of the cursor.
// We use the CustomTextRenderer to draw the first pass of the cursor.
RETURN_IF_FAILED(CustomTextRenderer::DrawCursor(d2dContext.Get(), rect, drawingContext, true));
// Then we draw the associated glyph for each entry in the cluster list.

Просмотреть файл

@ -1927,7 +1927,7 @@ public:
Log::Comment(L"Test 5: Change Foreground to Legacy Attr while BG is RGB color");
// Unfortunately this test isn't all that good, because the adapterTest adapter isn't smart enough
// to have its own color table and translate the pre-existing RGB BG into a legacy BG.
// to have its own color table and translate the preexisting RGB BG into a legacy BG.
// Fortunately, the ft_api:RgbColorTests IS smart enough to test that.
rgOptions[0] = DispatchTypes::GraphicsOptions::ForegroundExtended;
rgOptions[1] = DispatchTypes::GraphicsOptions::BlinkOrXterm256Index;