diff --git a/.github/actions/spelling/README.md b/.github/actions/spelling/README.md index d82bed75cc..1f699f3de3 100644 --- a/.github/actions/spelling/README.md +++ b/.github/actions/spelling/README.md @@ -8,6 +8,7 @@ File | Purpose | Format | Info [excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes) [only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only) [patterns.txt](patterns.txt) | 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) +[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-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) diff --git a/.github/actions/spelling/advice.md b/.github/actions/spelling/advice.md index 54f0c9b5e5..1004eeaa60 100644 --- a/.github/actions/spelling/advice.md +++ b/.github/actions/spelling/advice.md @@ -1,5 +1,5 @@ -
If the flagged items are false positives +
If the flagged items are :exploding_head: false positives If items relate to a ... * binary file (or some other file you wouldn't want to check at all). diff --git a/.github/actions/spelling/allow.txt b/.github/actions/spelling/allow.txt index 803710e0f2..7d1718f3d7 100644 --- a/.github/actions/spelling/allow.txt +++ b/.github/actions/spelling/allow.txt @@ -7,6 +7,8 @@ addmanifest addportablefile addstore admins +AFX +afx alloc altform anonymize diff --git a/.github/actions/spelling/candidate.patterns b/.github/actions/spelling/candidate.patterns new file mode 100644 index 0000000000..4b40e728ee --- /dev/null +++ b/.github/actions/spelling/candidate.patterns @@ -0,0 +1,523 @@ +# 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.*$ + +# patch hunk comments +^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .* +# git index header +index [0-9a-z]{7,40}\.\.[0-9a-z]{7,40} + +# cid urls +(['"])cid:.*?\g{-1} + +# data url in parens +\(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 url +data:[-a-zA-Z=;:/0-9+]*,\S* + +# mailto urls +mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} + +# magnet urls +magnet:[?=:\w]+ + +# magnet urls +"magnet:[^"]+" + +# obs: +"obs:[^"]*" + +# The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read +# In this examples content, I'm using a number of different ways to match things to show various approaches +# asciinema +\basciinema\.org/a/[0-9a-zA-Z]+ + +# apple +\bdeveloper\.apple\.com/[-\w?=/]+ +# Apple music +\bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+ + +# appveyor api +\bci\.appveyor\.com/api/projects/status/[0-9a-z]+ +# appveyor project +\bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+ + +# Amazon + +# Amazon +\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|) +# AWS S3 +\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]* +# AWS execute-api +\b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b +# AWS ELB +\b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b +# AWS SNS +\bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/&#%_?:=]* +# AWS VPC +vpc-\w+ + +# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there +# YouTube url +\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]* +# YouTube music +\bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*) +# YouTube tag +<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"] +# YouTube image +\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]* +# Google Accounts +\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]* +# Google Analytics +\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]* +# Google APIs +\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+ +# Google Storage +\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|) +# Google Calendar +\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+ +\w+\@group\.calendar\.google\.com\b +# Google DataStudio +\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|) +# The leading `/` here is as opposed to the `\b` above +# ... a short way to match `https://` or `http://` since most urls have one of those prefixes +# Google Docs +/docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\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]+)* +# Google Maps +\bmaps\.google\.com/maps\?[\w&;=]* +# Google themes +themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. +# Google CDN +\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]* +# Goo.gl +/goo\.gl/[a-zA-Z0-9]+ +# Google Chrome Store +\bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|) +# Google Books +\bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]* +# Google Fonts +\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]* +# Google Forms +\bforms\.gle/\w+ +# Google Scholar +\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+ +# Google Colab Research Drive +\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]* + +# GitHub SHAs (api) +\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b +# GitHub SHAs (markdown) +(?:\[`?[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 wiki +\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b +# githubusercontent +/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* +# githubassets +\bgithubassets.com/[0-9a-f]+(?:[-/\w.]+) +# gist github +\bgist\.github\.com/[^/\s"]+/[0-9a-f]+ +# git.io +\bgit\.io/[0-9a-zA-Z]+ +# GitHub JSON +"node_id": "[-a-zA-Z=;:/0-9+]*" +# Contributor +\[[^\]]+\]\(https://github\.com/[^/\s"]+\) +# GHSA +GHSA(?:-[0-9a-z]{4}){3} + +# GitLab commit +\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b +# GitLab merge requests +\bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b +# GitLab uploads +\bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]* +# GitLab commits +\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b + +# binanace +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]+ +# bitbucket repositories commits +\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ +# bitbucket commits +\bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ + +# bit.ly +\bbit\.ly/\w+ + +# bitrise +\bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]* + +# bootstrapcdn.com +\bbootstrapcdn\.com/[-./\w]+ + +# cdn.cloudflare.com +\bcdnjs\.cloudflare\.com/[./\w]+ + +# circleci +\bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+ + +# gitter +\bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+ + +# gravatar +\bgravatar\.com/avatar/[0-9a-f]+ + +# ibm +[a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]* + +# imgur +\bimgur\.com/[^.]+ + +# Internet Archive +\barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*) + +# discord +/discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,} + +# Disqus +\bdisqus\.com/[-\w/%.()!?&=_]* + +# medium link +\blink\.medium\.com/[a-zA-Z0-9]+ +# medium +\bmedium\.com/\@?[^/\s"]+/[-\w]+ + +# microsoft +\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]* +# powerbi +\bapp\.powerbi\.com/reportEmbed/[^"' ]* +# vs devops +\bvisualstudio.com(?::443|)/[-\w/?=%&.]* +# microsoft store +\bmicrosoft\.com/store/apps/\w+ + +# mvnrepository.com +\bmvnrepository\.com/[-0-9a-z./]+ + +# now.sh +/[0-9a-z-.]+\.now\.sh\b + +# oracle +\bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]* + +# chromatic.com +/\S+.chromatic.com\S*[")] + +# codacy +\bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+ + +# compai +\bcompai\.pub/v1/png/[0-9a-f]+ + +# mailgun api +\.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]* +# mailgun +\b[0-9a-z]+.mailgun.org + +# /message-id/ +/message-id/[-\w@./%]+ + +# Reddit +\breddit\.com/r/[/\w_]* + +# requestb.in +\brequestb\.in/[0-9a-z]+ + +# sched +\b[a-z0-9]+\.sched\.com\b + +# Slack url +slack://[a-zA-Z0-9?&=]+ +# Slack +\bslack\.com/[-0-9a-zA-Z/_~?&=.]* +# Slack edge +\bslack-edge\.com/[-a-zA-Z0-9?&=%./]+ +# Slack images +\bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+ + +# shields.io +\bshields\.io/[-\w/%?=&.:+;,]* + +# stackexchange -- https://stackexchange.com/feeds/sites +\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/) + +# Sentry +[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b + +# Twitter markdown +\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) +# Twitter hashtag +\btwitter\.com/hashtag/[\w?_=&]* +# Twitter status +\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|) +# Twitter profile images +\btwimg\.com/profile_images/[_\w./]* +# Twitter media +\btwimg\.com/media/[-_\w./?=]* +# Twitter link shortened +\bt\.co/\w+ + +# facebook +\bfburl\.com/[0-9a-z_]+ +# facebook CDN +\bfbcdn\.net/[\w/.,]* +# facebook watch +\bfb\.watch/[0-9A-Za-z]+ + +# dropbox +\bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+ + +# ipfs protocol +ipfs://[0-9a-z]* +# ipfs url +/ipfs/[0-9a-z]* + +# w3 +\bw3\.org/[-0-9a-zA-Z/#.]+ + +# loom +\bloom\.com/embed/[0-9a-f]+ + +# regex101 +\bregex101\.com/r/[^/\s"]+/\d+ + +# figma +\bfigma\.com/file(?:/[0-9a-zA-Z]+/)+ + +# freecodecamp.org +\bfreecodecamp\.org/[-\w/.]+ + +# image.tmdb.org +\bimage\.tmdb\.org/[/\w.]+ + +# mermaid +\bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+ + +# Wikipedia +\ben\.wikipedia\.org/wiki/[-\w%.#]+ + +# gitweb +[^"\s]+/gitweb/\S+;h=[0-9a-f]+ + +# HyperKitty lists +/archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/ + +# lists +/thread\.html/[^"\s]+ + +# list-management +\blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+ + +# kubectl.kubernetes.io/last-applied-configuration +"kubectl.kubernetes.io/last-applied-configuration": ".*" + +# pgp +\bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]* + +# Spotify +\bopen\.spotify\.com/embed/playlist/\w+ + +# Mastodon +\bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]* + +# scastie +\bscastie\.scala-lang\.org/[^/]+/\w+ + +# images.unsplash.com +\bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+ + +# pastebin +\bpastebin\.com/[\w/]+ + +# heroku +\b\w+\.heroku\.com/source/archive/\w+ + +# quip +\b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)? + +# badgen.net +\bbadgen\.net/badge/[^")\]'\s]+ + +# statuspage.io +\w+\.statuspage\.io\b + +# media.giphy.com +\bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+ + +# tinyurl +\btinyurl\.com/\w+ + +# getopts +\bgetopts\s+(?:"[^"]+"|'[^']+') + +# ANSI color codes +(?:\\(?:u00|x)1b|\x1b)\[\d+(?:;\d+|)m + +# URL escaped characters +\%[0-9A-F][A-F] +# 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) +0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] +# Punycode +\bxn--[-0-9a-z]+ +# sha +sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* +# sha-... -- uses a fancy capture +(['"]|")[0-9a-f]{40,}\g{-1} +# hex runs +\b[0-9a-fA-F]{16,}\b +# hex in url queries +=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?& +# ssh +(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,} + +# PGP +\b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b +# GPG keys +\b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b +# Well known gpg keys +.well-known/openpgpkey/[\w./]+ + +# 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 +# integrity +integrity="sha\d+-[-a-zA-Z=;:/0-9+]{40,}" + +# https://www.gnu.org/software/groff/manual/groff.html +# man troff content +\\f[BCIPR] +# ' +\\\(aq + +# .desktop mime types +^MimeTypes?=.*$ +# .desktop localized entries +^[A-Z][a-z]+\[[a-z]+\]=.*$ +# Localized .desktop content +Name\[[^\]]+\]=.* + +# IServiceProvider +\bI(?=(?:[A-Z][a-z]{2,})+\b) + +# crypt +"\$2[ayb]\$.{56}" + +# scrypt / argon +\$(?:scrypt|argon\d+[di]*)\$\S+ + +# Input to GitHub JSON +content: "[-a-zA-Z=;:/0-9+]*=" + +# Python stringprefix / binaryprefix +# 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 +(?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 (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 +\bset(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)* +# tar arguments +\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ +# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long... +\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b +# macOS temp folders +/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/ diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt index f792e0f357..d94d3410cc 100644 --- a/.github/actions/spelling/excludes.txt +++ b/.github/actions/spelling/excludes.txt @@ -1,19 +1,22 @@ # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes (?:^|/)(?i)COPYRIGHT (?:^|/)(?i)LICEN[CS]E +(?:^|/)3rdparty/ (?:^|/)go\.sum$ (?:^|/)package(?:-lock|)\.json$ (?:^|/)vendor/ /shared\.manifest$ -ignore$ \.a$ \.ai$ \.avi$ \.bmp$ \.bz2$ \.cer$ +\.class$ \.crt$ \.dll$ +\.docx?$ +\.drawio$ \.DS_Store$ \.eot$ \.exe$ @@ -24,12 +27,13 @@ ignore$ \.icns$ \.ico$ \.jar$ +\.jks$ \.jpe?g$ \.key$ \.lib$ \.lock$ \.map$ -\.min\. +\.min\.. \.mod$ \.mp[34]$ \.msix$ @@ -41,9 +45,11 @@ ignore$ \.pem$ \.png$ \.psd$ +\.pyc$ \.s$ \.sln$ -\.svg$ +\.svgz?$ +\.tar$ \.tiff?$ \.ttf$ \.vcxitems$ @@ -56,10 +62,14 @@ ignore$ \.webp$ \.winmd$ \.woff2?$ +\.xlsx?$ \.zip$ +^\.github/actions/spelling/ +^\.github/workflows/spelling\d*\.yml$ +^\Qsrc/PureLib/pure/AUTHORS\E$ ^cgmanifest\.json$ ^Localization/ -^NOTICE$ +^NOTICE ^src/AppInstallerCLICore/Commands/ExperimentalCommand\.cpp$ ^src/AppInstallerCLIE2ETests/TestData/AppInstallerTestMsiInstaller.msi$ ^src/AppInstallerCLITests/TestData/InputARPData.txt$ @@ -70,10 +80,11 @@ ignore$ ^src/catch2/ ^src/cpprestsdk/ ^src/JsonCppLib/ +^src/PureLib/ ^src/UndockedRegFreeWinRT/ ^src/Valijson/ +^src/Xlang/ ^src/YamlCppLib/ # Because it doesn't handle argument -Words well ^tools/CorrelationTestbed/.*\.ps1$ -^\.github/actions/spelling/ -^\Q.github/workflows/spelling.yml\E$ +ignore$ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 2142bbbc7d..bc566a8ead 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -1,477 +1,996 @@ abcd +abortx accepteula -acl +ACTCTX +ACTCTXW +activatable +activationregistration +acw +addl +Addrs adjacents adml admx -affle -AFX +adr +adrp +AFXDLL agg +Ahvenlampi aicli AICLIC -ajor alreadyinstalled amd +AMicrosecond +AMillisecond +AMinute amrutha -anonymized +Andrzej +Anisimkov APARTMENTTHREADED apfn apicontract apiset +APPCONTAINER appinstallertest +appleclang appname -arget +APPNOTE +APTTYPE +APTTYPEQUALIFIER argumentlist ARMNT arp arphelper ASAN +ASecond ashpatil Ashwini -asm +ASLR +assertionhandler +assertionresult ASwitch ASYNCRTIMP Atest ATL +atto AType AUrl -Aysnc +autodeleted +autoregistrar +Autorelease +AVX azurewebsites -badbit -Baz +bbbbbiii +bcc bcp BEFACEF +Beihang +Bezier +BFC bfd BFirst bght +bitfields bitmask +bitnum +bitpattern +bjoern bkup blargle +BLDNUM +blitt blockedbypolicy blogs +blr bluetooth +blx +Bmmmmm bomgar BOMs +Borland +BORLANDC boundparms -brk Browsable BSODs -Buf +Bson +bugtraq +bugzilla buildtransitive BUILTINS +BXJ +bytecount +cachefly cancelledbyuser casemap casemappings +casestudies +castleproject +catchorg +cbclr +cbdata +cbidh +cbinh +cbnz +cbz +cccc cch CDEF -cend +CDetour +cdh centralus +cerrno certmgr certs -cfr +CFBF +CFull cgi -chcp -ci +Chemeris +chk +CHR +christop +chstr +CImage cinq +ciso +clara +Clarius +CLASSNOTREG +CLDB +cleanupgroup CLIE +CLion cloudapp cls clsctx clsid +CMOVC +CMOVE +CMOVNA +CMOVNAE +CMOVNB +CMOVNBE +CMOVNC +CMOVNE +CMOVNG +CMOVNGE +CMOVNL +CMOVNLE +CMOVPE +CMOVPO +CMPS +CODEOWNERS COINIT +colourised +combaseapi COMGLB commandline -Concat +comutil contactsupport contentfiles contoso contractversion +COPYENTRY +COPYFUNC +corewrappers +Cosmin count'th countof countryregion +cplusplus +CPPUNWIND createmanifestmetadata -cstdint +creatwth +Crt +crtdbg +csbi +cswinrt ctc -Ctx -curated -CYRL +CTDQ +ctxtcall +cumn +CVPI +cxt +Cybozu +cygwin DACL +Darbois Dbg +dbghelp +DBHLPAPI +dcompi +ddi +ddr debian deigh deleteifnotneeded +Dellaca +deoptimize +deoptimized +Deref +derefence +descr desktopappinstaller -dirs +detourc +detourd +detver +dfa +dff +DHelper +disas +disasm diskfull +disolarm +disolia +disolx +DJGPP dllimport +Dmitriy DMPAs dnld Dobbeleer +dpi +DProjection +Dropbox Dsc +dsh +Dtr +DUPLICATEALIAS dustojnikhummer dvinns -dw +dwl +Dxaml +eax ecfr ecfrbrowse +ecount EFGH -endian -enums +EHa +eief +eip +elease +Elemar +elems +EMSCRIPTEN +encodable +eocdl +eocdr +EOR EQU -ERANGE +ERCIM +erfinv +Eron errmsg -errno ESRB etest +Evain +evex execustom +executability EXEHASH experimentalfeatures -fd +extrq +extwinrt +fabricbot +fchkf fdw FECAFEB fedorapeople +femto +ffe +fff +ffff +fifield fileinuse Filtercriteria Finalizers fintimes Fixfor +FLADD flargle flexera +Flyout FOF foldc foldcase FOLDERID -FSharp -ftp +FORPARSING +fpneon +FSUBQ FULLMUTEX FULLWIDTH fundraiser fuzzer +FWAIT fzanollo +Gailly +gcc gcpi -GES +generatortracker GESMBH +getpid +gettimeofday GHS -gitlab gity +GLIBCXX +GNUC +GNUG Google +GPto +Greef guiddef -gz Hackathon hashtable +HCORENUM +hdr helplib helplibrary +hhhddddd hhx +HIBYTE +Highlighter +Hildenborg HINSTANCE hkey hlocal +Hlp hmodule +hoehrmann hre hresults -htm +hrsc +IActivation IARP +iat IAttachment +IBTS +icache +ICallback +ICEBP +iconr +icpc +idh +idl idx IEnum IFACEMETHODIMP +ifactory +ifdefs IHelp iid +iidp +iiittttt +IInspectable +IIP IISOn -img +IMAGEAPI +imagehlp +IMeta +imm +immhi +immlo inet -inor +Infobuffer +infozip +Ingy +inh +INITGUID +INPATHROOT +Inproc +insertq installinprogress installshield +instream insufficientmemory Intelli -IObject +invalidparameter +invisibles +iqr +IRefresh +IRET +isable ishelp ISQ ISVs itr IWin +Jazelle jdk +JELMER +JETBRAINS jfearn +jmpe +JNA +JNAE +JNB +JNBE +JNC +JNE +JNG +JNGE +JNL +JNLE JObject -jp +Joran jpalardy +JPE +JPO JREs jrsoftware jsoncpp -KF +junitreport +Kazuho +Keio +kinfo +Kirill +Kleinert +Klomp KNOWNFOLDERID -Kp +Kohlhoff +Krzemienski ktf -langs -LATN +Kvp +largefile +lcase ldcase +LDMIA +ldr +LDRD +LDREX +LDREXB +LDREXD +LDREXH +LDRSW learnxinyminutes -lhs +Lepilleur +lfanew +lfh +libidentify libsolv +libstd +libstdc libyaml -Lifecycle +LINEINFO Linq liv liwpx -llvm -localhost +Llopis +llu +LNK +LOBYTE localizationpriority +LODS +Lohmann +Loitsch +lom +los +LPAPI LPBYTE +LPCVOID +LPCWSTR LPDWORD lpitemidlist +Lpp +LPPROCESS +LPSECURITY +LPSTARTUPINFOA +LPSTARTUPINFOW +LPSTR +lpv LPWCH LPWSTR LSTATUS LTDA -lw -lz +MAINSTA +MAJORc +MAKEINTRESOURCEW malware +manip +MASPS +matchee +maxed maxvalue +maxversiontested +maybenull +mayfail MBH +mbi mdmp +MDs megamorf -memcpy -middleware +Micael midl +milleniumbug +milli minexample minidump +minizip +MINORc minschema +MINSIGSTKSZ missingdependency +Mitsunari MMmmbbbb +modrm +Moene monicka +movk +movl +movn +MOVS +movt +movw +movz MPNS -msdn +MSCOREE msdownload msft msftrubengu MSIHASH +MSIL MSIXHASH msstore +MSVC +mta +Mula Multideclaration -multimap -mx +muppetlabs +mwinrtact +mwinrtactx mycustom myinstalldir mylog mysilent mysilentwithprogress nameof +nanoant +NARGS nativehandle NESTEDINSTALLER netlify Newtonsoft +nihilo +nlohmann +NOACCESS +NOENLARGE NOEXPAND +NOFAIL +NOINTERNAL +NOLINT +Nomssi nonetwork NONFOLDERS nonterminated +noops +NOPs +noreturn normer +Norwitz NOSEPARATOR +NOSTDOUT NOTAPROPERTY notmatch +notnull +NOTSIB +novell +nsamples nsis +nsstring +NTA +NTAPI +nttp nuffing -nullopt -NX +NUMBEROF +nval +Nyffenegger +Nzali objbase +objc objidl ofile -openmode +ofs +oidp +Oku +onlinedocs +ONSTACK +OOXML +Opc +opcodes +ORBIS +Osma +oss +ostringstreams +osvi +OSX +Outercurve +OUTPATHROOT Outptr packageinuse packageinusebyapplication PACL +PACTIVATION PARAMETERMAP paramref pathparts Patil -pb +pcb PCCERT +pcch +PCHAR +PCHs +pclr PCs +PCSTR pcwsz +pder +PDETOUR +pdi +pdw +PDWORD PEGI +Pentium +PEXCEPTION pfn +pfs +PFUNC pfxpath Pherson +philsquared +phstr +pidh pidl pidlist +piid +PIMAGE +PIMAGEHLP +pinh +PINIT pkgmgr pkindex pkix +pkware +PLABEL +pld +plp +pmd PMS +pnh +Polyline positionals powershellgallery powertoys +PPLABEL +ppld +ppp +ppsz +prefast +PREFETCHINTA +Prefs +PRFM pri processthreads +Processthreadsapi productcode +Prouse pscustomobject -psd +psects pseudocode -psm psobject +PSYMBOL +pthread +ptrace ptstr publickey +PULONG +PUSHORT pvk pvm pwabuilder PWAs PWSTR -px -pz -qb +pwsz +Pxx +QNX +Quines qword -rbegin -readonly +raddr +Raiter +rawtime +rce +rdfsbase +rdgsbase +rdpartysource rebootinitiated rebootrequiredforinstall rebootrequiredtofinish redirector Redist +REFCOPYENTRY +REFGUID REFIID +REGDB regexes +regfree REGSAM +reimplementation +relativefilepath +remoting reparse +REPE restsource +REVSH rgex rgp rgpsz -rhs +rguid riid +rlp +roapi roblox +rometadataresolution ronomon rosoft +ROUTINEA +ROUTINEW rowids RRF rrr +Rrtd +RSDS +RSQRTTS +rundll runtimeclass +rva +RWTH ryfu rzkzqaqjwj SARL +saveopt +SCAS schematab -Screenshot sddl -semver +securityfocus +SEH seof -serializer servercert servercertificate setmetadatabymanifestid SETTINGMAPPING +SEV SHCONTF SHGDN +Shigeo Shlobj +shouldfail SHOWNORMAL sid +sigaction +sigaltstack SIGNATUREHASH +skipq Sku +SManifest sortof sourceforge spamming SPAPI +sptk +sqcb Srinivasan SRL srs +SSAT +sstr standalone startswith -streambuf +STARTUPINFOA +STARTUPINFOW +stdbool +stddef +stdint +STEDD +STOS +STRB +STRD +strerror +STREX +STREXB +STREXD +STREXH +STRH +stringification +STRINGIFIER +STRINGMAKERS +stringref +strneq +strnlen STRRET -strtoull +strsafe +Strzelecki stylecop subdir subkey superstring suppy -SUSE +suse +Svensson swervy +swtch +SXTB +SXTH SYD SYG +SYMOPT +synchapi Syncy +syscalls +sysnative sysrefcomp +systemnotsupported +syswow Tagit +tbb +tbd +TBH +TBNZ +tbz TCpp Templating temppath +Tencent +Terje +testcase testexampleinstaller -textarea +testframework +testsuite +textflow +textflowcpp thiscouldbeapc +THL +Thorson threehundred timezone Tlg tombstoned TOptions -tpl +tostring TProgress +Trampo transitioning TResult trimstart +tristanpenman +TRO +Truta TState TStatus -typeof +TWOBLUECUBES +Typedefs typeparam -ubuntu +typeresolution UCase ucasemap UChars ucnv uec -uild -uintptr -ul +uimports +ulp +UNDNAME +UNDOCKEDREGFREEWINRT +unices +uninit uninitialize uninstallation uninstaller uninstallprevious uninstalls +unistd unknwn +Unmap unparsable -UNSCOPED +Unrecognised +Unstreamable +UNSUPPRESS +untestd unvirtualized UParse +upgradable upgradecode -UPSERT -uris -URLs URLZONE +URng +usenix +userdata userfilesetting +Usermode userprofile -USHORT -utils -uuid UWP +UXTB +UXTH +Vainstein VALUENAMECASE +VARGS +VCRT +vec VERSI VERSIE -virtualization +VERSIONHELPERAPI +VFMADD +Viewbox +Virt vns -vscode -vy -wcslen +Vollant +vsconfig +vtables +webdocs webpages Webserver -website +websites WERSJA wesome +WFE +WFI Whatif windir windowsdeveloper winerror wingetcreate wingetdev +wingetutil +winimage +WINNT winreg winrtact +winrtactlibx +winrtactx +winstring +winver withstarts -wn -Workflows +Wojciech +woot +Wparentheses +wrfsbase +wrgsbase +WRITECOMBINE +WRITECOPY wsl +wstr wsv wto +Wvvvv wwinmain +Wxxxxxxxxxxxxxxxxxxxxx WZDNCRFJ +xar +XBEGIN +XBTS +XCode XFile +XLAT +xmllite +xmlwriter +xmm +xop XPLATSTR xsi +xxxx +xxxxxxx +xxxxxxxx +xxxxxxxxxxx +xxxxxxxxxxxx +xxxxxxxxxxxxxx +xxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxx +xxxxxxxxxxxxxxxxxxxxxxxxxx yamlcreateps yao -ype +Yasuhiro +ycombinator +yperesolution +zalloc Zanollo +zbsm +zfree ZIPHASH -zy diff --git a/.github/actions/spelling/line_forbidden.patterns b/.github/actions/spelling/line_forbidden.patterns index 254230547a..9050d6614c 100644 --- a/.github/actions/spelling/line_forbidden.patterns +++ b/.github/actions/spelling/line_forbidden.patterns @@ -1,6 +1,11 @@ # reject `m_data` as there's a certain OS which has evil defines that break things if it's used elsewhere # \bm_data\b +# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test, +# you might not want to check in code where you were debugging w/ `fit()`, in which case, you might want +# to use this: +#\bfit\( + # s.b. GitHub \bGithub\b @@ -19,6 +24,12 @@ # s.b. greater than \bgreater then\b +# s.b. into +#\sin to\s + +# s.b. opt-in +#\sopt in\s + # s.b. less than \bless then\b @@ -30,19 +41,22 @@ \b[Nn]o[nt][- ]existent\b # s.b. preexisting -[Pp]re-existing +[Pp]re[- ]existing # s.b. preempt -[Pp]re-empt\b +[Pp]re[- ]empt\b # s.b. preemptively -[Pp]re-emptively +[Pp]re[- ]emptively # s.b. reentrancy -[Rr]e-entrancy +[Rr]e[- ]entrancy # s.b. reentrant -[Rr]e-entrant +[Rr]e[- ]entrant + +# s.b. workaround(s) +#\bwork[- ]arounds?\b # Reject duplicate words \s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s diff --git a/.github/actions/spelling/patterns.txt b/.github/actions/spelling/patterns.txt index 03e0f88b48..3e52a5c371 100644 --- a/.github/actions/spelling/patterns.txt +++ b/.github/actions/spelling/patterns.txt @@ -25,11 +25,16 @@ El proyecto .* diferentes # Slash-prefixed patterns \\native(?![a-z]) +\\Release /NPH(?![a-z]) /td(?![a-z]) +# .gitignore +^\[[\w/[\]*.]*$ + # compile flags - -[TD] + -D(?=[A-Z]{2,}|[cgl][a-z]+) + -T(?=h[a-z]{2,}) # URLs -- Added here instead of allow.txt to facilitate wildcarding them as more are added http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer @@ -67,6 +72,43 @@ REQUIRE\(RestHelper::GetRestAPIBaseUri\(".*"\) == L".*" (?:^|[\t ,"'`=(])-[l](?!og) (?:^|[\t ,"'`=(])-[f](?!ind|eatures) +# Automatically suggested patterns +# hit-count: 30 file-count: 4 +# version suffix v# +(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) + +# hit-count: 4 file-count: 4 +# Non-English +[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]* + +# hit-count: 3 file-count: 3 +# tar arguments +\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ + +# hit-count: 3 file-count: 2 +# mailto urls +mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} + +# hit-count: 2 file-count: 1 +# data url +data:[-a-zA-Z=;:/0-9+]*,\S* + +# hit-count: 2 file-count: 1 +# stackexchange -- https://stackexchange.com/feeds/sites +\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/) + +# hit-count: 1 file-count: 1 +# Google Groups +\bgroups\.google\.com/(?:(?:forum/#!|d/)(?:msg|topics?|searchin)|a)/[^/\s"]+/[-a-zA-Z0-9$]+(?:/[-a-zA-Z0-9]+)* + +# hit-count: 1 file-count: 1 +# githubusercontent +/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* + +# hit-count: 1 file-count: 1 +# Wikipedia +\ben\.wikipedia\.org/wiki/[-\w%.#]+ + # hit-count: 4 file-count: 2 # w3 \bw3\.org/[-0-9a-zA-Z/#.]+ @@ -91,13 +133,30 @@ GHSA(?:-[0-9a-z]{4}){3} # hex digits including css/html color classes: (?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9a-fA-FgGrR_]{2,}(?:[uUlL]{0,3}|u\d+)\b +# first-letter-bracketed-remainder +\b\w\[[A-Za-z]{3,}\] + +# test +ReplaceWhileCopying\(L.*\) + # acceptable duplicates # ls directory listings [-bcdlpsw](?:[-r][-w][-sx]){3}\s+\d+\s+(\S+)\s+\g{-1}\s+\d+\s+ # C types \s(Architecture|long|LONG) \g{-1}\s + +# C types and repeated CSS values +\s(center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s +# 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 +# Commit message -- Signed-off-by and friends +^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$ + +# Autogenerated revert commit message +^This reverts commit [0-9a-f]{40}\.$ + # ignore long runs of a single character: \b([A-Za-z])\g{-1}{3,}\b diff --git a/.github/workflows/spelling2.yml b/.github/workflows/spelling2.yml index 0c923d21aa..c5f1ec812d 100644 --- a/.github/workflows/spelling2.yml +++ b/.github/workflows/spelling2.yml @@ -1,48 +1,16 @@ -# spelling.yml is blocked per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-g86g-chm8-7r2p -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: check-spelling - id: spelling - uses: check-spelling/check-spelling@v0.0.20 - with: - 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 }} +# spelling.yml is disabled per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-p8r9-69g4-jwqq +name: Workflow should not run! +on: + push: + branches: '' + +jobs: + placeholder: + name: Should be disabled + runs-on: ubuntu-latest + if: false + steps: + - name: Task + run: | + echo 'Running this task would be bad' + exit 1 diff --git a/.github/workflows/spelling3.yml b/.github/workflows/spelling3.yml new file mode 100644 index 0000000000..1841e2437c --- /dev/null +++ b/.github/workflows/spelling3.yml @@ -0,0 +1,124 @@ +# spelling.yml is blocked per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-g86g-chm8-7r2p +# spelling2.yml is blocked per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-p8r9-69g4-jwqq + +name: Check Spelling + +# Comment management is handled through a secondary job, for details see: +# 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 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 +# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment) +# it needs `pull-requests: write` in order to manipulate those comments. + +# Updating pull request branches is managed via comment handling. +# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list +# +# These elements work together to make it happen: +# +# `on.issue_comment` +# This event listens to comments by users asking to update the metadata. +# +# `jobs.update` +# This job runs in response to an issue_comment and will push a new commit +# to update the spelling metadata. +# +# `with.experimental_apply_changes_via_bot` +# Tells the action to support and generate messages that enable it +# to make a commit to update the spelling metadata. +# +# `with.ssh_key` +# In order to trigger workflows when the commit is made, you can provide a +# secret (typically, a write-enabled github deploy key). +# +# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key + +on: + push: + branches: + - "**" + tags-ignore: + - "**" + pull_request_target: + branches: + - "**" + tags-ignore: + - "**" + types: + - 'opened' + - 'reopened' + - 'synchronize' + +jobs: + spelling: + name: Check Spelling + 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: check-spelling + id: spelling + uses: check-spelling/check-spelling@v0.0.21 + with: + suppress_push_for_open_pull_request: 1 + checkout: true + check_file_names: 1 + spell_check_this: check-spelling/spell-check-this@prerelease + post_comment: 0 + use_magic_file: 1 + extra_dictionary_limit: 10 + extra_dictionaries: + cspell:software-terms/src/software-terms.txt + cspell:cpp/src/stdlib-c.txt + cspell:node/node.txt + cspell:mnemonics/src/mnemonics.txt + cspell:cpp/src/stdlib-cpp.txt + cspell:html/html.txt + cspell:fullstack/fullstack.txt + cspell:filetypes/filetypes.txt + cspell:cpp/src/stdlib-cmath.txt + cspell:aws/aws.txt + + comment-push: + name: Report (Push) + # If your workflow isn't running on push, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + contents: write + if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' + steps: + - name: comment + uses: check-spelling/check-spelling@v0.0.21 + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} + + comment-pr: + name: Report (PR) + # If you workflow isn't running on pull_request*, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + 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 + with: + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} diff --git a/NOTICE.txt b/NOTICE.txt index cc5647f2a7..4f2a8f6347 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1157,7 +1157,7 @@ Copyright (c) 2006-2013 Alexander Chemeris Copyright (c) The Internet Society (2005). Copyright (c) The Internet Society (2006). copyright 2009-2013 Christopher M. Kohlhoff -Copyright (c) 2016, Akamai Technolgies, Inc. +Copyright (c) 2016, Akamai Technologies, Inc. Copyright (c) 2011 - 2012 Andrzej Krzemienski. Copyright (c) 2003-2013 Christopher M. Kohlhoff Copyright (c) 2009-2013 Christopher M. Kohlhoff @@ -1173,7 +1173,7 @@ Copyright (c) 2007-2010 by Baptiste Lepilleur and The JsonCpp Authors Copyright (c) 2008-2009 Bjoern Hoehrmann sa http://bjoern.hoehrmann.de/utf-8/decoder/dfa Copyright (c) 2016, Tristan Penman -Copyright (c) 2016, Akamai Technolgies, Inc. +Copyright (c) 2016, Akamai Technologies, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/azure-pipelines.loc.yml b/azure-pipelines.loc.yml index 261c46873c..12cfcea94f 100644 --- a/azure-pipelines.loc.yml +++ b/azure-pipelines.loc.yml @@ -1,7 +1,7 @@ # # Localization # This pipeline uploads English strings files to the localization service, downloads any translated -# files which are available, and checks them in to git. This pipeline relies on Microsoft-internal +# files which are available, and checks them into git. This pipeline relies on Microsoft-internal # resources to run. # diff --git a/doc/specs/#929 #2334 - Improvements and behavior changes to winget install and winget upgrade flow.md b/doc/specs/#929 #2334 - Improvements and behavior changes to winget install and winget upgrade flow.md index 6e6cf2e4c6..6d6bf7ea10 100644 --- a/doc/specs/#929 #2334 - Improvements and behavior changes to winget install and winget upgrade flow.md +++ b/doc/specs/#929 #2334 - Improvements and behavior changes to winget install and winget upgrade flow.md @@ -11,7 +11,7 @@ For [#929](https://github.com/microsoft/winget-cli/issues/929), [#2334](https:// ## Abstract -This is a mini spec for describing upcoming beahvior changes and improvements to `winget install` and `winget upgrade` workflows. +This is a mini spec for describing upcoming behavior changes and improvements to `winget install` and `winget upgrade` workflows. ## Solution Design diff --git a/src/AppInstallerCLICore/Workflows/SettingsFlow.cpp b/src/AppInstallerCLICore/Workflows/SettingsFlow.cpp index bbfa21f628..59bc361c6c 100644 --- a/src/AppInstallerCLICore/Workflows/SettingsFlow.cpp +++ b/src/AppInstallerCLICore/Workflows/SettingsFlow.cpp @@ -90,7 +90,7 @@ namespace AppInstaller::CLI::Workflow // Some versions of windows will fail if no file extension association exists, other will pop up the dialog // to make the user pick their default. - // Kudos to the terminal team for this work around. + // Kudos to the terminal team for this workaround. HINSTANCE res = ShellExecuteW(nullptr, nullptr, filePathUTF16.c_str(), nullptr, nullptr, SW_SHOW); if (static_cast(reinterpret_cast(res)) <= 32) { diff --git a/src/AppInstallerCLIE2ETests/UninstallCommand.cs b/src/AppInstallerCLIE2ETests/UninstallCommand.cs index 61a15dacbb..8ae6049aa0 100644 --- a/src/AppInstallerCLIE2ETests/UninstallCommand.cs +++ b/src/AppInstallerCLIE2ETests/UninstallCommand.cs @@ -136,7 +136,7 @@ public void UninstallZip_Portable() commandAlias = "TestPortable.exe"; fileName = "AppInstallerTestExeInstaller.exe"; - var testreuslt = TestCommon.RunAICLICommand("install", $"{packageId}"); + var testResult = TestCommon.RunAICLICommand("install", $"{packageId}"); var result = TestCommon.RunAICLICommand("uninstall", $"{packageId}"); Assert.AreEqual(Constants.ErrorCode.S_OK, result.ExitCode); Assert.True(result.StdOut.Contains("Successfully uninstalled")); diff --git a/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.cpp b/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.cpp index 7a5bb431b5..6a3150df35 100644 --- a/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.cpp +++ b/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.cpp @@ -28,7 +28,7 @@ namespace AppInstaller::Utility::HttpStream FindCachePages(requestedPosition, requestedSize, allPages, unsatisfiablePages); // download the missing pages - co_await DownloadAndSaveToCacheAysnc( + co_await DownloadAndSaveToCacheAsync( unsatisfiablePages, httpClientWrapper, httpInputStreamOptions); @@ -145,7 +145,7 @@ namespace AppInstaller::Utility::HttpStream // Downloads a chunk of the file, saves it to the cache, and returns the corresponding buffer // If the requested size is 0, this method returns an empty buffer without making HTTP calls - std::future HttpLocalCache::DownloadAndSaveToCacheAysnc( + std::future HttpLocalCache::DownloadAndSaveToCacheAsync( const std::vector unsatisfiablePages, HttpClientWrapper* httpClientWrapper, InputStreamOptions httpInputStreamOptions) diff --git a/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.h b/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.h index 51a57758ff..9484f36a52 100644 --- a/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.h +++ b/src/AppInstallerCommonCore/HttpStream/HttpLocalCache.h @@ -47,7 +47,7 @@ namespace AppInstaller::Utility::HttpStream void VacateStaleEntriesFromCache(); - std::future DownloadAndSaveToCacheAysnc( + std::future DownloadAndSaveToCacheAsync( const std::vector unsatisfiablePages, HttpClientWrapper* httpClientWrapper, const winrt::Windows::Storage::Streams::InputStreamOptions httpInputStreamOptions); diff --git a/src/AppInstallerRepositoryCore/InstallerMetadataCollectionContext.cpp b/src/AppInstallerRepositoryCore/InstallerMetadataCollectionContext.cpp index 39fd84cf2d..5b952cd624 100644 --- a/src/AppInstallerRepositoryCore/InstallerMetadataCollectionContext.cpp +++ b/src/AppInstallerRepositoryCore/InstallerMetadataCollectionContext.cpp @@ -69,7 +69,7 @@ namespace AppInstaller::Repository::Metadata struct DiagnosticFields { - // Eerror case + // Error case utility::string_t ErrorHR = L"errorHR"; utility::string_t ErrorText = L"errorText"; diff --git a/src/AppInstallerRepositoryCore/Public/winget/ARPCorrelation.h b/src/AppInstallerRepositoryCore/Public/winget/ARPCorrelation.h index 7ca92ca72f..c2b7ff22ae 100644 --- a/src/AppInstallerRepositoryCore/Public/winget/ARPCorrelation.h +++ b/src/AppInstallerRepositoryCore/Public/winget/ARPCorrelation.h @@ -86,7 +86,7 @@ namespace AppInstaller::Repository::Correlation // Allows callers finer control over how the correlation result will be chosen. // The values appear in order of their application in the correlation algorithm, meaning that a later - // setting that is set to true can be pre-empted by an earlier setting, if a correlation occurs with the + // setting that is set to true can be preempted by an earlier setting, if a correlation occurs with the // earlier setting. // The default values are chosen to reflect what is used after an install on a consumer system. struct ARPCorrelationSettings diff --git a/src/WinGetYamlFuzzing/README.md b/src/WinGetYamlFuzzing/README.md index c8a626e198..6c9392a614 100644 --- a/src/WinGetYamlFuzzing/README.md +++ b/src/WinGetYamlFuzzing/README.md @@ -2,7 +2,7 @@ The goal of this project is to create a [libFuzzer](http://llvm.org/docs/LibFuzzer.html) based fuzzer for our YAML manifest parsing. ## Issues -There is a known issue that is fixed in LLVM 12 for running on Windows, and the only known method to build a successful fuzzer is to manually build a local copy of libFuzzer and link it in to this project. +There is a known issue that is fixed in LLVM 12 for running on Windows, and the only known method to build a successful fuzzer is to manually build a local copy of libFuzzer and link it into this project. ## Building