diff --git a/.github/actions/spell-check/advice.md b/.github/actions/spell-check/advice.md index 1004eeaa604..84eb9218e2f 100644 --- a/.github/actions/spell-check/advice.md +++ b/.github/actions/spell-check/advice.md @@ -14,7 +14,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/spell-check/allow/allow.txt b/.github/actions/spell-check/allow/allow.txt index 2774060a60d..20a05a495d6 100644 --- a/.github/actions/spell-check/allow/allow.txt +++ b/.github/actions/spell-check/allow/allow.txt @@ -9,4 +9,5 @@ sdl ssh ubuntu unuing +workarounds wil diff --git a/.github/actions/spell-check/allow/temporary.txt b/.github/actions/spell-check/allow/temporary.txt new file mode 100644 index 00000000000..05cd229158e --- /dev/null +++ b/.github/actions/spell-check/allow/temporary.txt @@ -0,0 +1,11 @@ +etw +filetime +flyouts +lnks +reparented +screenshots +SIDs +subkeys +TApp +websites +wmi diff --git a/.github/actions/spell-check/candidate.patterns b/.github/actions/spell-check/candidate.patterns index 4b40e728ee3..4760fcdd18c 100644 --- a/.github/actions/spell-check/candidate.patterns +++ b/.github/actions/spell-check/candidate.patterns @@ -1,23 +1,36 @@ # 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 +48,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 +105,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 +133,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 +146,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 +161,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 +298,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,14 +377,22 @@ 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] +# 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 # c99 hex digits (not the full format, just one I've seen) @@ -376,7 +402,7 @@ ipfs://[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 @@ -391,18 +417,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?=.*$ @@ -411,21 +440,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+ +# go.sum +\bh1:\S+ + +# scala modules +#("[^"]+"\s*%%?\s*){2,3}"[^"]+" + # Input to GitHub JSON -content: "[-a-zA-Z=;:/0-9+]*=" +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 stringprefix / binaryprefix +# 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+ @@ -462,19 +522,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/spell-check/excludes.txt b/.github/actions/spell-check/excludes.txt index ab49292d307..143cedf6027 100644 --- a/.github/actions/spell-check/excludes.txt +++ b/.github/actions/spell-check/excludes.txt @@ -10,68 +10,87 @@ (?:^|/)FilePreviewCommon/Assets/Monaco/monacoSpecialLanguages.js (?:^|/)monacoSRC/ (?:^|/)package(?:-lock|)\.json$ +(?:^|/)Pipfile$ +(?:^|/)power-rename-ui-flags$ +(?:^|/)pyproject.toml +(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$ (?:^|/)timezones\.json$ (?:^|/)vendor/ (?:^|/)WindowsSettings\.json$ -/package(?:-lock|)\.json$ -/pinyindb/ -/settings-html/ -[/.][a-z]{2}(?:-[a-zA-Z]{2}|)\. +/images/launcher/[^/]+$ +/TestFiles/ +[^/]\.gcode$ +[^/]\.rgs$ \.a$ \.ai$ +\.all-contributorsrc$ \.avi$ \.bmp$ \.bz2$ +\.cer$ \.class$ +\.coveragerc$ +\.crl$ \.crt$ -\.dat$ +\.csr$ \.dll$ \.docx?$ \.drawio$ \.DS_Store$ \.eot$ +\.eps$ \.exe$ \.filters$ -\.gcode$ \.gif$ +\.git-blame-ignore-revs$ \.gitattributes$ -\.gitignore$ +\.gitkeep$ \.graffle$ \.gz$ \.icns$ \.ico$ +\.ipynb$ \.jar$ \.jks$ \.jpe?g$ \.key$ -\.lcl$ \.lib$ \.lock$ \.map$ \.min\.. +\.mo$ \.mod$ \.mp[34]$ \.o$ \.ocf$ \.otf$ +\.p12$ +\.parquet$ \.pdf$ \.pem$ -\.PNG$ +\.pfx$ \.png$ \.psd$ \.pyc$ +\.pylintrc$ +\.qm$ \.s$ -\.stl$ -\.svg$ +\.sig$ +\.so$ \.svgz?$ +\.sys$ \.tar$ +\.tgz$ \.tiff?$ \.ttf$ \.wav$ \.webm$ \.webp$ \.woff2?$ +\.xcf$ \.xlsx?$ +\.xpm$ +\.xz$ \.zip$ ^\.github/actions/spell-check/ ^\.gitmodules$ @@ -79,38 +98,28 @@ ^\Q.pipelines/ESRPSigning_core.json\E$ ^\Qinstaller/PowerToysSetup/Settings.wxs\E$ ^\Qsrc/common/ManagedCommon/ColorFormatHelper.cs\E$ +^\Q.pipelines/sdl.gdnbaselines\E$ +^\Qsrc/common/FilePreviewCommon/Assets/Monaco/monaco_languages.json\E$ +^\Qsrc/common/notifications/BackgroundActivatorDLL/cpp.hint\E$ +^\Qsrc/modules/colorPicker/ColorPickerUI/Assets/ColorPicker/colorPicker.cur\E$ ^\Qsrc/modules/colorPicker/ColorPickerUI/Shaders/GridShader.cso\E$ ^\Qsrc/modules/MouseUtils/MouseJumpUI/MainForm.resx\E$ ^\Qsrc/modules/MouseWithoutBorders/App/Form/frmAbout.cs\E$ -^\Qsrc/modules/MouseWithoutBorders/App/Properties/AssemblyInfo.cs\E$ ^\Qsrc/modules/MouseWithoutBorders/ModuleInterface/generateSecurityDescriptor.h\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/CorruptJson/Microsoft/PowerToys/settings.json\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.18.2/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.19.2/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.20.1/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/V0.21.1/Microsoft/PowerToys/FancyZones/settings.json\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/V0.21.1/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.22.0/Microsoft/PowerToys/FancyZones/settings.json\E$ -^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.22.0/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ +^\Qsrc/modules/MouseUtils/MouseJumpUI/NativeMethods/User32/UI/WindowsAndMessaging/User32.SYSTEM_METRICS_INDEX.cs\E$ +^\Qsrc/modules/MouseWithoutBorders/App/Form/frmInputCallback.resx\E$ +^\Qsrc/modules/MouseWithoutBorders/App/Form/frmLogon.resx\E$ +^\Qsrc/modules/MouseWithoutBorders/App/Form/frmMatrix.resx\E$ +^\Qsrc/modules/MouseWithoutBorders/App/Form/frmScreen.resx\E$ +^\Qsrc/modules/peek/Peek.Common/NativeMethods.txt\E$ +^\Qsrc/modules/previewpane/SvgPreviewHandler/SvgHTMLPreviewGenerator.cs\E$ +^\Qsrc/modules/previewpane/UnitTests-StlThumbnailProvider/HelperFiles/sample.stl\E$ ^\Qtools/project_template/ModuleTemplate/resource.h\E$ ^doc/devdocs/akaLinks\.md$ -^installer/PowerToysSetup/WebView2/MicrosoftEdgeWebview2Setup.exe$ -^src/common/logger/logger\.vcxproj\.filters$ -^src/common/notifications/BackgroundActivatorDLL/BackgroundActivator\.vcxproj\.filters$ -^src/common/notifications/BackgroundActivatorDLL/cpp\.hint$ -^src/modules/colorPicker/ColorPickerUI/Assets/ColorPicker/colorPicker\.cur$ -^src/modules/fancyzones/lib/FancyZonesWinHookEventIDs\.h$ -^src/modules/imageresizer/dll/ContextMenuHandler\.rgs$ -^src/modules/imageresizer/dll/ImageResizerExt\.rgs$ -^src/modules/MouseUtils/MouseJumpUI/NativeMethods/User32/UI/WindowsAndMessaging/User32.SYSTEM_METRICS_INDEX.cs$ ^src/modules/MouseWithoutBorders/App/Form/.*\.resx$ ^src/modules/MouseWithoutBorders/App/Form/.*\.Designer\.cs$ ^src/modules/MouseWithoutBorders/App/Helper/.*\.resx$ ^src/modules/MouseWithoutBorders/App/.*/NativeMethods\.cs$ -^src/modules/peek/Peek\.Common/NativeMethods\.txt$ -^src/modules/powerrename/testapp/PowerRenameTest\.vcxproj\.filters$ -^src/modules/previewpane/PreviewPaneUnitTests/HelperFiles/MarkdownWithHTMLImageTag\.txt$ ^src/modules/previewpane/UnitTests-MarkdownPreviewHandler/HelperFiles/MarkdownWithHTMLImageTag.txt$ -^tools/CleanUp_tool/CleanUp_tool\.vcxproj\.filters$ ^tools/Verification scripts/Check preview handler registration\.ps1$ ignore$ diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index 99964c5233f..fbfdd418c58 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -21,6 +21,7 @@ activationaction ADDUNDORECORD ADifferent adio +adipiscing administra ADMINS adml @@ -34,6 +35,7 @@ AGGREGATABLE AHybrid ALarger alekhyareddy +aliquip ALLAPPS ALLINPUT ALLOWUNDO @@ -97,6 +99,7 @@ ASingle ASSOCCHANGED ASYNCWINDOWPLACEMENT ASYNCWINDOWPOS +ative atl atlbase atlcom @@ -150,7 +153,6 @@ BLURREGION bmi bms BNumber -Bokm BOKMAL bootstrapper BOOTSTRAPPERINSTALLFOLDER @@ -274,6 +276,7 @@ cominterop commandline COMMANDTITLE commctrl +commodo compmgmt COMPOSITIONFULL comsupp @@ -284,6 +287,8 @@ CONFIGW CONFLICTINGMODIFIERKEY CONFLICTINGMODIFIERSHORTCUT CONOUT +consectetur +consequat Consolas constexpr consts @@ -326,6 +331,7 @@ CTRLALTDEL Ctrls Ctx CUI +cupidatat currentculture CURRENTDIR CURSORINFO @@ -372,6 +378,7 @@ dcomp DComposition dcr dcs +ddd DDEIf DDevice ddf @@ -398,12 +405,12 @@ DELETEDKEYIMAGE DELETESCANS deletethis Delimarsky -dend DENORMAL Deondre depersist deprioritized deref +deserunt DESKTOPABSOLUTEEDITING DESKTOPABSOLUTEPARSING desktopshorcutinstalled @@ -484,6 +491,7 @@ dxgidebug dxgiformat dxguid ecount +ecyclebin EData Edid EDITKEYBOARD @@ -491,8 +499,13 @@ editkeyboardwindow EDITSHORTCUTS editshortcutswindow EFile +egistry +egistrypreview eip ekus +elease +elemetry +elit emmintrin Emoji ENABLEDELAYEDEXPANSION @@ -503,6 +516,7 @@ encryptor endpointvolume endregion ENDSESSION +enim ENTERSIZEMOVE ENU EOAC @@ -517,10 +531,16 @@ ERRORLEVEL ERRORTITLE ESettings esize +esource esrp +estapp +estart +ests +esult etl etstat -etw +ETW +etwork EUQ eurochange eventlog @@ -538,6 +558,7 @@ exabyte examplehandler examplepowertoy EXAND +Excepteur EXCLUDEFROMCAPTURE exdisp executionpolicy @@ -548,6 +569,8 @@ exlist EXPCMDFLAGS EXPCMDSTATE explr +exppowertoys +exptas exsb EXSEL exstyle @@ -575,7 +598,7 @@ FILEOP FILEOS FILESUBTYPE FILESYSPATH -filetime +Filetime FILEVERSION Filtergraph Filterkeyboard @@ -585,6 +608,7 @@ findfast firefox FIXEDFILEINFO flyout +flyouts FOF FOFX FOLDERID @@ -907,6 +931,8 @@ killrunner Knownfolders KSPROPERTY Kybd +laboris +laborum LAlt Lambson langword @@ -957,6 +983,7 @@ lmcons LMEM LMENU lnk +lnks LOADFROMFILE LOBYTE LOCALAPPDATA @@ -1110,6 +1137,7 @@ mockapi MODECHANGE modernwpf MODESPRUNED +mollit MONITORENUMPROC MONITORINFO MONITORINFOEX @@ -1182,6 +1210,7 @@ NCMBUTTONUP NCMOUSELEAVE NCMOUSEMOVE NCol +nconsectetur ncpa NCPAINT NCRBUTTONDBLCLK @@ -1206,7 +1235,6 @@ newitem newpath newrow Newtonsoft -niels nielslaute NIF nint @@ -1249,6 +1277,7 @@ NORMALUSER NOSEARCH NOSENDCHANGING NOSIZE +nostrud notfound NOTIFICATIONSDLL NOTIFYICONDATAW @@ -1264,6 +1293,7 @@ NOZORDER NPH NResize nrw +nsunt NTAPI ntdll ntfs @@ -1280,12 +1310,15 @@ Objbase OBJID objidl oblitum +obmikh +occaecat ocr Ocrsettings odbc odbccp Oem officehubintl +officia ofs oid oldcolor @@ -1302,6 +1335,7 @@ onenote onstd oobe OOBEPT +ools opencode opensource openxmlformats @@ -1315,6 +1349,8 @@ ostr OSVERSIONINFOEX OSVERSIONINFOEXW osvi +otating +otifications OUTOFCONTEXT OUTOFMEMORY outpin @@ -1461,6 +1497,7 @@ PRODUCTVERSION Progman programdata PROGRAMFILES +proident projectname PROPBAG PROPERTYKEY @@ -1541,6 +1578,7 @@ RECTL rectp rects RECTSOURCE +recyclebin redirectedfrom Redist redistributable @@ -1579,6 +1617,7 @@ renamable RENAMEONCOLLISION Renamer reparent +reparented reparenting reparse reportbug @@ -1612,6 +1651,7 @@ RIGHTDOWN RIGHTSCROLLBAR RIGHTUP riid +ringbuffer RKey RLO RMENU @@ -1671,13 +1711,13 @@ Scode scoobe SCOPEID screenshot +screenshots scrollviewer sddl SDKDDK sdns searchterm secpol -Secur Segoe Sekan SENDCHANGE @@ -1753,6 +1793,7 @@ sia SIATTRIBFLAGS SICHINT sid +SIDs siex sigdn SIGNINGSCENARIO @@ -1853,6 +1894,7 @@ stylecop Subdir subfolders subkey +subkeys SUBLANG subquery subresource @@ -1888,7 +1930,7 @@ SYSTEMTIME sysvol Tadele talynone -TApp +tapp TApplication TApplied targ @@ -1966,6 +2008,7 @@ Tsd TServer TStr TValue +tweakme TWF tymed typedef @@ -1988,6 +2031,7 @@ UIEx uipi UIs ULARGE +ullamco ULONGLONG ums unapply @@ -2009,6 +2053,7 @@ unknwn UNLEN Unmap unmute +unner UNORM unregistering unremapped @@ -2117,6 +2162,7 @@ webpage websearch webserver website +websites wekyb Wevtapi wgpocpl @@ -2187,7 +2233,7 @@ WKSG Wlkr wmain Wman -wmi +WMI WMICIM wmimgmt WMKEYDOWN diff --git a/.github/actions/spell-check/line_forbidden.patterns b/.github/actions/spell-check/line_forbidden.patterns index e8c5179a477..8ddb666cd6e 100644 --- a/.github/actions/spell-check/line_forbidden.patterns +++ b/.github/actions/spell-check/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 +(?v# +(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) + +# hit-count: 209 file-count: 97 # w3 \bw3\.org/[-0-9a-zA-Z/#.]+ -# hit-count: 47 file-count: 3 -# Contributor -\[[^\]]+\]\(https://github\.com/[^/\s"]+\) +# hit-count: 137 file-count: 38 +# alternate markers if you run into latex and friends +(?]|\b)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{10,12}(?:\g{-1}|[<})>]) -# c99 hex digits (not the full format, just one I've seen) -0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] - -# URL escaped characters -\%[0-9A-F]{2} - -# wregex -std::wregex\(L"[^"]*"\) - -# hash -Hash="[0-9A-F]{40}" -# SHA256 hash -'[0-9A-F]{64}' - -# hex digits including css/html color classes: -(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23|L")[0-9a-fA-FgGrR_]{2,}(?:[uU]?[lL]{0,2}|u\d+)\b - (?:L"[abAB]+", ){3}L"[abAB]+" -"Lorem[^"]+?\." -TestCase\("[^"]+" - -# Test line with hexadecimal colors -\[DataRow\("[0-9A-F]{6}", \d{3}, \d{3}, \d{3}\)\] -\[DataRow\("[0-9A-F]{6}", \d{3}.\d{1}, \d{3}.\d{1}, \d{3}.\d{1}\)\] -\[DataRow\("[0-9A-F]{6}", "[BCGMRY]\d\d?", \d{3}, \d{3}\)\] -# version suffix v# -[Vv]\d+(?:\b|(?=[a-zA-Z_])) - -# Windows paths -\\native -\\netcoreapp -\\netstandard -\\network -\\notifications -\\recyclebin -\\Registry -\\registry -\\reinstall -\\release -\\Resize -\\resource -\\Resources -\\restart -\\restore -\\result -\\robmikh -\\rotating -\\runner -\\runtimes -\\Telemetry -\\telemetry -\\testapp -\\tests -\\tools - -# plugin.json -^ "ID": "[0-9A-F]{32}",$ +# hit-count: 1 file-count: 1 +# marker to ignore all code on line +^.*/\* #no-spell-check-line \*/.*$ # UnitTests \[DataRow\(.*\)\] -# Id info inside markdown file (registry.md) -^\|\s+ID\s+\|\s*\`[0-9A-F]{32}\` - -# TestCase strings intentionally have non dictionary items -\[TestCase\(new string.*\] - # D2D D?2D -# marker for ignoring a comment to the end of the line -^.*/\* #no-spell-check-line \*/.*$ -// #no-spell-check.*$ +# hit-count: 1 file-count: 1 +# GHSA +GHSA(?:-[0-9a-z]{4}){3} + +# hit-count: 1 file-count: 1 +# medium +\bmedium\.com/\@?[^/\s"]+/[-\w]+ -http://tes/ +# hit-count: 1 file-count: 1 +# kubectl.kubernetes.io/last-applied-configuration +"kubectl.kubernetes.io/last-applied-configuration": ".*" +# hit-count: 1 file-count: 1 # tar arguments -\b(?:\\n|)tar(?:\s+-[a-zA-Z]+|\s[a-z]+)+ +\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ + +\bSecur32 -# fabricbot.json -"id": "\S+" -"commentPattern": ".*" # Questionably acceptable forms of `in to` # Personally, I prefer `log into`, but people object # https://www.tprteaching.com/log-into-log-in-to-login/ -\b[Ll]og in to\b +\b(?:[Ll]og|[Ss]ign) in to\b + +# to opt in +\bto opt in\b # acceptable duplicates # ls directory listings -# /bin/ls -l output -[-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+ +# mount +\bmount\s+-t\s+(\w+)\s+\g{-1}\b # C types and repeated CSS values -\s(center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s +\s(auto|center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s +# C struct +\bstruct\s+(\w+)\s+\g{-1}\b # go templates -\s(\w+)\s+\g{-1}\s+\`(?:graphql|json|yaml): -# javadoc / .net -(?:[\\@](?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\g{-1}\s +\s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml): +# doxygen / javadoc / .net +(?:[\\@](?:brief|groupname|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+static|\s+override|\s+readonly)*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s # Commit message -- Signed-off-by and friends ^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$ diff --git a/.github/actions/spell-check/reject.txt b/.github/actions/spell-check/reject.txt index b5a6d36809f..e5e4c3eef82 100644 --- a/.github/actions/spell-check/reject.txt +++ b/.github/actions/spell-check/reject.txt @@ -1,4 +1,5 @@ ^attache$ +^bellow$ benefitting occurences? ^dependan.* diff --git a/.github/workflows/spelling2.yml b/.github/workflows/spelling2.yml index 0cbb2ce08c7..d58828a50ee 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,12 +66,13 @@ on: pull_request_target: branches: - "**" - tags-ignore: - - "**" types: - 'opened' - 'reopened' - 'synchronize' + issue_comment: + types: + - 'created' jobs: spelling: @@ -57,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 @@ -68,24 +93,45 @@ jobs: steps: - name: check-spelling id: spelling - uses: check-spelling/check-spelling@v0.0.21 + uses: check-spelling/check-spelling@v0.0.22 with: config: .github/actions/spell-check - 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/PowerToys@main post_comment: 0 use_magic_file: 1 - extra_dictionary_limit: 10 + 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:software-terms/dict/softwareTerms.txt cspell:cpp/src/stdlib-cpp.txt cspell:filetypes/filetypes.txt cspell:cpp/src/stdlib-c.txt - cspell:fullstack/fullstack.txt - cspell:html/html.txt - cspell:css/css.txt + cspell:python/src/python/python-lib.txt + cspell:lorem-ipsum/dictionary.txt + cspell:php/dict/php.txt + cspell:typescript/dict/typescript.txt + cspell:swift/src/swift.txt + cspell:fullstack/dict/fullstack.txt + cspell:node/dict/node.txt + cspell:dotnet/dict/dotnet.txt + cspell:django/dict/django.txt + cspell:python/src/python/python.txt + cspell:csharp/csharp.txt + cspell:python/src/common/extra.txt + cspell:cpp/src/compiler-msvc.txt + cspell:aws/aws.txt + cspell:golang/dict/go.txt + cspell:java/src/java.txt + cspell:html/dict/html.txt + cspell:css/dict/css.txt + cspell:k8s/dict/k8s.txt + cspell:java/src/java-terms.txt + cspell:powershell/dict/powershell.txt comment-push: name: Report (Push) @@ -97,11 +143,11 @@ 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: config: .github/actions/spell-check checkout: true - spell_check_this: check-spelling/spell-check-this@prerelease + spell_check_this: microsoft/PowerToys@main task: ${{ needs.spelling.outputs.followup }} comment-pr: @@ -110,13 +156,39 @@ 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: config: .github/actions/spell-check checkout: true spell_check_this: check-spelling/spell-check-this@prerelease 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/doc/devdocs/modules/powerpreview/monaco/readme.md b/doc/devdocs/modules/powerpreview/monaco/readme.md index 93bbf743c9a..ac9ae3eae2c 100644 --- a/doc/devdocs/modules/powerpreview/monaco/readme.md +++ b/doc/devdocs/modules/powerpreview/monaco/readme.md @@ -1,6 +1,6 @@ # Developer Preview (Monaco) -Developer preview is based on [Microsofts Monaco Editor](https://microsoft.github.io/monaco-editor/) which is maintained by the Visual Studio Code team. +Developer preview is based on [Microsoft's Monaco Editor](https://microsoft.github.io/monaco-editor/) which is maintained by the Visual Studio Code team. ## Update monaco editor diff --git a/src/common/AllExperiments/Microsoft.VariantAssignment/Contract/VariantAssignmentClientSettings.cs b/src/common/AllExperiments/Microsoft.VariantAssignment/Contract/VariantAssignmentClientSettings.cs index 1ea295bfda3..f57986368c7 100644 --- a/src/common/AllExperiments/Microsoft.VariantAssignment/Contract/VariantAssignmentClientSettings.cs +++ b/src/common/AllExperiments/Microsoft.VariantAssignment/Contract/VariantAssignmentClientSettings.cs @@ -24,7 +24,7 @@ public class VariantAssignmentClientSettings public bool EnableCaching { get; set; } /// - /// Gets or sets the the maximum time a cached variant assignment response may be used without re-validating. + /// Gets or sets the maximum time a cached variant assignment response may be used without re-validating. /// public TimeSpan ResponseCacheTime { get; set; } }