Skip to content

Refresh check-spelling metadata for v0.0.26#20141

Open
jsoref wants to merge 73 commits intomicrosoft:mainfrom
jsoref:refresh-check-spelling-v0.0.26
Open

Refresh check-spelling metadata for v0.0.26#20141
jsoref wants to merge 73 commits intomicrosoft:mainfrom
jsoref:refresh-check-spelling-v0.0.26

Conversation

@jsoref
Copy link
Copy Markdown
Contributor

@jsoref jsoref commented Apr 24, 2026

Summary of the Pull Request

This is a refresh of spell-check-this, more or less as of https://github.com/check-spelling/spell-check-this/tree/e089393b4e834a8b44d585e684f06d5642537818.

References and Relevant Issues

A number of changes take advantage of features from http://github.com/check-spelling/check-spelling/releases/v0.0.26

  1. load-config-from will allow future PRs to switch cleanly w/o the mess that this PR has -- once this merges, the config.json file will be used for the three dictionary configuration elements instead of the ones in the workflow.
  2. contents: read is no longer needed by the comment jobs as the data is provided by the main job

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

check-spelling-sandbox#7 (comment) (I integrated the changes it complained about)

PR Checklist

  • Closes #xxx
  • Tests added/passed
  • Documentation updated
    • If checked, please file a pull request on our docs repo and link it here: #xxx
  • Schema updated (if necessary)

jsoref added 30 commits April 23, 2026 23:50
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
jsoref added 22 commits April 23, 2026 23:51
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
ILCo
ILD
ime
IMEs
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't worry too much about these, after this is merged I'll make another PR that cleans things out (and not the way it's suggesting).

lpwstr
LRESULT
lsb
LSBs
prg
pri
prioritization
PRIs
@@ -0,0 +1,40 @@
Ccc
changelists
pri
prioritization
rcv
screenshots
@jsoref jsoref force-pushed the refresh-check-spelling-v0.0.26 branch from ec96089 to 85208b4 Compare April 24, 2026 04:36
Switch from using inline config for dictionaries to `config.json`
This allows PRs to change these settings which enables smoother upgrades
@jsoref jsoref force-pushed the refresh-check-spelling-v0.0.26 branch from 85208b4 to e253dbc Compare April 24, 2026 04:36
Copy link
Copy Markdown
Contributor Author

@jsoref jsoref left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've had this in progress for a while...

Comment on lines +1 to +2
changelists
screenshots
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these items could be removed later (items in expect will eventually cover them)

@@ -0,0 +1,40 @@
Ccc
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be possible to delete this file after merging, although it may require an update to config.json to pull in a different set of dictionaries. I'll have to revisit that later...

Comment on lines +3 to +5
"asm": "https://raw.githubusercontent.com/check-spelling/assembly-dictionaries/20231110/",
"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20241114/dictionaries/",
"census": "https://raw.githubusercontent.com/check-spelling-sandbox/census/dictionaries-d90e686f89dd241ad61d30f26619e54d73e73c6e/dictionaries/"
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

asm and census are new things that I've been using for a bit in spell-check-this, but haven't shipped as core to check-spelling. For most repositories, census is pretty amazing.

This PR doesn't precisely pull them in, but at least census would be suggested.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wow, what is census? A list of commonly-used but otherwise "spelled incorrectly" words? I see xargs is on the list, but also vvv

Comment on lines +8 to +37
"cspell:software-terms/softwareTerms.txt",
"cspell:cpp/stdlib-cpp.txt",
"cspell:cpp/stdlib-c.txt",
"cspell:python/python/python-lib.txt",
"cspell:php/php.txt",
"cspell:node/node.txt",
"cspell:dart/dart.txt",
"cspell:filetypes/filetypes.txt",
"cspell:java/java.txt",
"cspell:css/css.txt",
"cspell:dotnet/dotnet.txt",
"cspell:npm/npm.txt",
"cspell:fullstack/fullstack.txt",
"cspell:java/java-terms.txt",
"cspell:r/r.txt",
"cspell:golang/go.txt",
"cspell:cpp/stdlib-cmath.txt",
"cspell:typescript/typescript.txt",
"cspell:html/html.txt",
"cspell:cpp/compiler-msvc.txt",
"cspell:django/django.txt",
"cspell:aws/aws.txt",
"cspell:python/common/extra.txt",
"cspell:cpp/ecosystem.txt",
"cspell:cpp/lang-keywords.txt",
"cspell:csharp/csharp.txt",
"cspell:cpp/compiler-clang-attributes.txt",
"cspell:python/python/python.txt",
"cspell:mnemonics/mnemonics.txt",
"cspell:powershell/powershell.txt",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the set of dictionaries that are currently used in the workflow. A future commit can switch them to a different set.

For reference, here's the set that check-spelling wants to use (roughly in the order that it suggested items):

Suggested change
"cspell:software-terms/softwareTerms.txt",
"cspell:cpp/stdlib-cpp.txt",
"cspell:cpp/stdlib-c.txt",
"cspell:python/python/python-lib.txt",
"cspell:php/php.txt",
"cspell:node/node.txt",
"cspell:dart/dart.txt",
"cspell:filetypes/filetypes.txt",
"cspell:java/java.txt",
"cspell:css/css.txt",
"cspell:dotnet/dotnet.txt",
"cspell:npm/npm.txt",
"cspell:fullstack/fullstack.txt",
"cspell:java/java-terms.txt",
"cspell:r/r.txt",
"cspell:golang/go.txt",
"cspell:cpp/stdlib-cmath.txt",
"cspell:typescript/typescript.txt",
"cspell:html/html.txt",
"cspell:cpp/compiler-msvc.txt",
"cspell:django/django.txt",
"cspell:aws/aws.txt",
"cspell:python/common/extra.txt",
"cspell:cpp/ecosystem.txt",
"cspell:cpp/lang-keywords.txt",
"cspell:csharp/csharp.txt",
"cspell:cpp/compiler-clang-attributes.txt",
"cspell:python/python/python.txt",
"cspell:mnemonics/mnemonics.txt",
"cspell:powershell/powershell.txt",
"cspell:software-terms/softwareTerms.txt",
"cspell:cpp/stdlib-c.txt",
"census:census-5.txt",
"cspell:cpp/stdlib-cpp.txt",
"cspell:python/python/python-lib.txt",
"cspell:php/php.txt",
"cspell:dart/dart.txt",
"cspell:css/css.txt",
"cspell:node/node.txt",
"cspell:filetypes/filetypes.txt",
"cspell:npm/npm.txt",
"cspell:java/java.txt",
"cspell:dotnet/dotnet.txt",
"cspell:fullstack/fullstack.txt",
"cspell:java/java-terms.txt",
"cspell:cpp/stdlib-cmath.txt",
"cspell:typescript/typescript.txt",
"cspell:cpp/compiler-msvc.txt",
"cspell:python/common/extra.txt",
"cspell:html/html.txt",
"cspell:golang/go.txt",
"cspell:cpp/ecosystem.txt",
"cspell:powershell/powershell.txt",
"cspell:mnemonics/mnemonics.txt",

This change could be done in the next PR (but can't be done in this PR w/o getting check-spelling upset).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for staging all this

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.pull_request.state == 'open') || github.event_name == 'push' }}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is mostly for a feature that isn't active for this repository (checking spelling of PR title/description), but it's harmless.

Comment on lines -148 to +161
runs-on: ubuntu-latest
runs-on: ubuntu-slim
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the comment phase no longer needs a checkout and now does very little work, so it doesn't need a full runner.

Comment on lines -190 to +203
contains(github.event.comment.body, '@check-spelling-bot apply') &&
contains(github.event.comment.body, '@check-spelling-bot') &&
contains(github.event.comment.body, 'apply') &&
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this allows copying the message from github step summary which tends to get extra markdown markup...

Comment thread .vscode/settings.json
"**/packages/**": true,
},
} No newline at end of file
"sarif-viewer.connectToGithubCodeScanning": "on",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VS Code made me do it


*Potential future:*
- ~~If no updated console exists, potentially check for registration of a terminal UX that is willing to use the inbox ConPTY bits, start it, and transition to being a PTY instead.~~
- ~~If no updated console exists, potentially check for registration of a terminal UX that is willing to use the inbox ConPTY bits, start it, and transition to being a PTY instead.~~
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VS Code did this (and many others)

Comment on lines -108 to -113
check_extra_dictionaries: ""
dictionary_source_prefixes: >
allow-hunspell: false
load-config-from: |
{
"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20241114/dictionaries/"
"pr-base-keys": [
""
],
"pr-trusted-keys": [
"check_extra_dictionaries",
"dictionary_source_prefixes",
"extra_dictionaries",
""
],
"": []
}
extra_dictionaries: |
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dictionary configuration has moved to config.json to allow smooth upgrades (changing dictionaries as part of a PR).

The allow-hunspell flag is a safety bit. It's a third-party library and this repository doesn't need to use foreign language dictionaries via hunspell.

Copy link
Copy Markdown
Member

@DHowett DHowett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again a second time1, so much, for doing this. Only a few notes.

Footnotes

  1. since it appears that we preferred "a second time" over "again" in ten places :P

\$\d\$[A-ZA-z]

# src/cascadia/TerminalSettingsEditor/Appearances.cpp
// Pwease call.*
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LOL. I'm guessing Leonard wrote this

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YUP 475b387

Comment on lines +8 to +37
"cspell:software-terms/softwareTerms.txt",
"cspell:cpp/stdlib-cpp.txt",
"cspell:cpp/stdlib-c.txt",
"cspell:python/python/python-lib.txt",
"cspell:php/php.txt",
"cspell:node/node.txt",
"cspell:dart/dart.txt",
"cspell:filetypes/filetypes.txt",
"cspell:java/java.txt",
"cspell:css/css.txt",
"cspell:dotnet/dotnet.txt",
"cspell:npm/npm.txt",
"cspell:fullstack/fullstack.txt",
"cspell:java/java-terms.txt",
"cspell:r/r.txt",
"cspell:golang/go.txt",
"cspell:cpp/stdlib-cmath.txt",
"cspell:typescript/typescript.txt",
"cspell:html/html.txt",
"cspell:cpp/compiler-msvc.txt",
"cspell:django/django.txt",
"cspell:aws/aws.txt",
"cspell:python/common/extra.txt",
"cspell:cpp/ecosystem.txt",
"cspell:cpp/lang-keywords.txt",
"cspell:csharp/csharp.txt",
"cspell:cpp/compiler-clang-attributes.txt",
"cspell:python/python/python.txt",
"cspell:mnemonics/mnemonics.txt",
"cspell:powershell/powershell.txt",
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for staging all this

Comment on lines +3 to +5
"asm": "https://raw.githubusercontent.com/check-spelling/assembly-dictionaries/20231110/",
"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20241114/dictionaries/",
"census": "https://raw.githubusercontent.com/check-spelling-sandbox/census/dictionaries-d90e686f89dd241ad61d30f26619e54d73e73c6e/dictionaries/"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wow, what is census? A list of commonly-used but otherwise "spelled incorrectly" words? I see xargs is on the list, but also vvv


We'll provide a setting that will allow the list of tabs to be presented in either _in-order_ (how the tabs are ordered on the tab bar), or _Most Recently Used Order_ (MRU). MRU means that the tab that the terminal most recently visited will be on the top of the list, and the tab that the terminal has not visited for the longest time will be on the bottom.

There will be an argument for the `openTabSwitcher` action called `displayOrder`. This can be either `inOrder` or `mruOrder`. Making the setting an argument passed into `openTabSwitcher` would allow the user to have one keybinding to open an MRU Tab Switcher, and different one for the In-Order Tab Switcher. For example:
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wow, what patten caught this? "-ing the -ing" or something like that?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, it was the article-word-article thing (the (...) an)

3. Updating conhost.exe to look up the launch preference and/or to launch another console host via a protocol handler
- This would allow the `C:\windows\system32\conhost.exe` to effectively delegate the session to another `conhost.exe` that is hopefully newer than the inbox one. Given that the driver protocol in the box doesn't change and hasn't changed and we don't intend to change it, the forward/backward compatibility story is great here. Additionally, if for whatever reason the delegated `conhost.exe` fails to launch, we can just fall back and launch the old one like we would have prior to the change. It is significantly more likely, but still challenging, to argue for servicing `conhost.exe` back several versions in Windows to make this light up better for all folks. It might be especially more possible if it is a very targeted code snippet that can drop in to all the old versions of the `conhost.exe` code. We would still have the argument about spending resources developing for OS versions that are supposed to be dropped in favor of latest, but it's still a lesser argument than upending all of `kernelbase.dll`.
- A protocol handler is also well understood and relatively well handled/tested in Windows. Old apps can handle protocols. New apps can handle protocols. Protocol handlers can take arguments. We don't have to lean on any other team to get them to help change the way the rest of the OS works.
- A protocol handler is also well understood and relatively well handled/tested in Windows. Old apps can handle protocols. New apps can handle protocols. Protocol handlers can take arguments. We don't have to lean on any other team to get them to help change the way that rest of the OS works.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this one seems wrong. perhaps:

Suggested change
- A protocol handler is also well understood and relatively well handled/tested in Windows. Old apps can handle protocols. New apps can handle protocols. Protocol handlers can take arguments. We don't have to lean on any other team to get them to help change the way that rest of the OS works.
- A protocol handler is also well understood and relatively well handled/tested in Windows. Old apps can handle protocols. New apps can handle protocols. Protocol handlers can take arguments. We don't have to lean on any other team to get them to help change the way that the rest of the OS works.

(also fixed an errant space)

Comment on lines 2355 to +2356
// If we DON'T have a color set from the color picker, or the profile's
// tabColor, but we do have a unfocused color in the theme, use the
// tabColor, but if we have an unfocused color in the theme, use the
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

("if we don't have .. but we do have .." seems cromulent, but I'm OK with this lateral move in clarity)


// we have to do some post-handling to get the proper socket endpoint
// the logic here is based on the way the cloud shell team itself does it
// the logic here is based on the way that cloud shell team itself does it
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// the logic here is based on the way that cloud shell team itself does it
// the logic here is based on the way the cloud shell team itself does it

revert recommendation; this one is wrong

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or move to "that the"

Suggested change
// the logic here is based on the way that cloud shell team itself does it
// the logic here is based on the way that the cloud shell team itself does it

<!--
Microsoft ResX Schema
<!--
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unfortunately, even though VS Code did this, these blocks will need to be reverted; otherwise, they'll just get overwritten by the localization pipeline or the next eprson to touch the english resource file again later (and cloud up the diffs)

(Visual Studio is particular about the spaces here, for some ungodly unknown reason, and they won't fix it.)

FWIW, if you leave all the non-en-US resource files alone our automatic loc pipeline will propagate the comment changes; however, it will also fail spell-check until it does so (so, hmm.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the files were ignored by check-spelling. I'm pretty sure I asked VS Code to do the search and replace instead of using my tooling. I mostly regret that choice.

:: Complete matrix of SGR parameters available
:: This definition also demonstrates the various configuration changes
:: which are used to control the way the table is generated
:: which are used to control the way that table is generated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think these only make sense as "that table" if the language above referred to a table; perhaps "that the table"? (same for ansi-color/sgr.def)

@microsoft-github-policy-service microsoft-github-policy-service Bot added Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants