Copy disabled (too large)
Download .txt
Showing preview only (49,952K chars total). Download the full file to get everything.
Repository: microsoft/PowerToys
Branch: main
Commit: 4dfdf46e0db6
Files: 6672
Total size: 46.1 MB
Directory structure:
gitextract_logsomee/
├── .config/
│ ├── configuration.vsEnterprise.winget
│ ├── configuration.vsProfessional.winget
│ ├── configuration.winget
│ └── dotnet-tools.json
├── .gitattributes
├── .github/
│ ├── CODEOWNERS
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ ├── config.yml
│ │ ├── documentation-issue.yml
│ │ ├── feature_request.yml
│ │ └── translation_issue.yml
│ ├── actions/
│ │ └── spell-check/
│ │ ├── README.md
│ │ ├── advice.md
│ │ ├── allow/
│ │ │ ├── code.txt
│ │ │ ├── names.txt
│ │ │ └── zoomit.txt
│ │ ├── candidate.patterns
│ │ ├── excludes.txt
│ │ ├── expect.txt
│ │ ├── line_forbidden.patterns
│ │ ├── patterns.txt
│ │ └── reject.txt
│ ├── copilot-instructions.md
│ ├── copilot-workspace/
│ │ └── policy.json
│ ├── dependabot.yml
│ ├── instructions/
│ │ ├── agent-skills.instructions.md
│ │ ├── agents.instructions.md
│ │ ├── azure-devops-pipelines.instructions.md
│ │ ├── common-libraries.instructions.md
│ │ ├── instructions.instructions.md
│ │ ├── prompt.instructions.md
│ │ ├── runner-settings-ui.instructions.md
│ │ └── typescript-mcp-server.instructions.md
│ ├── policies/
│ │ └── resourceManagement.yml
│ ├── prompts/
│ │ ├── create-commit-title.prompt.md
│ │ ├── create-pr-summary.prompt.md
│ │ ├── fix-issue.prompt.md
│ │ ├── fix-pr-active-comments.prompt.md
│ │ ├── fix-spelling.prompt.md
│ │ ├── review-issue.prompt.md
│ │ └── review-pr.prompt.md
│ ├── pull_request_template.md
│ ├── review-tools/
│ │ ├── Get-GitHubPrFilePatch.ps1
│ │ ├── Get-GitHubRawFile.ps1
│ │ ├── Get-PrIncrementalChanges.ps1
│ │ ├── Test-IncrementalReview.ps1
│ │ └── review-tools.instructions.md
│ ├── skills/
│ │ ├── release-note-generation/
│ │ │ ├── LICENSE.txt
│ │ │ ├── SKILL.md
│ │ │ ├── references/
│ │ │ │ ├── SampleOutput.md
│ │ │ │ ├── step1-collection.md
│ │ │ │ ├── step2-labeling.md
│ │ │ │ ├── step3-review-grouping.md
│ │ │ │ └── step4-summarization.md
│ │ │ └── scripts/
│ │ │ ├── apply-labels.ps1
│ │ │ ├── collect-or-apply-milestones.ps1
│ │ │ ├── diff_prs.ps1
│ │ │ ├── dump-prs-since-commit.ps1
│ │ │ ├── find-commit-by-title.ps1
│ │ │ └── group-prs-by-label.ps1
│ │ ├── winmd-api-search/
│ │ │ ├── LICENSE.txt
│ │ │ ├── SKILL.md
│ │ │ └── scripts/
│ │ │ ├── Invoke-WinMdQuery.ps1
│ │ │ ├── Update-WinMdCache.ps1
│ │ │ └── cache-generator/
│ │ │ ├── CacheGenerator.csproj
│ │ │ ├── Directory.Build.props
│ │ │ ├── Directory.Build.targets
│ │ │ ├── Directory.Packages.props
│ │ │ └── Program.cs
│ │ └── wpf-to-winui3-migration/
│ │ ├── SKILL.md
│ │ └── references/
│ │ ├── imaging-migration.md
│ │ ├── namespace-api-mapping.md
│ │ ├── powertoys-patterns.md
│ │ ├── threading-and-windowing.md
│ │ └── xaml-migration.md
│ └── workflows/
│ ├── automatic-issue-deduplication.yml
│ ├── dependency-review.yml
│ ├── manual-batch-issue-deduplication.yml
│ ├── msstore-submissions.yml
│ ├── package-submissions.yml
│ └── spelling2.yml
├── .gitignore
├── .gitmodules
├── .pipelines/
│ ├── 272MSSharedLibSN2048.snk
│ ├── CIPolicy.xml
│ ├── ESRPSigning_DSC.json
│ ├── ESRPSigning_cmdpal_msix_content.json
│ ├── ESRPSigning_core.json
│ ├── ESRPSigning_sdk.json
│ ├── InstallWinAppDriver.ps1
│ ├── UpdateVersions.ps1
│ ├── applyXamlStyling.ps1
│ ├── generateDscManifests.ps1
│ ├── installPowertoys.ps1
│ ├── loc/
│ │ └── loc.yml
│ ├── packages.config
│ ├── release-nuget.config
│ ├── tsa.json
│ ├── v2/
│ │ ├── ci-nightly.yml
│ │ ├── ci-test-with-canary-webview2.yml
│ │ ├── ci-using-the-latest-winappsdk.yml
│ │ ├── ci.yml
│ │ ├── oneFuzz.yml
│ │ ├── release.yml
│ │ └── templates/
│ │ ├── job-build-project.yml
│ │ ├── job-build-sdk.yml
│ │ ├── job-build-ui-tests.yml
│ │ ├── job-fuzz.yml
│ │ ├── job-publish-symbols-using-symbolrequestprod-api.yml
│ │ ├── job-test-project.yml
│ │ ├── pipeline-ci-build.yml
│ │ ├── pipeline-ui-tests-automation.yml
│ │ ├── pipeline-ui-tests-full-build.yml
│ │ ├── pipeline-ui-tests-official-build.yml
│ │ ├── steps-build-installer-vnext.yml
│ │ ├── steps-download-artifacts-with-azure-cli.yml
│ │ ├── steps-ensure-dotnet-version.yml
│ │ ├── steps-ensure-nuget-version.yml
│ │ ├── steps-esrp-sign-files-authenticode.yml
│ │ ├── steps-esrp-signing.yml
│ │ ├── steps-fetch-and-prepare-localizations.yml
│ │ ├── steps-restore-nuget.yml
│ │ ├── steps-setup-versioning.yml
│ │ ├── steps-update-winappsdk-and-restore-nuget.yml
│ │ └── variables-nuget-package-version.yml
│ ├── verifyAndSetLatestVCToolsVersion.ps1
│ ├── verifyArm64Configuration.ps1
│ ├── verifyCommonProps.ps1
│ ├── verifyDepsJsonLibraryVersions.ps1
│ ├── verifyNoticeMdAgainstNugetPackages.ps1
│ ├── verifyNugetPackages.ps1
│ ├── verifyPossibleAssetConflicts.ps1
│ ├── versionAndSignCheck.ps1
│ └── versionSetting.ps1
├── .vscode/
│ ├── launch.json
│ ├── mcp.json
│ ├── settings.json
│ └── tasks.json
├── .vsconfig
├── AGENTS.md
├── CODE_OF_CONDUCT.md
├── COMMUNITY.md
├── CONTRIBUTING.md
├── Cpp.Build.props
├── CppRuleSet.ruleset
├── DATA_AND_PRIVACY.md
├── Directory.Build.props
├── Directory.Build.targets
├── Directory.Packages.props
├── LICENSE
├── NOTICE.md
├── PowerToys.slnx
├── README.md
├── SECURITY.md
├── SUPPORT.md
├── deps/
│ ├── expected.props
│ └── spdlog.props
├── doc/
│ ├── devdocs/
│ │ ├── akaLinks.md
│ │ ├── cli-conventions.md
│ │ ├── commands.md
│ │ ├── common/
│ │ │ ├── FilePreviewCommon.md
│ │ │ ├── common.md
│ │ │ ├── context-menus.md
│ │ │ ├── monaco-editor.md
│ │ │ └── readme.md
│ │ ├── core/
│ │ │ ├── architecture.md
│ │ │ ├── installer.md
│ │ │ ├── runner.md
│ │ │ └── settings/
│ │ │ ├── communication-with-modules.md
│ │ │ ├── compatibility-legacy-settings.md
│ │ │ ├── dsc-configure.md
│ │ │ ├── gpo-integration.md
│ │ │ ├── hotkeycontrol.md
│ │ │ ├── project-overview.md
│ │ │ ├── readme.md
│ │ │ ├── runner-ipc.md
│ │ │ ├── settings-implementation.md
│ │ │ ├── settings-utilities.md
│ │ │ ├── telemetry.md
│ │ │ ├── ui-architecture.md
│ │ │ └── viewmodels.md
│ │ ├── development/
│ │ │ ├── debugging.md
│ │ │ ├── dev-with-vscode.md
│ │ │ ├── guidelines.md
│ │ │ ├── localization.md
│ │ │ ├── logging.md
│ │ │ ├── new-powertoy.md
│ │ │ ├── style.md
│ │ │ ├── test-winget-install-locally.md
│ │ │ └── ui-tests.md
│ │ ├── disk-usage-footprint.md
│ │ ├── embedded-msix.md
│ │ ├── events.md
│ │ ├── guidance.md
│ │ ├── logging.md
│ │ ├── modules/
│ │ │ ├── advancedpaste.md
│ │ │ ├── alwaysontop.md
│ │ │ ├── awake.md
│ │ │ ├── colorpicker.md
│ │ │ ├── commandnotfound.md
│ │ │ ├── cropandlock.md
│ │ │ ├── environmentvariables.md
│ │ │ ├── fancyzones-tools.md
│ │ │ ├── fancyzones.md
│ │ │ ├── fileexploreraddons.md
│ │ │ ├── filelocksmith.md
│ │ │ ├── hostsfileeditor.md
│ │ │ ├── imageresizer.md
│ │ │ ├── interface.md
│ │ │ ├── keyboardmanager/
│ │ │ │ ├── README.md
│ │ │ │ ├── debug.md
│ │ │ │ ├── keyboardeventhandlers.md
│ │ │ │ ├── keyboardmanager.md
│ │ │ │ ├── keyboardmanagercommon.md
│ │ │ │ └── keyboardmanagerui.md
│ │ │ ├── launcher/
│ │ │ │ ├── architecture.md
│ │ │ │ ├── debugging.md
│ │ │ │ ├── new-plugin-checklist.md
│ │ │ │ ├── plugins/
│ │ │ │ │ ├── calculator.md
│ │ │ │ │ ├── community.unitconverter.md
│ │ │ │ │ ├── community.valuegenerator.md
│ │ │ │ │ ├── folder.md
│ │ │ │ │ ├── history.md
│ │ │ │ │ ├── indexer.md
│ │ │ │ │ ├── onenote.md
│ │ │ │ │ ├── overview.md
│ │ │ │ │ ├── program.md
│ │ │ │ │ ├── registry.md
│ │ │ │ │ ├── shell.md
│ │ │ │ │ ├── system.md
│ │ │ │ │ ├── timedate.md
│ │ │ │ │ ├── uri.md
│ │ │ │ │ ├── websearch.md
│ │ │ │ │ ├── windowssettings.md
│ │ │ │ │ └── windowwalker.md
│ │ │ │ ├── project_structure.md
│ │ │ │ ├── readme.md
│ │ │ │ └── telemetry.md
│ │ │ ├── lightswitch.md
│ │ │ ├── mouseutils/
│ │ │ │ ├── findmymouse.md
│ │ │ │ ├── mousehighlighter.md
│ │ │ │ ├── mousejump.md
│ │ │ │ ├── mousepointer.md
│ │ │ │ └── readme.md
│ │ │ ├── mousewithoutborders.md
│ │ │ ├── newplus.md
│ │ │ ├── peek/
│ │ │ │ └── readme.md
│ │ │ ├── powerdisplay/
│ │ │ │ ├── design.md
│ │ │ │ └── mccsParserDesign.md
│ │ │ ├── powerrename.md
│ │ │ ├── quickaccent.md
│ │ │ ├── readme.md
│ │ │ ├── registrypreview.md
│ │ │ ├── screenruler.md
│ │ │ ├── shortcut_guide.md
│ │ │ ├── textextractor.md
│ │ │ ├── workspaces.md
│ │ │ └── zoomit.md
│ │ ├── processes/
│ │ │ ├── gpo.md
│ │ │ ├── release-process.md
│ │ │ └── update-process.md
│ │ ├── readme.md
│ │ ├── run-as-admin-detection.md
│ │ └── tools/
│ │ ├── bug-report-tool.md
│ │ ├── build-tools.md
│ │ ├── clean-up-tool.md
│ │ ├── debugging-tools.md
│ │ ├── fuzzingtesting.md
│ │ ├── monitor-info-report.md
│ │ ├── readme.md
│ │ ├── styles-report-tool.md
│ │ └── verification-scripts.md
│ ├── dsc/
│ │ ├── modules/
│ │ │ ├── AdvancedPaste.md
│ │ │ ├── AlwaysOnTop.md
│ │ │ ├── App.md
│ │ │ ├── Awake.md
│ │ │ ├── ColorPicker.md
│ │ │ ├── CropAndLock.md
│ │ │ ├── EnvironmentVariables.md
│ │ │ ├── FancyZones.md
│ │ │ ├── FileLocksmith.md
│ │ │ ├── FindMyMouse.md
│ │ │ ├── Hosts.md
│ │ │ ├── ImageResizer.md
│ │ │ ├── KeyboardManager.md
│ │ │ ├── MeasureTool.md
│ │ │ ├── MouseHighlighter.md
│ │ │ ├── MouseJump.md
│ │ │ ├── MousePointerCrosshairs.md
│ │ │ ├── Peek.md
│ │ │ ├── PowerAccent.md
│ │ │ ├── PowerOCR.md
│ │ │ ├── PowerRename.md
│ │ │ ├── RegistryPreview.md
│ │ │ ├── ShortcutGuide.md
│ │ │ ├── Workspaces.md
│ │ │ └── ZoomIt.md
│ │ ├── overview.md
│ │ └── settings-resource.md
│ ├── gpo/
│ │ └── README.md
│ ├── images/
│ │ └── icons/
│ │ └── PowerToys icon/
│ │ └── AI/
│ │ └── PowerToys_UWP_Assets.ai
│ ├── planning/
│ │ ├── FancyZonesBacklog.md
│ │ ├── PowerToysBacklog.md
│ │ ├── ShortcutGuideBacklog.md
│ │ └── awake.md
│ ├── specs/
│ │ ├── FancyZones-DCR.md
│ │ ├── SCOOBE.md
│ │ ├── readme.md
│ │ └── settings-search.md
│ ├── thirdPartyRunPlugins.md
│ └── unofficialInstallMethods.md
├── installer/
│ ├── License.rtf
│ ├── PowerToysSetup.slnx
│ ├── PowerToysSetupCustomActionsVNext/
│ │ ├── CustomAction.cpp
│ │ ├── CustomAction.def
│ │ ├── PowerToysSetupCustomActionsVNext.vcxproj
│ │ ├── PowerToysSetupCustomActionsVNext.vcxproj.filters
│ │ ├── RcResource.h
│ │ ├── Resource.rc
│ │ ├── packages.config
│ │ ├── pch.cpp
│ │ ├── pch.h
│ │ └── resource.h
│ ├── PowerToysSetupVNext/
│ │ ├── AdvancedPaste.wxs
│ │ ├── Awake.wxs
│ │ ├── BaseApplications.wxs
│ │ ├── CmdPal.wxs
│ │ ├── ColorPicker.wxs
│ │ ├── Common.wxi
│ │ ├── Core.wxs
│ │ ├── CustomDialogs/
│ │ │ ├── PTInstallDirDlg.wxs
│ │ │ ├── PTLicenseDlg.wxs
│ │ │ └── WixUI_PTInstallDir.wxs
│ │ ├── Directory.Build.props
│ │ ├── DscResources.wxs
│ │ ├── EnvironmentVariables.wxs
│ │ ├── FileExplorerPreview.wxs
│ │ ├── FileLocksmith.wxs
│ │ ├── Hosts.wxs
│ │ ├── ImageResizer.wxs
│ │ ├── KeyboardManager.wxs
│ │ ├── LightSwitch.wxs
│ │ ├── MouseWithoutBorders.wxs
│ │ ├── NewPlus.wxs
│ │ ├── Peek.wxs
│ │ ├── PowerDisplay.wxs
│ │ ├── PowerRename.wxs
│ │ ├── PowerToys.wxs
│ │ ├── PowerToysBootstrapperVNext.wixproj
│ │ ├── PowerToysInstallerVNext.wixproj
│ │ ├── Product.wxs
│ │ ├── RegistryPreview.wxs
│ │ ├── Resources.wxs
│ │ ├── RtfTheme.xml
│ │ ├── Run.wxs
│ │ ├── Settings.wxs
│ │ ├── ShortcutGuide.wxs
│ │ ├── SilentFilesInUseBA/
│ │ │ ├── SilentFilesInUseBAFunction.vcxproj
│ │ │ ├── SilentFilesInUseBAFunctions.cpp
│ │ │ ├── bafunctions.cpp
│ │ │ ├── bafunctions.def
│ │ │ ├── pch.h
│ │ │ └── resource.h
│ │ ├── Tools.wxs
│ │ ├── WinAppSDK.wxs
│ │ ├── WinUI3Applications.wxs
│ │ ├── Workspaces.wxs
│ │ ├── generateAllFileComponents.ps1
│ │ ├── generateMonacoWxs.ps1
│ │ ├── packages.config
│ │ ├── publish.cmd
│ │ └── terminate_powertoys.cmd
│ └── README.md
├── nuget.config
├── packages.config
├── src/
│ ├── .clang-format
│ ├── .editorconfig
│ ├── ActionRunner/
│ │ ├── Resources.resx
│ │ ├── actionRunner.base.rc
│ │ ├── actionRunner.cpp
│ │ ├── actionRunner.vcxproj
│ │ ├── packages.config
│ │ └── resource.base.h
│ ├── CmdPalVersion.props
│ ├── Common.Dotnet.AotCompatibility.props
│ ├── Common.Dotnet.CsWinRT.props
│ ├── Common.Dotnet.FuzzTest.props
│ ├── Common.Dotnet.PrepareGeneratedFolder.targets
│ ├── Common.SelfContained.props
│ ├── Monaco/
│ │ ├── customLanguages/
│ │ │ ├── gitignore.js
│ │ │ ├── reg.js
│ │ │ └── srt.js
│ │ ├── customTokenThemeRules.js
│ │ ├── generateLanguagesJson.html
│ │ ├── index.html
│ │ ├── monacoSRC/
│ │ │ └── min/
│ │ │ └── vs/
│ │ │ ├── base/
│ │ │ │ ├── common/
│ │ │ │ │ └── worker/
│ │ │ │ │ ├── simpleWorker.nls.de.js
│ │ │ │ │ ├── simpleWorker.nls.es.js
│ │ │ │ │ ├── simpleWorker.nls.fr.js
│ │ │ │ │ ├── simpleWorker.nls.it.js
│ │ │ │ │ ├── simpleWorker.nls.ja.js
│ │ │ │ │ ├── simpleWorker.nls.js
│ │ │ │ │ ├── simpleWorker.nls.ko.js
│ │ │ │ │ ├── simpleWorker.nls.ru.js
│ │ │ │ │ ├── simpleWorker.nls.zh-cn.js
│ │ │ │ │ └── simpleWorker.nls.zh-tw.js
│ │ │ │ └── worker/
│ │ │ │ └── workerMain.js
│ │ │ ├── basic-languages/
│ │ │ │ ├── abap/
│ │ │ │ │ └── abap.js
│ │ │ │ ├── apex/
│ │ │ │ │ └── apex.js
│ │ │ │ ├── azcli/
│ │ │ │ │ └── azcli.js
│ │ │ │ ├── bat/
│ │ │ │ │ └── bat.js
│ │ │ │ ├── bicep/
│ │ │ │ │ └── bicep.js
│ │ │ │ ├── cameligo/
│ │ │ │ │ └── cameligo.js
│ │ │ │ ├── clojure/
│ │ │ │ │ └── clojure.js
│ │ │ │ ├── coffee/
│ │ │ │ │ └── coffee.js
│ │ │ │ ├── cpp/
│ │ │ │ │ └── cpp.js
│ │ │ │ ├── csharp/
│ │ │ │ │ └── csharp.js
│ │ │ │ ├── csp/
│ │ │ │ │ └── csp.js
│ │ │ │ ├── css/
│ │ │ │ │ └── css.js
│ │ │ │ ├── cypher/
│ │ │ │ │ └── cypher.js
│ │ │ │ ├── dart/
│ │ │ │ │ └── dart.js
│ │ │ │ ├── dockerfile/
│ │ │ │ │ └── dockerfile.js
│ │ │ │ ├── ecl/
│ │ │ │ │ └── ecl.js
│ │ │ │ ├── elixir/
│ │ │ │ │ └── elixir.js
│ │ │ │ ├── flow9/
│ │ │ │ │ └── flow9.js
│ │ │ │ ├── freemarker2/
│ │ │ │ │ └── freemarker2.js
│ │ │ │ ├── fsharp/
│ │ │ │ │ └── fsharp.js
│ │ │ │ ├── go/
│ │ │ │ │ └── go.js
│ │ │ │ ├── graphql/
│ │ │ │ │ └── graphql.js
│ │ │ │ ├── handlebars/
│ │ │ │ │ └── handlebars.js
│ │ │ │ ├── hcl/
│ │ │ │ │ └── hcl.js
│ │ │ │ ├── html/
│ │ │ │ │ └── html.js
│ │ │ │ ├── ini/
│ │ │ │ │ └── ini.js
│ │ │ │ ├── java/
│ │ │ │ │ └── java.js
│ │ │ │ ├── javascript/
│ │ │ │ │ └── javascript.js
│ │ │ │ ├── julia/
│ │ │ │ │ └── julia.js
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── kotlin.js
│ │ │ │ ├── less/
│ │ │ │ │ └── less.js
│ │ │ │ ├── lexon/
│ │ │ │ │ └── lexon.js
│ │ │ │ ├── liquid/
│ │ │ │ │ └── liquid.js
│ │ │ │ ├── lua/
│ │ │ │ │ └── lua.js
│ │ │ │ ├── m3/
│ │ │ │ │ └── m3.js
│ │ │ │ ├── markdown/
│ │ │ │ │ └── markdown.js
│ │ │ │ ├── mdx/
│ │ │ │ │ └── mdx.js
│ │ │ │ ├── mips/
│ │ │ │ │ └── mips.js
│ │ │ │ ├── msdax/
│ │ │ │ │ └── msdax.js
│ │ │ │ ├── mysql/
│ │ │ │ │ └── mysql.js
│ │ │ │ ├── objective-c/
│ │ │ │ │ └── objective-c.js
│ │ │ │ ├── pascal/
│ │ │ │ │ └── pascal.js
│ │ │ │ ├── pascaligo/
│ │ │ │ │ └── pascaligo.js
│ │ │ │ ├── perl/
│ │ │ │ │ └── perl.js
│ │ │ │ ├── pgsql/
│ │ │ │ │ └── pgsql.js
│ │ │ │ ├── php/
│ │ │ │ │ └── php.js
│ │ │ │ ├── pla/
│ │ │ │ │ └── pla.js
│ │ │ │ ├── postiats/
│ │ │ │ │ └── postiats.js
│ │ │ │ ├── powerquery/
│ │ │ │ │ └── powerquery.js
│ │ │ │ ├── powershell/
│ │ │ │ │ └── powershell.js
│ │ │ │ ├── protobuf/
│ │ │ │ │ └── protobuf.js
│ │ │ │ ├── pug/
│ │ │ │ │ └── pug.js
│ │ │ │ ├── python/
│ │ │ │ │ └── python.js
│ │ │ │ ├── qsharp/
│ │ │ │ │ └── qsharp.js
│ │ │ │ ├── r/
│ │ │ │ │ └── r.js
│ │ │ │ ├── razor/
│ │ │ │ │ └── razor.js
│ │ │ │ ├── redis/
│ │ │ │ │ └── redis.js
│ │ │ │ ├── redshift/
│ │ │ │ │ └── redshift.js
│ │ │ │ ├── restructuredtext/
│ │ │ │ │ └── restructuredtext.js
│ │ │ │ ├── ruby/
│ │ │ │ │ └── ruby.js
│ │ │ │ ├── rust/
│ │ │ │ │ └── rust.js
│ │ │ │ ├── sb/
│ │ │ │ │ └── sb.js
│ │ │ │ ├── scala/
│ │ │ │ │ └── scala.js
│ │ │ │ ├── scheme/
│ │ │ │ │ └── scheme.js
│ │ │ │ ├── scss/
│ │ │ │ │ └── scss.js
│ │ │ │ ├── shell/
│ │ │ │ │ └── shell.js
│ │ │ │ ├── solidity/
│ │ │ │ │ └── solidity.js
│ │ │ │ ├── sophia/
│ │ │ │ │ └── sophia.js
│ │ │ │ ├── sparql/
│ │ │ │ │ └── sparql.js
│ │ │ │ ├── sql/
│ │ │ │ │ └── sql.js
│ │ │ │ ├── st/
│ │ │ │ │ └── st.js
│ │ │ │ ├── swift/
│ │ │ │ │ └── swift.js
│ │ │ │ ├── systemverilog/
│ │ │ │ │ └── systemverilog.js
│ │ │ │ ├── tcl/
│ │ │ │ │ └── tcl.js
│ │ │ │ ├── twig/
│ │ │ │ │ └── twig.js
│ │ │ │ ├── typescript/
│ │ │ │ │ └── typescript.js
│ │ │ │ ├── vb/
│ │ │ │ │ └── vb.js
│ │ │ │ ├── wgsl/
│ │ │ │ │ └── wgsl.js
│ │ │ │ ├── xml/
│ │ │ │ │ └── xml.js
│ │ │ │ └── yaml/
│ │ │ │ └── yaml.js
│ │ │ ├── editor/
│ │ │ │ ├── editor.main.css
│ │ │ │ ├── editor.main.js
│ │ │ │ ├── editor.main.nls.de.js
│ │ │ │ ├── editor.main.nls.es.js
│ │ │ │ ├── editor.main.nls.fr.js
│ │ │ │ ├── editor.main.nls.it.js
│ │ │ │ ├── editor.main.nls.ja.js
│ │ │ │ ├── editor.main.nls.js
│ │ │ │ ├── editor.main.nls.ko.js
│ │ │ │ ├── editor.main.nls.ru.js
│ │ │ │ ├── editor.main.nls.zh-cn.js
│ │ │ │ └── editor.main.nls.zh-tw.js
│ │ │ ├── language/
│ │ │ │ ├── css/
│ │ │ │ │ ├── cssMode.js
│ │ │ │ │ └── cssWorker.js
│ │ │ │ ├── html/
│ │ │ │ │ ├── htmlMode.js
│ │ │ │ │ └── htmlWorker.js
│ │ │ │ ├── json/
│ │ │ │ │ ├── jsonMode.js
│ │ │ │ │ └── jsonWorker.js
│ │ │ │ └── typescript/
│ │ │ │ ├── tsMode.js
│ │ │ │ └── tsWorker.js
│ │ │ └── loader.js
│ │ ├── monacoSpecialLanguages.js
│ │ └── monaco_languages.json
│ ├── Monaco.props
│ ├── PackageIdentity/
│ │ ├── AppxManifest.xml
│ │ ├── BuildSparsePackage.cmd
│ │ ├── BuildSparsePackage.ps1
│ │ ├── Check-ProcessIdentity.ps1
│ │ ├── PackageIdentity.vcxproj
│ │ ├── PackageIdentity.vcxproj.filters
│ │ └── readme.md
│ ├── README.md
│ ├── Settings.XamlStyler
│ ├── Solution.props
│ ├── Update/
│ │ ├── PowerToys.Update.base.rc
│ │ ├── PowerToys.Update.cpp
│ │ ├── PowerToys.Update.vcxproj
│ │ ├── Resources.resx
│ │ ├── packages.config
│ │ └── resource.base.h
│ ├── Version.props
│ ├── codeAnalysis/
│ │ ├── GlobalSuppressions.cs
│ │ ├── Rules.ruleset
│ │ ├── StyleCop.json
│ │ └── format_sources.ps1
│ ├── common/
│ │ ├── COMUtils/
│ │ │ ├── COMUtils.cpp
│ │ │ ├── COMUtils.h
│ │ │ ├── COMUtils.vcxproj
│ │ │ └── packages.config
│ │ ├── CalculatorEngineCommon/
│ │ │ ├── Calculator.cpp
│ │ │ ├── Calculator.h
│ │ │ ├── Calculator.idl
│ │ │ ├── CalculatorEngineCommon.def
│ │ │ ├── CalculatorEngineCommon.rc
│ │ │ ├── CalculatorEngineCommon.vcxproj
│ │ │ ├── CalculatorEngineCommon.vcxproj.filters
│ │ │ ├── ExprtkEvaluator.cpp
│ │ │ ├── ExprtkEvaluator.h
│ │ │ ├── PropertySheet.props
│ │ │ ├── exprtk.hpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── readme.md
│ │ │ └── resource.h
│ │ ├── Common.Search/
│ │ │ ├── Common.Search.csproj
│ │ │ ├── FuzzSearch/
│ │ │ │ ├── MatchOption.cs
│ │ │ │ ├── MatchResult.cs
│ │ │ │ ├── SearchPrecisionScore.cs
│ │ │ │ └── StringMatcher.cs
│ │ │ ├── GlobalSuppressions.cs
│ │ │ └── stylecop.json
│ │ ├── Common.UI/
│ │ │ ├── Common.UI.csproj
│ │ │ ├── CustomLibraryThemeProvider.cs
│ │ │ ├── NativeEventWaiter.cs
│ │ │ ├── SettingsDeepLink.cs
│ │ │ └── ThemeManager.cs
│ │ ├── Common.UI.Controls/
│ │ │ ├── Common.UI.Controls.csproj
│ │ │ ├── Controls/
│ │ │ │ ├── CheckBoxWithDescriptionControl/
│ │ │ │ │ └── CheckBoxWithDescriptionControl.cs
│ │ │ │ ├── IsEnabledTextBlock/
│ │ │ │ │ ├── IsEnabledTextBlock.xaml
│ │ │ │ │ └── IsEnabledTextBlock.xaml.cs
│ │ │ │ ├── KeyVisual/
│ │ │ │ │ ├── KeyCharPresenter.xaml
│ │ │ │ │ ├── KeyCharPresenter.xaml.cs
│ │ │ │ │ ├── KeyVisual.xaml
│ │ │ │ │ └── KeyVisual.xaml.cs
│ │ │ │ └── ShortcutWithTextLabelControl/
│ │ │ │ ├── ShortcutWithTextLabelControl.xaml
│ │ │ │ └── ShortcutWithTextLabelControl.xaml.cs
│ │ │ ├── Converters/
│ │ │ │ └── BoolToKeyVisualStateConverter.cs
│ │ │ └── Themes/
│ │ │ └── Generic.xaml
│ │ ├── Display/
│ │ │ ├── Display.vcxproj
│ │ │ ├── DisplayUtils.cpp
│ │ │ ├── DisplayUtils.h
│ │ │ ├── MonitorEnumerator.h
│ │ │ ├── dpi_aware.cpp
│ │ │ ├── dpi_aware.h
│ │ │ ├── monitors.cpp
│ │ │ ├── monitors.h
│ │ │ └── packages.config
│ │ ├── FilePreviewCommon/
│ │ │ ├── BgcodeBlockType.cs
│ │ │ ├── BgcodeChecksumType.cs
│ │ │ ├── BgcodeCompressionType.cs
│ │ │ ├── BgcodeHelper.cs
│ │ │ ├── BgcodeThumbnail.cs
│ │ │ ├── BgcodeThumbnailFormat.cs
│ │ │ ├── FilePreviewCommon.csproj
│ │ │ ├── Formatters/
│ │ │ │ ├── FilePreviewJsonSerializerContext.cs
│ │ │ │ ├── IFormatter.cs
│ │ │ │ ├── JsonFormatter.cs
│ │ │ │ └── XmlFormatter.cs
│ │ │ ├── GcodeHelper.cs
│ │ │ ├── GcodeThumbnail.cs
│ │ │ ├── GcodeThumbnailFormat.cs
│ │ │ ├── HTMLParsingExtension.cs
│ │ │ ├── Helper.cs
│ │ │ ├── MarkdownHelper.cs
│ │ │ ├── MonacoHelper.cs
│ │ │ └── QoiImage.cs
│ │ ├── GPOWrapper/
│ │ │ ├── GPOWrapper.cpp
│ │ │ ├── GPOWrapper.def
│ │ │ ├── GPOWrapper.h
│ │ │ ├── GPOWrapper.idl
│ │ │ ├── GPOWrapper.rc
│ │ │ ├── GPOWrapper.vcxproj
│ │ │ ├── GPOWrapper.vcxproj.filters
│ │ │ ├── PropertySheet.props
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ └── resource.h
│ │ ├── GPOWrapperProjection/
│ │ │ ├── GPOWrapper.cs
│ │ │ └── GPOWrapperProjection.csproj
│ │ ├── LanguageModelProvider/
│ │ │ ├── FoundryLocal/
│ │ │ │ ├── FoundryCachedModel.cs
│ │ │ │ ├── FoundryCatalogModel.cs
│ │ │ │ ├── FoundryClient.cs
│ │ │ │ ├── FoundryJsonContext.cs
│ │ │ │ ├── ModelSettings.cs
│ │ │ │ ├── PromptTemplate.cs
│ │ │ │ └── Runtime.cs
│ │ │ ├── FoundryLocalModelProvider.cs
│ │ │ ├── HardwareAccelerator.cs
│ │ │ ├── ILanguageModelProvider.cs
│ │ │ ├── LanguageModelProvider.csproj
│ │ │ └── ModelDetails.cs
│ │ ├── ManagedCommon/
│ │ │ ├── ColorFormatHelper.cs
│ │ │ ├── ColorNameHelper.cs
│ │ │ ├── CommonResources.Designer.cs
│ │ │ ├── CommonResources.resx
│ │ │ ├── IdRecoveryHelper.cs
│ │ │ ├── LanguageHelper.cs
│ │ │ ├── Logger.cs
│ │ │ ├── ManagedCommon.csproj
│ │ │ ├── ModuleType.cs
│ │ │ ├── NativeMethods.cs
│ │ │ ├── OSVersionHelper.cs
│ │ │ ├── PowerToysPathResolver.cs
│ │ │ ├── RunnerHelper.cs
│ │ │ ├── SerializationContext/
│ │ │ │ └── SourceGenerationContext.cs
│ │ │ ├── StartupPosition.cs
│ │ │ ├── Theme.cs
│ │ │ ├── ThemeHelpers.cs
│ │ │ ├── ThemeListener.cs
│ │ │ └── WindowHelpers.cs
│ │ ├── ManagedCsWin32/
│ │ │ ├── CLSID.cs
│ │ │ ├── ComHelper.cs
│ │ │ ├── IID.cs
│ │ │ ├── Kernel32.cs
│ │ │ ├── ManagedCsWin32.csproj
│ │ │ ├── Ole32.cs
│ │ │ └── Shell32.cs
│ │ ├── ManagedTelemetry/
│ │ │ └── Telemetry/
│ │ │ ├── DataDiagnosticsSettings.cs
│ │ │ ├── EtwTrace.cs
│ │ │ ├── Events/
│ │ │ │ ├── DebugEvent.cs
│ │ │ │ ├── EventBase.cs
│ │ │ │ └── IEvent.cs
│ │ │ ├── ManagedTelemetry.csproj
│ │ │ └── PowerToysTelemetry.cs
│ │ ├── PowerToys.ModuleContracts/
│ │ │ ├── IModuleService.cs
│ │ │ ├── OperationResult.cs
│ │ │ └── PowerToys.ModuleContracts.csproj
│ │ ├── SettingsAPI/
│ │ │ ├── FileWatcher.cpp
│ │ │ ├── FileWatcher.h
│ │ │ ├── SettingsAPI.vcxproj
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── settings_helpers.cpp
│ │ │ ├── settings_helpers.h
│ │ │ ├── settings_objects.cpp
│ │ │ └── settings_objects.h
│ │ ├── Telemetry/
│ │ │ ├── EtwTrace/
│ │ │ │ ├── EtwTrace.cpp
│ │ │ │ ├── EtwTrace.h
│ │ │ │ ├── EtwTrace.vcxproj
│ │ │ │ ├── EtwTrace.vcxproj.filters
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── PowerToys.wprp
│ │ │ ├── ProjectTelemetry.h
│ │ │ ├── TelemetryBase.cs
│ │ │ ├── TraceBase.h
│ │ │ ├── TraceLoggingDefines.h
│ │ │ └── readme.md
│ │ ├── Themes/
│ │ │ ├── Themes.vcxproj
│ │ │ ├── icon_helpers.cpp
│ │ │ ├── icon_helpers.h
│ │ │ ├── packages.config
│ │ │ ├── theme_helpers.cpp
│ │ │ ├── theme_helpers.h
│ │ │ ├── theme_listener.cpp
│ │ │ ├── theme_listener.h
│ │ │ ├── windows_colors.cpp
│ │ │ └── windows_colors.h
│ │ ├── UITestAutomation/
│ │ │ ├── Element/
│ │ │ │ ├── Button.cs
│ │ │ │ ├── By.cs
│ │ │ │ ├── CheckBox.cs
│ │ │ │ ├── ComboBox.cs
│ │ │ │ ├── Custom.cs
│ │ │ │ ├── Element.cs
│ │ │ │ ├── Group.cs
│ │ │ │ ├── HyperlinkButton.cs
│ │ │ │ ├── NavigationViewItem.cs
│ │ │ │ ├── Pane.cs
│ │ │ │ ├── RadioButton.cs
│ │ │ │ ├── Slider.cs
│ │ │ │ ├── Tab.cs
│ │ │ │ ├── TextBlock.cs
│ │ │ │ ├── TextBox.cs
│ │ │ │ ├── Thumb.cs
│ │ │ │ ├── ToggleSwitch.cs
│ │ │ │ └── Window.cs
│ │ │ ├── EnvironmentConfig.cs
│ │ │ ├── FindHelper.cs
│ │ │ ├── KeyboardHelper.cs
│ │ │ ├── ModuleConfigData.cs
│ │ │ ├── ModuleInfo.cs
│ │ │ ├── MonitorInfoData.cs
│ │ │ ├── MouseHelper.cs
│ │ │ ├── ScreenCapture.cs
│ │ │ ├── ScreenRecording.cs
│ │ │ ├── Session.cs
│ │ │ ├── SessionHelper.cs
│ │ │ ├── SettingsConfigHelper.cs
│ │ │ ├── UITestAutomation.csproj
│ │ │ ├── UITestBase.cs
│ │ │ ├── VisualAssert.cs
│ │ │ ├── VisualHelper.cs
│ │ │ └── WindowHelper.cs
│ │ ├── UnitTests-CommonLib/
│ │ │ ├── Settings.Tests.cpp
│ │ │ ├── UnitTests-CommonLib.rc
│ │ │ ├── UnitTests-CommonLib.vcxproj
│ │ │ ├── UnitTests-CommonLib.vcxproj.filters
│ │ │ ├── UnitTestsVersionHelper.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ └── resource.h
│ │ ├── UnitTests-CommonUtils/
│ │ │ ├── AppMutex.Tests.cpp
│ │ │ ├── ColorUtils.Tests.cpp
│ │ │ ├── ComObjectFactory.Tests.cpp
│ │ │ ├── Elevation.Tests.cpp
│ │ │ ├── ExcludedApps.Tests.cpp
│ │ │ ├── Exec.Tests.cpp
│ │ │ ├── GameMode.Tests.cpp
│ │ │ ├── Gpo.Tests.cpp
│ │ │ ├── HDropIterator.Tests.cpp
│ │ │ ├── HttpClient.Tests.cpp
│ │ │ ├── Json.Tests.cpp
│ │ │ ├── LoggerHelper.Tests.cpp
│ │ │ ├── ModulesRegistry.Tests.cpp
│ │ │ ├── MsWindowsSettings.Tests.cpp
│ │ │ ├── MsiUtils.Tests.cpp
│ │ │ ├── OsDetect.Tests.cpp
│ │ │ ├── Package.Tests.cpp
│ │ │ ├── ProcessApi.Tests.cpp
│ │ │ ├── ProcessPath.Tests.cpp
│ │ │ ├── ProcessWaiter.Tests.cpp
│ │ │ ├── Registry.Tests.cpp
│ │ │ ├── Resources.Tests.cpp
│ │ │ ├── Serialized.Tests.cpp
│ │ │ ├── StringUtils.Tests.cpp
│ │ │ ├── TestHelpers.h
│ │ │ ├── TestStubs.cpp
│ │ │ ├── Threading.Tests.cpp
│ │ │ ├── TimeUtils.Tests.cpp
│ │ │ ├── UnhandledException.Tests.cpp
│ │ │ ├── UnitTests-CommonUtils.rc
│ │ │ ├── UnitTests-CommonUtils.vcxproj
│ │ │ ├── UnitTests-CommonUtils.vcxproj.filters
│ │ │ ├── WinApiError.Tests.cpp
│ │ │ ├── Window.Tests.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ └── resource.h
│ │ ├── debug_control.h
│ │ ├── hooks/
│ │ │ ├── LowlevelKeyboardEvent.h
│ │ │ └── WinHookEvent.h
│ │ ├── interop/
│ │ │ ├── CommonManaged.cpp
│ │ │ ├── CommonManaged.h
│ │ │ ├── CommonManaged.idl
│ │ │ ├── Constants.cpp
│ │ │ ├── Constants.h
│ │ │ ├── Constants.idl
│ │ │ ├── HotkeyManager.cpp
│ │ │ ├── HotkeyManager.h
│ │ │ ├── HotkeyManager.idl
│ │ │ ├── KeyboardHook.cpp
│ │ │ ├── KeyboardHook.h
│ │ │ ├── KeyboardHook.idl
│ │ │ ├── LayoutMapManaged.cpp
│ │ │ ├── LayoutMapManaged.h
│ │ │ ├── LayoutMapManaged.idl
│ │ │ ├── PowerToys.Interop.def
│ │ │ ├── PowerToys.Interop.vcxproj
│ │ │ ├── PowerToys.Interop.vcxproj.filters
│ │ │ ├── PropertySheet.props
│ │ │ ├── Resource.h
│ │ │ ├── TwoWayPipeMessageIPCManaged.cpp
│ │ │ ├── TwoWayPipeMessageIPCManaged.h
│ │ │ ├── TwoWayPipeMessageIPCManaged.idl
│ │ │ ├── async_message_queue.h
│ │ │ ├── interop-tests/
│ │ │ │ ├── Common.Interop.UnitTests.csproj
│ │ │ │ └── InteropTests.cs
│ │ │ ├── interop.rc
│ │ │ ├── keyboard_layout.cpp
│ │ │ ├── keyboard_layout.h
│ │ │ ├── keyboard_layout_impl.h
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── shared_constants.h
│ │ │ ├── two_way_pipe_message_ipc.cpp
│ │ │ ├── two_way_pipe_message_ipc.h
│ │ │ └── two_way_pipe_message_ipc_impl.h
│ │ ├── logger/
│ │ │ ├── call_tracer.cpp
│ │ │ ├── call_tracer.h
│ │ │ ├── framework.h
│ │ │ ├── logger.cpp
│ │ │ ├── logger.h
│ │ │ ├── logger.vcxproj
│ │ │ ├── logger.vcxproj.filters
│ │ │ ├── logger_settings.cpp
│ │ │ ├── logger_settings.h
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ └── pch.h
│ │ ├── monitor_utils.h
│ │ ├── notifications/
│ │ │ ├── BackgroundActivator/
│ │ │ │ ├── BackgroundActivator.vcxproj
│ │ │ │ ├── BackgroundActivator.vcxproj.filters
│ │ │ │ ├── BackgroundHandler.cpp
│ │ │ │ ├── BackgroundHandler.h
│ │ │ │ ├── BackgroundHandler.idl
│ │ │ │ ├── handler_functions.cpp
│ │ │ │ ├── handler_functions.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── BackgroundActivatorDLL/
│ │ │ │ ├── BackgroundActivator.def
│ │ │ │ ├── BackgroundActivator.rc
│ │ │ │ ├── BackgroundActivator.vcxproj.filters
│ │ │ │ ├── BackgroundActivatorDLL.vcxproj
│ │ │ │ ├── cpp.hint
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── framework.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.h
│ │ │ ├── NotificationUtil.cpp
│ │ │ ├── NotificationUtil.h
│ │ │ ├── dont_show_again.cpp
│ │ │ ├── dont_show_again.h
│ │ │ ├── notifications.cpp
│ │ │ ├── notifications.h
│ │ │ ├── notifications.vcxproj
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ └── pch.h
│ │ ├── sysinternals/
│ │ │ ├── Eula/
│ │ │ │ ├── Eula.txt
│ │ │ │ ├── eula.c
│ │ │ │ ├── eula.h
│ │ │ │ └── eula.rtf
│ │ │ ├── WindowsVersions.cpp
│ │ │ ├── WindowsVersions.h
│ │ │ ├── dll.c
│ │ │ └── dll.h
│ │ ├── updating/
│ │ │ ├── installer.cpp
│ │ │ ├── installer.h
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── updateState.cpp
│ │ │ ├── updateState.h
│ │ │ ├── updating.cpp
│ │ │ ├── updating.h
│ │ │ ├── updating.vcxproj
│ │ │ └── updating.vcxproj.filters
│ │ ├── utils/
│ │ │ ├── EventLocker.h
│ │ │ ├── EventWaiter.h
│ │ │ ├── HDropIterator.h
│ │ │ ├── HttpClient.h
│ │ │ ├── MsWindowsSettings.h
│ │ │ ├── MsiUtils.h
│ │ │ ├── OnThreadExecutor.h
│ │ │ ├── ProcessWaiter.h
│ │ │ ├── UnhandledExceptionHandler.h
│ │ │ ├── appMutex.h
│ │ │ ├── clean_video_conference.h
│ │ │ ├── color.h
│ │ │ ├── com_object_factory.h
│ │ │ ├── elevation.h
│ │ │ ├── excluded_apps.h
│ │ │ ├── exec.h
│ │ │ ├── game_mode.h
│ │ │ ├── gpo.h
│ │ │ ├── json.h
│ │ │ ├── language_helper.h
│ │ │ ├── logger_helper.h
│ │ │ ├── modulesRegistry.h
│ │ │ ├── os-detect.h
│ │ │ ├── package.h
│ │ │ ├── processApi.h
│ │ │ ├── process_path.h
│ │ │ ├── registry.h
│ │ │ ├── resources.h
│ │ │ ├── serialized.h
│ │ │ ├── shell_ext_registration.h
│ │ │ ├── string_utils.h
│ │ │ ├── timeutil.h
│ │ │ ├── winapi_error.h
│ │ │ └── window.h
│ │ └── version/
│ │ ├── helper.cpp
│ │ ├── helper.h
│ │ ├── version.cpp
│ │ ├── version.h
│ │ └── version.vcxproj
│ ├── dsc/
│ │ ├── Microsoft.PowerToys.Configure/
│ │ │ └── examples/
│ │ │ ├── README.md
│ │ │ ├── configuration.winget
│ │ │ ├── configureLauncherPlugins.winget
│ │ │ ├── disableAllModules.winget
│ │ │ ├── enableAllModules.winget
│ │ │ └── installAndConfiguration.winget
│ │ ├── PowerToys.Settings.DSC.Schema.Generator/
│ │ │ ├── Common.cs
│ │ │ ├── DSCGeneration.cs
│ │ │ ├── DocumentationGeneration.cs
│ │ │ ├── Introspection.cs
│ │ │ ├── PowerToys.Settings.DSC.Schema.Generator.csproj
│ │ │ ├── Program.cs
│ │ │ ├── SampleGeneration.cs
│ │ │ └── app.manifest
│ │ └── v3/
│ │ ├── PowerToys.DSC/
│ │ │ ├── Commands/
│ │ │ │ ├── BaseCommand.cs
│ │ │ │ ├── ExportCommand.cs
│ │ │ │ ├── GetCommand.cs
│ │ │ │ ├── ManifestCommand.cs
│ │ │ │ ├── ModulesCommand.cs
│ │ │ │ ├── SchemaCommand.cs
│ │ │ │ ├── SetCommand.cs
│ │ │ │ └── TestCommand.cs
│ │ │ ├── DSCResources/
│ │ │ │ ├── BaseResource.cs
│ │ │ │ └── SettingsResource.cs
│ │ │ ├── Models/
│ │ │ │ ├── DscManifest.cs
│ │ │ │ ├── DscMessageLevel.cs
│ │ │ │ ├── FunctionData/
│ │ │ │ │ ├── BaseFunctionData.cs
│ │ │ │ │ ├── ISettingsFunctionData.cs
│ │ │ │ │ └── SettingsFunctionData`1.cs
│ │ │ │ └── ResourceObjects/
│ │ │ │ ├── BaseResourceObject.cs
│ │ │ │ ├── ISettingsResourceObject.cs
│ │ │ │ └── SettingsResourceObject`1.cs
│ │ │ ├── Options/
│ │ │ │ ├── InputOption.cs
│ │ │ │ ├── ModuleOption.cs
│ │ │ │ ├── OutputDirectoryOption.cs
│ │ │ │ └── ResourceOption.cs
│ │ │ ├── PowerToys.DSC.csproj
│ │ │ ├── Program.cs
│ │ │ └── Properties/
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ └── PowerToys.DSC.UnitTests/
│ │ ├── BaseDscTest.cs
│ │ ├── CommandTest.cs
│ │ ├── Models/
│ │ │ └── DscExecuteResult.cs
│ │ ├── PowerToys.DSC.UnitTests.csproj
│ │ └── SettingsResourceTests/
│ │ ├── SettingsResourceAdvancedPasteModuleTest.cs
│ │ ├── SettingsResourceAlwaysOnTopModuleTest.cs
│ │ ├── SettingsResourceAppModuleTest.cs
│ │ ├── SettingsResourceAwakeModuleTest.cs
│ │ ├── SettingsResourceColorPickerModuleTest.cs
│ │ ├── SettingsResourceCommandTest.cs
│ │ ├── SettingsResourceCropAndLockModuleTest.cs
│ │ └── SettingsResourceModuleTest`1.cs
│ ├── gpo/
│ │ └── assets/
│ │ ├── PowerToys.admx
│ │ └── en-US/
│ │ └── PowerToys.adml
│ ├── logging/
│ │ ├── logging.vcxproj
│ │ └── logging.vcxproj.filters
│ ├── modules/
│ │ ├── AdvancedPaste/
│ │ │ ├── AdvancedPaste/
│ │ │ │ ├── AdvancedPaste.csproj
│ │ │ │ ├── AdvancedPasteXAML/
│ │ │ │ │ ├── App.xaml
│ │ │ │ │ ├── App.xaml.cs
│ │ │ │ │ ├── Controls/
│ │ │ │ │ │ ├── AnimatedContentControl/
│ │ │ │ │ │ │ ├── AnimatedBorderBrush.cs
│ │ │ │ │ │ │ ├── AnimatedBorderBrush.xaml
│ │ │ │ │ │ │ ├── AnimatedContentControl.cs
│ │ │ │ │ │ │ └── AnimatedContentControl.xaml
│ │ │ │ │ │ ├── ClipboardHistoryItemPreviewControl.xaml
│ │ │ │ │ │ ├── ClipboardHistoryItemPreviewControl.xaml.cs
│ │ │ │ │ │ ├── PasteFormatTemplateSelector.cs
│ │ │ │ │ │ ├── PromptBox.xaml
│ │ │ │ │ │ └── PromptBox.xaml.cs
│ │ │ │ │ ├── Converters/
│ │ │ │ │ │ ├── CountToDoubleConverter.cs
│ │ │ │ │ │ ├── CountToInvertedVisibilityConverter.cs
│ │ │ │ │ │ ├── CountToVisibilityConverter.cs
│ │ │ │ │ │ ├── DateTimeToFriendlyStringConverter.cs
│ │ │ │ │ │ ├── HexColorConverterHelper.cs
│ │ │ │ │ │ ├── HexColorToBrushConverter.cs
│ │ │ │ │ │ ├── PasteFormatsToHeightConverter.cs
│ │ │ │ │ │ └── ServiceTypeToIconConverter.cs
│ │ │ │ │ ├── MainWindow.xaml
│ │ │ │ │ ├── MainWindow.xaml.cs
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── MainPage.xaml
│ │ │ │ │ │ └── MainPage.xaml.cs
│ │ │ │ │ ├── Styles/
│ │ │ │ │ │ └── Button.xaml
│ │ │ │ │ └── Themes/
│ │ │ │ │ └── Generic.xaml
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── AIServiceFormatEvent.cs
│ │ │ │ │ ├── AIServiceUsageHelper.cs
│ │ │ │ │ ├── ClipboardHelper.cs
│ │ │ │ │ ├── ClipboardItemHelper.cs
│ │ │ │ │ ├── Constants.cs
│ │ │ │ │ ├── DataPackageHelpers.cs
│ │ │ │ │ ├── ErrorHelpers.cs
│ │ │ │ │ ├── IUserSettings.cs
│ │ │ │ │ ├── JsonHelper.cs
│ │ │ │ │ ├── KernelExtensions.cs
│ │ │ │ │ ├── MarkdownHelper.cs
│ │ │ │ │ ├── NamedPipeProcessor.cs
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ ├── OcrHelpers.cs
│ │ │ │ │ ├── ResourceLoaderInstance.cs
│ │ │ │ │ ├── TranscodeHelpers.cs
│ │ │ │ │ ├── TransformHelpers.cs
│ │ │ │ │ └── UserSettings.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── AIServiceUsage.cs
│ │ │ │ │ ├── ActionChainItem.cs
│ │ │ │ │ ├── ClipboardFormat.cs
│ │ │ │ │ ├── ClipboardItem.cs
│ │ │ │ │ ├── KernelQueryCache/
│ │ │ │ │ │ ├── CacheKey.cs
│ │ │ │ │ │ ├── CacheValue.cs
│ │ │ │ │ │ └── PersistedCache.cs
│ │ │ │ │ ├── PasteActionError.cs
│ │ │ │ │ ├── PasteActionException.cs
│ │ │ │ │ ├── PasteActionModeratedException.cs
│ │ │ │ │ ├── PasteActionSource.cs
│ │ │ │ │ ├── PasteFormat.cs
│ │ │ │ │ ├── PasteFormatMetadataAttribute.cs
│ │ │ │ │ └── PasteFormats.cs
│ │ │ │ ├── NativeMethods.txt
│ │ │ │ ├── Program.cs
│ │ │ │ ├── SerializationContext/
│ │ │ │ │ └── SourceGenerationContext.cs
│ │ │ │ ├── Services/
│ │ │ │ │ ├── AdvancedAIKernelService.cs
│ │ │ │ │ ├── CustomActionKernelQueryCacheService.cs
│ │ │ │ │ ├── CustomActions/
│ │ │ │ │ │ ├── CustomActionTransformResult.cs
│ │ │ │ │ │ ├── CustomActionTransformService.cs
│ │ │ │ │ │ ├── FoundryLocalPasteProvider.cs
│ │ │ │ │ │ ├── ICustomActionTransformService.cs
│ │ │ │ │ │ ├── IPasteAIProvider.cs
│ │ │ │ │ │ ├── IPasteAIProviderFactory.cs
│ │ │ │ │ │ ├── LocalModelPasteProvider.cs
│ │ │ │ │ │ ├── PasteAIConfig.cs
│ │ │ │ │ │ ├── PasteAIProviderFactory.cs
│ │ │ │ │ │ ├── PasteAIProviderRegistration.cs
│ │ │ │ │ │ ├── PasteAIRequest.cs
│ │ │ │ │ │ └── SemanticKernelPasteProvider.cs
│ │ │ │ │ ├── EnhancedVaultCredentialsProvider.cs
│ │ │ │ │ ├── IAICredentialsProvider.cs
│ │ │ │ │ ├── IKernelQueryCacheService.cs
│ │ │ │ │ ├── IKernelRuntimeConfiguration.cs
│ │ │ │ │ ├── IKernelService.cs
│ │ │ │ │ ├── IPasteFormatExecutor.cs
│ │ │ │ │ ├── IPromptModerationService.cs
│ │ │ │ │ ├── KernelServiceBase.cs
│ │ │ │ │ ├── OpenAI/
│ │ │ │ │ │ └── PromptModerationService.cs
│ │ │ │ │ └── PasteFormatExecutor.cs
│ │ │ │ ├── Strings/
│ │ │ │ │ └── en-us/
│ │ │ │ │ └── Resources.resw
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── AdvancedPasteClipboardItemClicked.cs
│ │ │ │ │ ├── AdvancedPasteClipboardItemDeletedEvent.cs
│ │ │ │ │ ├── AdvancedPasteCustomActionErrorEvent.cs
│ │ │ │ │ ├── AdvancedPasteCustomFormatOutputThumbUpDownEvent.cs
│ │ │ │ │ ├── AdvancedPasteEndpointUsageEvent.cs
│ │ │ │ │ ├── AdvancedPasteFormatClickedEvent.cs
│ │ │ │ │ ├── AdvancedPasteGenerateCustomErrorEvent.cs
│ │ │ │ │ ├── AdvancedPasteGenerateCustomFormatEvent.cs
│ │ │ │ │ ├── AdvancedPasteInAppKeyboardShortcutEvent.cs
│ │ │ │ │ ├── AdvancedPasteSemanticKernelErrorEvent.cs
│ │ │ │ │ └── AdvancedPasteSemanticKernelFormatEvent.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ └── OptionsViewModel.cs
│ │ │ │ └── app.manifest
│ │ │ ├── AdvancedPaste.FuzzTests/
│ │ │ │ ├── AdvancedPaste.FuzzTests.csproj
│ │ │ │ ├── Fuzz.md
│ │ │ │ ├── FuzzTests.cs
│ │ │ │ ├── Logger.cs
│ │ │ │ ├── MSTestSettings.cs
│ │ │ │ └── OneFuzzConfig.json
│ │ │ ├── AdvancedPaste.UnitTests/
│ │ │ │ ├── AdvancedPaste.UnitTests.csproj
│ │ │ │ ├── ConvertersTests/
│ │ │ │ │ └── HexColorToColorConverterTests.cs
│ │ │ │ ├── HelpersTests/
│ │ │ │ │ └── ClipboardItemHelperTests.cs
│ │ │ │ ├── Mocks/
│ │ │ │ │ ├── IntegrationTestUserSettings.cs
│ │ │ │ │ ├── NoOpKernelQueryCacheService.cs
│ │ │ │ │ └── NoOpProgress.cs
│ │ │ │ ├── ServicesTests/
│ │ │ │ │ ├── AIServiceBatchIntegrationTests.cs
│ │ │ │ │ ├── CustomActionKernelQueryCacheServiceTests.cs
│ │ │ │ │ ├── KernelServiceIntegrationTests.cs
│ │ │ │ │ └── TranscodeHelperIntegrationTests.cs
│ │ │ │ └── Utils/
│ │ │ │ ├── AdvancedPasteEventListener.cs
│ │ │ │ └── ResourceUtils.cs
│ │ │ ├── AdvancedPasteModuleInterface/
│ │ │ │ ├── AdvancedPaste.base.rc
│ │ │ │ ├── AdvancedPasteConstants.h
│ │ │ │ ├── AdvancedPasteModuleInterface.vcxproj
│ │ │ │ ├── AdvancedPasteModuleInterface.vcxproj.filters
│ │ │ │ ├── AdvancedPasteProcessManager.cpp
│ │ │ │ ├── AdvancedPasteProcessManager.h
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── UITest-AdvancedPaste/
│ │ │ ├── AdvancedPaste-UITests.csproj
│ │ │ ├── AdvancedPasteUITest.cs
│ │ │ ├── Helper/
│ │ │ │ └── FileReader.cs
│ │ │ ├── TestFiles/
│ │ │ │ ├── PasteAsJsonFile.xml
│ │ │ │ ├── PasteAsJsonResultFile.txt
│ │ │ │ ├── PasteAsMarkdownFile.html
│ │ │ │ ├── PasteAsMarkdownResultFile.txt
│ │ │ │ ├── PasteAsPlainTextFilePlain.rtf
│ │ │ │ ├── PasteAsPlainTextFilePlainNoRepeat.rtf
│ │ │ │ ├── PasteAsPlainTextFileRaw.rtf
│ │ │ │ └── settings.json
│ │ │ └── UITestAdvancedPaste.md
│ │ ├── CropAndLock/
│ │ │ ├── CropAndLock/
│ │ │ │ ├── ChildWindow.cpp
│ │ │ │ ├── ChildWindow.h
│ │ │ │ ├── CropAndLock.rc
│ │ │ │ ├── CropAndLock.vcxproj
│ │ │ │ ├── CropAndLock.vcxproj.filters
│ │ │ │ ├── CropAndLockWindow.h
│ │ │ │ ├── DispatcherQueue.desktop.interop.h
│ │ │ │ ├── DisplaysUtil.h
│ │ │ │ ├── ModuleConstants.h
│ │ │ │ ├── OverlayWindow.cpp
│ │ │ │ ├── OverlayWindow.h
│ │ │ │ ├── PropertySheet.props
│ │ │ │ ├── ReparentCropAndLockWindow.cpp
│ │ │ │ ├── ReparentCropAndLockWindow.h
│ │ │ │ ├── ScreenshotCropAndLockWindow.cpp
│ │ │ │ ├── ScreenshotCropAndLockWindow.h
│ │ │ │ ├── SettingsWindow.h
│ │ │ │ ├── ThumbnailCropAndLockWindow.cpp
│ │ │ │ ├── ThumbnailCropAndLockWindow.h
│ │ │ │ ├── ThumbnailUtil.h
│ │ │ │ ├── WindowRectUtil.h
│ │ │ │ ├── app.manifest
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── CropAndLockModuleInterface/
│ │ │ ├── CropAndLockModuleInterface.rc
│ │ │ ├── CropAndLockModuleInterface.vcxproj
│ │ │ ├── CropAndLockModuleInterface.vcxproj.filters
│ │ │ ├── dllmain.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ └── resource.h
│ │ ├── EnvironmentVariables/
│ │ │ ├── EnvironmentVariables/
│ │ │ │ ├── EnvironmentVariables.csproj
│ │ │ │ ├── EnvironmentVariablesXAML/
│ │ │ │ │ ├── App.xaml
│ │ │ │ │ ├── App.xaml.cs
│ │ │ │ │ ├── MainWindow.xaml
│ │ │ │ │ └── MainWindow.xaml.cs
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── LoggerWrapper.cs
│ │ │ │ │ └── NativeMethods.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── EnvironmentVariablesOpenedEvent.cs
│ │ │ │ │ ├── EnvironmentVariablesProfileEnabledEvent.cs
│ │ │ │ │ ├── EnvironmentVariablesVariableChangedEvent.cs
│ │ │ │ │ └── TelemetryWrapper.cs
│ │ │ │ └── app.manifest
│ │ │ ├── EnvironmentVariablesModuleInterface/
│ │ │ │ ├── EnvironmentVariablesModuleInterface.base.rc
│ │ │ │ ├── EnvironmentVariablesModuleInterface.vcxproj
│ │ │ │ ├── EnvironmentVariablesModuleInterface.vcxproj.filters
│ │ │ │ ├── Resource.resx
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── EnvironmentVariablesUILib/
│ │ │ ├── Converters/
│ │ │ │ ├── EnvironmentStateToBoolConverter.cs
│ │ │ │ ├── EnvironmentStateToMessageConverter.cs
│ │ │ │ ├── EnvironmentStateToTitleConverter.cs
│ │ │ │ ├── EnvironmentStateToVisibilityConverter.cs
│ │ │ │ └── VariableTypeToGlyphConverter.cs
│ │ │ ├── EnvironmentVariablesMainPage.xaml
│ │ │ ├── EnvironmentVariablesMainPage.xaml.cs
│ │ │ ├── EnvironmentVariablesUILib.csproj
│ │ │ ├── Helpers/
│ │ │ │ ├── ElevationHelper.cs
│ │ │ │ ├── EnvironmentVariablesHelper.cs
│ │ │ │ ├── EnvironmentVariablesService.cs
│ │ │ │ ├── IElevationHelper.cs
│ │ │ │ ├── IEnvironmentVariablesService.cs
│ │ │ │ ├── ILogger.cs
│ │ │ │ ├── LoggerInstance.cs
│ │ │ │ ├── NativeMethods.cs
│ │ │ │ └── ResourceLoaderInstance.cs
│ │ │ ├── Models/
│ │ │ │ ├── DefaultVariablesSet.cs
│ │ │ │ ├── EnvironmentState.cs
│ │ │ │ ├── ProfileVariablesSet.cs
│ │ │ │ ├── Variable.cs
│ │ │ │ ├── VariablesSet.cs
│ │ │ │ └── VariablesSetType.cs
│ │ │ ├── Strings/
│ │ │ │ └── en-us/
│ │ │ │ └── Resources.resw
│ │ │ ├── Telemetry/
│ │ │ │ ├── ITelemetry.cs
│ │ │ │ └── TelemetryInstance.cs
│ │ │ ├── ViewModels/
│ │ │ │ └── MainViewModel.cs
│ │ │ └── app.manifest
│ │ ├── FileLocksmith/
│ │ │ ├── FileLocksmithCLI/
│ │ │ │ ├── CLILogic.cpp
│ │ │ │ ├── CLILogic.h
│ │ │ │ ├── FileLocksmithCLI.rc
│ │ │ │ ├── FileLocksmithCLI.vcxproj
│ │ │ │ ├── FileLocksmithCLI.vcxproj.filters
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ └── tests/
│ │ │ │ ├── FileLocksmithCLITests.cpp
│ │ │ │ ├── FileLocksmithCLIUnitTests.vcxproj
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── FileLocksmithContextMenu/
│ │ │ │ ├── AppxManifest.xml
│ │ │ │ ├── FileLocksmithContextMenu.base.rc
│ │ │ │ ├── FileLocksmithContextMenu.vcxproj
│ │ │ │ ├── FileLocksmithContextMenu.vcxproj.filters
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── Source.def
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── framework.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.base.h
│ │ │ ├── FileLocksmithExt/
│ │ │ │ ├── ClassFactory.cpp
│ │ │ │ ├── ClassFactory.h
│ │ │ │ ├── ExplorerCommand.cpp
│ │ │ │ ├── ExplorerCommand.h
│ │ │ │ ├── FileLocksmithExt.base.rc
│ │ │ │ ├── FileLocksmithExt.vcxproj
│ │ │ │ ├── FileLocksmithExt.vcxproj.filters
│ │ │ │ ├── PowerToysModule.cpp
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── RuntimeRegistration.h
│ │ │ │ ├── dll.def
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── dllmain.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.base.h
│ │ │ ├── FileLocksmithLib/
│ │ │ │ ├── Constants.h
│ │ │ │ ├── FileLocksmith.h
│ │ │ │ ├── FileLocksmithLib.cpp
│ │ │ │ ├── FileLocksmithLib.vcxproj
│ │ │ │ ├── FileLocksmithLib.vcxproj.filters
│ │ │ │ ├── IPC.cpp
│ │ │ │ ├── IPC.h
│ │ │ │ ├── ProcessResult.h
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── Trace.cpp
│ │ │ │ ├── Trace.h
│ │ │ │ ├── framework.h
│ │ │ │ ├── packages.config
│ │ │ │ └── pch.cpp
│ │ │ ├── FileLocksmithLibInterop/
│ │ │ │ ├── FileLocksmith.cpp
│ │ │ │ ├── FileLocksmith.h
│ │ │ │ ├── FileLocksmithLibInterop.rc
│ │ │ │ ├── FileLocksmithLibInterop.vcxproj
│ │ │ │ ├── FileLocksmithLibInterop.vcxproj.filters
│ │ │ │ ├── NativeMethods.cpp
│ │ │ │ ├── NativeMethods.h
│ │ │ │ ├── NativeMethods.idl
│ │ │ │ ├── NtdllBase.cpp
│ │ │ │ ├── NtdllBase.h
│ │ │ │ ├── NtdllExtensions.cpp
│ │ │ │ ├── NtdllExtensions.h
│ │ │ │ ├── PowerToys.FileLocksmithLibInterop.def
│ │ │ │ ├── ProcessResult.cpp
│ │ │ │ ├── ProcessResult.h
│ │ │ │ ├── ProcessResult.idl
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.h
│ │ │ └── FileLocksmithUI/
│ │ │ ├── Converters/
│ │ │ │ ├── FileCountConverter.cs
│ │ │ │ ├── FileListToDescriptionConverter.cs
│ │ │ │ ├── PidToIconConverter.cs
│ │ │ │ └── UserToSystemWarningVisibilityConverter.cs
│ │ │ ├── FileLocksmithUI.csproj
│ │ │ ├── FileLocksmithXAML/
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── MainWindow.xaml
│ │ │ │ ├── MainWindow.xaml.cs
│ │ │ │ └── Views/
│ │ │ │ ├── MainPage.xaml
│ │ │ │ └── MainPage.xaml.cs
│ │ │ ├── Helpers/
│ │ │ │ └── ResourceLoaderInstance.cs
│ │ │ ├── Strings/
│ │ │ │ └── en-us/
│ │ │ │ └── Resources.resw
│ │ │ ├── ViewModels/
│ │ │ │ └── MainViewModel.cs
│ │ │ └── app.manifest
│ │ ├── Hosts/
│ │ │ ├── Hosts/
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── Host.cs
│ │ │ │ │ ├── LoggerWrapper.cs
│ │ │ │ │ └── NativeEventWaiter.cs
│ │ │ │ ├── Hosts.csproj
│ │ │ │ ├── HostsXAML/
│ │ │ │ │ ├── App.xaml
│ │ │ │ │ ├── App.xaml.cs
│ │ │ │ │ ├── MainWindow.xaml
│ │ │ │ │ └── MainWindow.xaml.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Settings/
│ │ │ │ │ └── UserSettings.cs
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── HostEditorStartEvent.cs
│ │ │ │ │ ├── HostEditorStartFinishEvent.cs
│ │ │ │ │ └── HostsFileEditorOpenedEvent.cs
│ │ │ │ └── app.manifest
│ │ │ ├── Hosts.FuzzTests/
│ │ │ │ ├── Fuzz.md
│ │ │ │ ├── FuzzTests.cs
│ │ │ │ ├── HostsEditor.FuzzTests.csproj
│ │ │ │ ├── MSTestSettings.cs
│ │ │ │ └── OneFuzzConfig.json
│ │ │ ├── Hosts.Tests/
│ │ │ │ ├── BackupManagerTest.cs
│ │ │ │ ├── EntryTest.cs
│ │ │ │ ├── HostsEditor.UnitTests.csproj
│ │ │ │ ├── HostsServiceTest.cs
│ │ │ │ └── Mocks/
│ │ │ │ ├── CustomMockFileSystem.cs
│ │ │ │ ├── MockFileSystemWatcher.cs
│ │ │ │ └── MockFileSystemWatcherFactory.cs
│ │ │ ├── Hosts.UITests/
│ │ │ │ ├── HostModuleTests.cs
│ │ │ │ ├── HostsEditor.UITests.csproj
│ │ │ │ ├── HostsSettingTests.cs
│ │ │ │ └── Release-Test-Checklist-Migration-Progress.md
│ │ │ ├── HostsModuleInterface/
│ │ │ │ ├── HostsModuleInterface.base.rc
│ │ │ │ ├── HostsModuleInterface.vcxproj
│ │ │ │ ├── HostsModuleInterface.vcxproj.filters
│ │ │ │ ├── Resource.resx
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── HostsUILib/
│ │ │ ├── Consts.cs
│ │ │ ├── Exceptions/
│ │ │ │ ├── NotRunningElevatedException.cs
│ │ │ │ └── ReadOnlyHostsException.cs
│ │ │ ├── Helpers/
│ │ │ │ ├── BackupManager.cs
│ │ │ │ ├── DuplicateService.cs
│ │ │ │ ├── ElevationHelper.cs
│ │ │ │ ├── ExpressionExtensions.cs
│ │ │ │ ├── HostsService.cs
│ │ │ │ ├── IBackupManager.cs
│ │ │ │ ├── IDuplicateService.cs
│ │ │ │ ├── IElevationHelper.cs
│ │ │ │ ├── IHostsService.cs
│ │ │ │ ├── ILogger.cs
│ │ │ │ ├── LoggerInstance.cs
│ │ │ │ ├── ResourceLoaderInstance.cs
│ │ │ │ ├── StringHelper.cs
│ │ │ │ ├── ValidationHelper.cs
│ │ │ │ └── VisualTreeUtils.cs
│ │ │ ├── HostsMainPage.xaml
│ │ │ ├── HostsMainPage.xaml.cs
│ │ │ ├── HostsUILib.csproj
│ │ │ ├── Models/
│ │ │ │ ├── AddressType.cs
│ │ │ │ ├── Entry.cs
│ │ │ │ └── HostsData.cs
│ │ │ ├── Settings/
│ │ │ │ ├── HostsAdditionalLinesPosition.cs
│ │ │ │ ├── HostsDeleteBackupMode.cs
│ │ │ │ ├── HostsEncoding.cs
│ │ │ │ └── IUserSettings.cs
│ │ │ ├── Strings/
│ │ │ │ └── en-us/
│ │ │ │ └── Resources.resw
│ │ │ └── ViewModels/
│ │ │ └── MainViewModel.cs
│ │ ├── LightSwitch/
│ │ │ ├── LightSwitchLib/
│ │ │ │ ├── LightSwitchLib.vcxproj
│ │ │ │ ├── LightSwitchLib.vcxproj.filters
│ │ │ │ ├── ThemeHelper.cpp
│ │ │ │ ├── ThemeHelper.h
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── LightSwitchModuleInterface/
│ │ │ │ ├── ExportedFunctions.cpp
│ │ │ │ ├── LightSwitchModuleInterface.rc
│ │ │ │ ├── LightSwitchModuleInterface.vcxproj
│ │ │ │ ├── LightSwitchModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── LightSwitchService/
│ │ │ │ ├── LightSwitchService.cpp
│ │ │ │ ├── LightSwitchService.rc
│ │ │ │ ├── LightSwitchService.vcxproj
│ │ │ │ ├── LightSwitchService.vcxproj.filters
│ │ │ │ ├── LightSwitchSettings.cpp
│ │ │ │ ├── LightSwitchSettings.h
│ │ │ │ ├── LightSwitchStateManager.cpp
│ │ │ │ ├── LightSwitchStateManager.h
│ │ │ │ ├── LightSwitchUtils.h
│ │ │ │ ├── NightLightRegistryObserver.cpp
│ │ │ │ ├── NightLightRegistryObserver.h
│ │ │ │ ├── SettingsConstants.cpp
│ │ │ │ ├── SettingsConstants.h
│ │ │ │ ├── SettingsObserver.h
│ │ │ │ ├── ThemeScheduler.cpp
│ │ │ │ ├── ThemeScheduler.h
│ │ │ │ ├── WinHookEventIDs.cpp
│ │ │ │ ├── WinHookEventIDs.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── Tests/
│ │ │ └── LightSwitch.UITests/
│ │ │ ├── LightSwitch.UITests.csproj
│ │ │ ├── Package.appxmanifest
│ │ │ ├── TestGeolocation.cs
│ │ │ ├── TestHelper.cs
│ │ │ ├── TestOffset.cs
│ │ │ ├── TestShortcut.cs
│ │ │ ├── TestUpdateManualTime.cs
│ │ │ ├── TestUserSelectedLocation.cs
│ │ │ └── app.manifest
│ │ ├── MeasureTool/
│ │ │ ├── MeasureToolCore/
│ │ │ │ ├── BGRATextureView.cpp
│ │ │ │ ├── BGRATextureView.h
│ │ │ │ ├── BoundsToolOverlayUI.cpp
│ │ │ │ ├── BoundsToolOverlayUI.h
│ │ │ │ ├── Clipboard.cpp
│ │ │ │ ├── Clipboard.h
│ │ │ │ ├── CoordinateSystemConversion.h
│ │ │ │ ├── D2DState.cpp
│ │ │ │ ├── D2DState.h
│ │ │ │ ├── DxgiAPI.cpp
│ │ │ │ ├── DxgiAPI.h
│ │ │ │ ├── EdgeDetection.cpp
│ │ │ │ ├── EdgeDetection.h
│ │ │ │ ├── MeasureTool.def
│ │ │ │ ├── MeasureToolOverlayUI.cpp
│ │ │ │ ├── MeasureToolOverlayUI.h
│ │ │ │ ├── Measurement.cpp
│ │ │ │ ├── Measurement.h
│ │ │ │ ├── OverlayUI.cpp
│ │ │ │ ├── OverlayUI.h
│ │ │ │ ├── PerGlyphOpacityTextRender.cpp
│ │ │ │ ├── PerGlyphOpacityTextRender.h
│ │ │ │ ├── PowerToys.MeasureToolCore.cpp
│ │ │ │ ├── PowerToys.MeasureToolCore.h
│ │ │ │ ├── PowerToys.MeasureToolCore.idl
│ │ │ │ ├── PowerToys.MeasureToolCore.rc
│ │ │ │ ├── PowerToys.MeasureToolCore.vcxproj
│ │ │ │ ├── PowerToys.MeasureToolCore.vcxproj.filters
│ │ │ │ ├── ScreenCapturing.cpp
│ │ │ │ ├── ScreenCapturing.h
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── ToolState.h
│ │ │ │ ├── app.manifest
│ │ │ │ ├── constants.h
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.h
│ │ │ ├── MeasureToolModuleInterface/
│ │ │ │ ├── MeasureToolModuleInterface.rc
│ │ │ │ ├── MeasureToolModuleInterface.vcxproj
│ │ │ │ ├── MeasureToolModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── MeasureToolUI/
│ │ │ │ ├── MeasureToolUI.csproj
│ │ │ │ ├── MeasureToolXAML/
│ │ │ │ │ ├── App.xaml
│ │ │ │ │ ├── App.xaml.cs
│ │ │ │ │ ├── MainWindow.xaml
│ │ │ │ │ └── MainWindow.xaml.cs
│ │ │ │ ├── NativeMethods.cs
│ │ │ │ ├── Package.appxmanifest
│ │ │ │ ├── Settings.cs
│ │ │ │ ├── Strings/
│ │ │ │ │ └── en-us/
│ │ │ │ │ └── Resources.resw
│ │ │ │ └── app.manifest
│ │ │ └── Tests/
│ │ │ └── ScreenRuler.UITests/
│ │ │ ├── Package.appxmanifest
│ │ │ ├── ScreenRuler.UITests.csproj
│ │ │ ├── TestBounds.cs
│ │ │ ├── TestHelper.cs
│ │ │ ├── TestShortcutActivation.cs
│ │ │ ├── TestSpacing.cs
│ │ │ ├── TestSpacingHorizontal.cs
│ │ │ ├── TestSpacingVertical.cs
│ │ │ └── app.manifest
│ │ ├── MouseUtils/
│ │ │ ├── CursorWrap/
│ │ │ │ ├── CursorWrap.rc
│ │ │ │ ├── CursorWrap.vcxproj
│ │ │ │ ├── CursorWrapCore.cpp
│ │ │ │ ├── CursorWrapCore.h
│ │ │ │ ├── CursorWrapTests/
│ │ │ │ │ ├── CURSOR_WRAP_TESTS.md
│ │ │ │ │ ├── Capture-MonitorLayout.ps1
│ │ │ │ │ ├── CursorLog/
│ │ │ │ │ │ ├── CursorLog/
│ │ │ │ │ │ │ ├── CursorLog.cpp
│ │ │ │ │ │ │ ├── CursorLog.vcxproj
│ │ │ │ │ │ │ └── CursorLog.vcxproj.filters
│ │ │ │ │ │ └── CursorLog.slnx
│ │ │ │ │ ├── WrapSimulator/
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ ├── test_new_algorithm.py
│ │ │ │ │ │ └── wrap_simulator.py
│ │ │ │ │ ├── analyze_test_results.py
│ │ │ │ │ └── monitor_layout_tests.py
│ │ │ │ ├── CursorWrapTests.h
│ │ │ │ ├── MonitorTopology.cpp
│ │ │ │ ├── MonitorTopology.h
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── FindMyMouse/
│ │ │ │ ├── FindMyMouse.cpp
│ │ │ │ ├── FindMyMouse.h
│ │ │ │ ├── FindMyMouse.rc
│ │ │ │ ├── FindMyMouse.vcxproj
│ │ │ │ ├── FindMyMouse.vcxproj.filters
│ │ │ │ ├── WinHookEventIDs.cpp
│ │ │ │ ├── WinHookEventIDs.h
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── MouseHighlighter/
│ │ │ │ ├── MouseHighlighter.cpp
│ │ │ │ ├── MouseHighlighter.h
│ │ │ │ ├── MouseHighlighter.rc
│ │ │ │ ├── MouseHighlighter.vcxproj
│ │ │ │ ├── MouseHighlighter.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── MouseJump/
│ │ │ │ ├── MouseJump.rc
│ │ │ │ ├── MouseJump.vcxproj
│ │ │ │ ├── MouseJump.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── MouseJump.Common/
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── ConfigHelper.cs
│ │ │ │ │ ├── DrawingHelper.cs
│ │ │ │ │ ├── LayoutHelper.cs
│ │ │ │ │ ├── MouseHelper.cs
│ │ │ │ │ ├── ScreenHelper.cs
│ │ │ │ │ └── StyleHelper.cs
│ │ │ │ ├── Imaging/
│ │ │ │ │ ├── DesktopImageRegionCopyService.cs
│ │ │ │ │ ├── IImageRegionCopyService.cs
│ │ │ │ │ └── StaticImageRegionCopyService.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── Drawing/
│ │ │ │ │ │ ├── BoxBounds.cs
│ │ │ │ │ │ ├── PointInfo.cs
│ │ │ │ │ │ ├── RectangleInfo.cs
│ │ │ │ │ │ ├── ScreenInfo.cs
│ │ │ │ │ │ └── SizeInfo.cs
│ │ │ │ │ ├── Layout/
│ │ │ │ │ │ └── PreviewLayout.cs
│ │ │ │ │ ├── Settings/
│ │ │ │ │ │ └── PreviewType.cs
│ │ │ │ │ └── Styles/
│ │ │ │ │ ├── BackgroundStyle.cs
│ │ │ │ │ ├── BorderStyle.cs
│ │ │ │ │ ├── BoxStyle.cs
│ │ │ │ │ ├── MarginStyle.cs
│ │ │ │ │ ├── PaddingStyle.cs
│ │ │ │ │ └── PreviewStyle.cs
│ │ │ │ ├── MouseJump.Common.csproj
│ │ │ │ ├── NativeMethods/
│ │ │ │ │ ├── Core/
│ │ │ │ │ │ ├── BOOL.cs
│ │ │ │ │ │ ├── CRECT.cs
│ │ │ │ │ │ ├── DWORD.cs
│ │ │ │ │ │ ├── HANDLE.cs
│ │ │ │ │ │ ├── HDC.cs
│ │ │ │ │ │ ├── HMONITOR.cs
│ │ │ │ │ │ ├── HWND.cs
│ │ │ │ │ │ ├── LONG.cs
│ │ │ │ │ │ ├── LPARAM.cs
│ │ │ │ │ │ ├── LPCRECT.cs
│ │ │ │ │ │ ├── LPPOINT.cs
│ │ │ │ │ │ ├── LPRECT.cs
│ │ │ │ │ │ ├── POINT.cs
│ │ │ │ │ │ ├── RECT.cs
│ │ │ │ │ │ ├── UINT.cs
│ │ │ │ │ │ ├── ULONG_PTR.cs
│ │ │ │ │ │ └── WORD.cs
│ │ │ │ │ ├── Gdi32/
│ │ │ │ │ │ └── Graphics/
│ │ │ │ │ │ └── Gdi/
│ │ │ │ │ │ ├── Gdi32.ROP_CODE.cs
│ │ │ │ │ │ ├── Gdi32.STRETCH_BLT_MODE.cs
│ │ │ │ │ │ ├── Gdi32.SetStretchBltMode.cs
│ │ │ │ │ │ └── Gdi32.StretchBlt.cs
│ │ │ │ │ ├── Libraries.cs
│ │ │ │ │ └── User32/
│ │ │ │ │ ├── Graphics/
│ │ │ │ │ │ └── Gdi/
│ │ │ │ │ │ ├── User32.EnumDisplayMonitors.cs
│ │ │ │ │ │ ├── User32.GetMonitorInfoW.cs
│ │ │ │ │ │ ├── User32.GetWindowDC.cs
│ │ │ │ │ │ ├── User32.LPMONITORINFO.cs
│ │ │ │ │ │ ├── User32.MONITORENUMPROC .cs
│ │ │ │ │ │ ├── User32.MONITORINFO.cs
│ │ │ │ │ │ ├── User32.MONITOR_FROM_FLAGS.cs
│ │ │ │ │ │ ├── User32.MONITOR_INFO_FLAGS.cs
│ │ │ │ │ │ ├── User32.MonitorFromPoint .cs
│ │ │ │ │ │ └── User32.ReleaseDC.cs
│ │ │ │ │ └── UI/
│ │ │ │ │ ├── Input/
│ │ │ │ │ │ └── KeyboardAndMouse/
│ │ │ │ │ │ ├── User32.HARDWAREINPUT.cs
│ │ │ │ │ │ ├── User32.INPUT.cs
│ │ │ │ │ │ ├── User32.INPUT_TYPE.cs
│ │ │ │ │ │ ├── User32.KEYBDINPUT.cs
│ │ │ │ │ │ ├── User32.LPINPUT.cs
│ │ │ │ │ │ ├── User32.MOUSEINPUT.cs
│ │ │ │ │ │ ├── User32.MOUSE_EVENT_FLAGS.cs
│ │ │ │ │ │ └── User32.SendInput.cs
│ │ │ │ │ └── WindowsAndMessaging/
│ │ │ │ │ ├── User32.GetCursorPos.cs
│ │ │ │ │ ├── User32.GetDesktopWindow.cs
│ │ │ │ │ ├── User32.GetSystemMetrics.cs
│ │ │ │ │ ├── User32.SYSTEM_METRICS_INDEX.cs
│ │ │ │ │ └── User32.SetCursorPos.cs
│ │ │ │ └── Properties/
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── MouseJump.Common.UnitTests/
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── DrawingHelperTests.cs
│ │ │ │ │ ├── LayoutHelperTests.cs
│ │ │ │ │ └── MouseHelperTests.cs
│ │ │ │ ├── Models/
│ │ │ │ │ └── Drawing/
│ │ │ │ │ ├── RectangleInfoTests.cs
│ │ │ │ │ └── SizeInfoTests.cs
│ │ │ │ └── MouseJump.Common.UnitTests.csproj
│ │ │ ├── MouseJumpUI/
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── SettingsHelper.cs
│ │ │ │ │ └── ThrottledActionInvoker.cs
│ │ │ │ ├── MainForm.Designer.cs
│ │ │ │ ├── MainForm.cs
│ │ │ │ ├── MainForm.resx
│ │ │ │ ├── MouseJumpUI.csproj
│ │ │ │ ├── Program.cs
│ │ │ │ └── Telemetry/
│ │ │ │ ├── MouseJumpShowEvent.cs
│ │ │ │ └── MouseJumpTeleportCursorEvent.cs
│ │ │ ├── MousePointerCrosshairs/
│ │ │ │ ├── InclusiveCrosshairs.cpp
│ │ │ │ ├── InclusiveCrosshairs.h
│ │ │ │ ├── MousePointerCrosshairs.rc
│ │ │ │ ├── MousePointerCrosshairs.vcxproj
│ │ │ │ ├── MousePointerCrosshairs.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── MouseUtils.UITests/
│ │ │ ├── FindMyMouseTests.cs
│ │ │ ├── MouseHighlighterTests.cs
│ │ │ ├── MouseJumpTests.cs
│ │ │ ├── MousePointerCrosshairsTests.cs
│ │ │ ├── MouseUtils.UITests.csproj
│ │ │ ├── Release-Test-Checklist-Migration-Progress.md
│ │ │ └── util/
│ │ │ ├── FindMyMouseSettings.cs
│ │ │ ├── IOUtil.cs
│ │ │ ├── MouseHighlighterSettings.cs
│ │ │ ├── MousePointerCrosshairsSettings.cs
│ │ │ └── MouseUtilsSettings.cs
│ │ ├── MouseWithoutBorders/
│ │ │ ├── App/
│ │ │ │ ├── Class/
│ │ │ │ │ ├── CustomCursor.cs
│ │ │ │ │ ├── EasyMouseOption.cs
│ │ │ │ │ ├── Extensions.cs
│ │ │ │ │ ├── IClipboardHelper.cs
│ │ │ │ │ ├── InputHook.cs
│ │ │ │ │ ├── InputSimulation.cs
│ │ │ │ │ ├── MachinePool.cs
│ │ │ │ │ ├── MachinePoolHelpers.cs
│ │ │ │ │ ├── MouseLocation.cs
│ │ │ │ │ ├── MyKnownBitmap.cs
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── Setting.cs
│ │ │ │ │ ├── SeverityLevel.cs
│ │ │ │ │ ├── SocketStuff.cs
│ │ │ │ │ └── TcpServer.cs
│ │ │ │ ├── Control/
│ │ │ │ │ ├── ColorBorderField.Designer.cs
│ │ │ │ │ ├── ColorBorderField.cs
│ │ │ │ │ ├── ColorBorderField.resx
│ │ │ │ │ ├── ImageButton.Designer.cs
│ │ │ │ │ ├── ImageButton.cs
│ │ │ │ │ ├── ImageButton.resx
│ │ │ │ │ ├── ImageRadioButton.Designer.cs
│ │ │ │ │ ├── ImageRadioButton.cs
│ │ │ │ │ ├── ImageRadioButton.resx
│ │ │ │ │ ├── Machine.cs
│ │ │ │ │ ├── Machine.designer.cs
│ │ │ │ │ ├── Machine.resx
│ │ │ │ │ ├── Machine2.Designer.cs
│ │ │ │ │ ├── Machine2.resx
│ │ │ │ │ ├── MachineMatrix.Designer.cs
│ │ │ │ │ └── MachineMatrix.resx
│ │ │ │ ├── Core/
│ │ │ │ │ ├── Clipboard.cs
│ │ │ │ │ ├── ClipboardPostAction.cs
│ │ │ │ │ ├── CommandEventHandler.cs
│ │ │ │ │ ├── Common.cs
│ │ │ │ │ ├── DATA.cs
│ │ │ │ │ ├── DragDrop.cs
│ │ │ │ │ ├── Encryption.cs
│ │ │ │ │ ├── Event.cs
│ │ │ │ │ ├── Helper.cs
│ │ │ │ │ ├── ID.cs
│ │ │ │ │ ├── InitAndCleanup.cs
│ │ │ │ │ ├── IpcChannelHelper.cs
│ │ │ │ │ ├── KEYBDDATA.cs
│ │ │ │ │ ├── Launch.cs
│ │ │ │ │ ├── Logger.cs
│ │ │ │ │ ├── MOUSEDATA.cs
│ │ │ │ │ ├── MachineInf.cs
│ │ │ │ │ ├── MachineStuff.cs
│ │ │ │ │ ├── MyRectangle.cs
│ │ │ │ │ ├── Package.cs
│ │ │ │ │ ├── PackageMonitor.cs
│ │ │ │ │ ├── PackageType.cs
│ │ │ │ │ ├── Receiver.cs
│ │ │ │ │ ├── Service.cs
│ │ │ │ │ ├── ShutdownWithPowerToys.cs
│ │ │ │ │ ├── Thread.cs
│ │ │ │ │ ├── VK.cs
│ │ │ │ │ ├── WM.cs
│ │ │ │ │ └── WinAPI.cs
│ │ │ │ ├── Exceptions/
│ │ │ │ │ ├── ExpectedSocketException.cs
│ │ │ │ │ ├── KnownException.cs
│ │ │ │ │ └── NotPhysicalConsoleException.cs
│ │ │ │ ├── Form/
│ │ │ │ │ ├── Settings/
│ │ │ │ │ │ ├── PageEventArgs.cs
│ │ │ │ │ │ ├── SettingsForm.Designer.cs
│ │ │ │ │ │ ├── SettingsForm.cs
│ │ │ │ │ │ ├── SettingsForm.resx
│ │ │ │ │ │ ├── SettingsFormPage.Designer.cs
│ │ │ │ │ │ ├── SettingsFormPage.cs
│ │ │ │ │ │ ├── SettingsFormPage.resx
│ │ │ │ │ │ ├── SettingsPage.Designer.cs
│ │ │ │ │ │ ├── SettingsPage.resx
│ │ │ │ │ │ ├── SettingsPage1.Designer.cs
│ │ │ │ │ │ ├── SettingsPage1.resx
│ │ │ │ │ │ ├── SettingsPage2.Designer.cs
│ │ │ │ │ │ ├── SettingsPage2.resx
│ │ │ │ │ │ ├── SettingsPage3.Designer.cs
│ │ │ │ │ │ ├── SettingsPage3.resx
│ │ │ │ │ │ ├── SettingsPage4.Designer.cs
│ │ │ │ │ │ ├── SettingsPage4.resx
│ │ │ │ │ │ ├── SetupPage1.Designer.cs
│ │ │ │ │ │ ├── SetupPage1.cs
│ │ │ │ │ │ ├── SetupPage1.resx
│ │ │ │ │ │ ├── SetupPage2a.Designer.cs
│ │ │ │ │ │ ├── SetupPage2a.cs
│ │ │ │ │ │ ├── SetupPage2a.resx
│ │ │ │ │ │ ├── SetupPage2aa.Designer.cs
│ │ │ │ │ │ ├── SetupPage2aa.cs
│ │ │ │ │ │ ├── SetupPage2aa.resx
│ │ │ │ │ │ ├── SetupPage2ab.Designer.cs
│ │ │ │ │ │ ├── SetupPage2ab.cs
│ │ │ │ │ │ ├── SetupPage2ab.resx
│ │ │ │ │ │ ├── SetupPage2b.Designer.cs
│ │ │ │ │ │ ├── SetupPage2b.cs
│ │ │ │ │ │ ├── SetupPage2b.resx
│ │ │ │ │ │ ├── SetupPage3a.Designer.cs
│ │ │ │ │ │ ├── SetupPage3a.cs
│ │ │ │ │ │ ├── SetupPage3a.resx
│ │ │ │ │ │ ├── SetupPage4.Designer.cs
│ │ │ │ │ │ ├── SetupPage4.cs
│ │ │ │ │ │ ├── SetupPage4.resx
│ │ │ │ │ │ ├── SetupPage5.Designer.cs
│ │ │ │ │ │ ├── SetupPage5.cs
│ │ │ │ │ │ └── SetupPage5.resx
│ │ │ │ │ ├── frmAbout.Designer.cs
│ │ │ │ │ ├── frmAbout.cs
│ │ │ │ │ ├── frmAbout.resx
│ │ │ │ │ ├── frmInputCallback.Designer.cs
│ │ │ │ │ ├── frmInputCallback.cs
│ │ │ │ │ ├── frmInputCallback.resx
│ │ │ │ │ ├── frmLogon.Designer.cs
│ │ │ │ │ ├── frmLogon.cs
│ │ │ │ │ ├── frmLogon.resx
│ │ │ │ │ ├── frmMatrix.Designer.cs
│ │ │ │ │ ├── frmMatrix.cs
│ │ │ │ │ ├── frmMatrix.resx
│ │ │ │ │ ├── frmMessage.Designer.cs
│ │ │ │ │ ├── frmMessage.cs
│ │ │ │ │ ├── frmMessage.resx
│ │ │ │ │ ├── frmMouseCursor.Designer.cs
│ │ │ │ │ ├── frmMouseCursor.cs
│ │ │ │ │ ├── frmMouseCursor.resx
│ │ │ │ │ ├── frmScreen.Designer.cs
│ │ │ │ │ ├── frmScreen.cs
│ │ │ │ │ └── frmScreen.resx
│ │ │ │ ├── Helper/
│ │ │ │ │ ├── FormDot.Designer.cs
│ │ │ │ │ ├── FormDot.cs
│ │ │ │ │ ├── FormDot.resx
│ │ │ │ │ ├── FormHelper.Designer.cs
│ │ │ │ │ ├── FormHelper.cs
│ │ │ │ │ ├── FormHelper.resx
│ │ │ │ │ ├── MouseWithoutBordersHelper.csproj
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ └── Program.cs
│ │ │ │ ├── MouseWithoutBorders.csproj
│ │ │ │ ├── MouseWithoutBorders.exe.manifest
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ ├── Images.Designer.cs
│ │ │ │ │ └── Images.resx
│ │ │ │ ├── Service/
│ │ │ │ │ ├── MouseWithoutBordersService.csproj
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ └── Worker.cs
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── MouseWithoutBordersClipboardFileTransferEvent.cs
│ │ │ │ │ ├── MouseWithoutBordersDragAndDropEvent.cs
│ │ │ │ │ ├── MouseWithoutBordersMultipleModeEvent.cs
│ │ │ │ │ ├── MouseWithoutBordersOldUIOpenedEvent.cs
│ │ │ │ │ ├── MouseWithoutBordersOldUIQuitEvent.cs
│ │ │ │ │ ├── MouseWithoutBordersOldUIReconfigureEvent.cs
│ │ │ │ │ └── MouseWithoutBordersStartedEvent.cs
│ │ │ │ └── appsettings.json
│ │ │ ├── ModuleInterface/
│ │ │ │ ├── MouseWithoutBordersModuleInterface.rc
│ │ │ │ ├── MouseWithoutBordersModuleInterface.vcxproj
│ │ │ │ ├── MouseWithoutBordersModuleInterface.vcxproj.filters
│ │ │ │ ├── MouseWithoutBordersModuleInterface.vcxproj.rc
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── generateSecurityDescriptor.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── MouseWithoutBorders.UnitTests/
│ │ │ ├── Core/
│ │ │ │ ├── Logger.PrivateDump.expected.txt
│ │ │ │ ├── Logger.PrivateDump.original.txt
│ │ │ │ └── LoggerTests.cs
│ │ │ └── MouseWithoutBorders.UnitTests.csproj
│ │ ├── NewPlus/
│ │ │ ├── NewShellExtensionContextMenu/
│ │ │ │ ├── AppxManifest.xml
│ │ │ │ ├── Helpers.cpp
│ │ │ │ ├── Helpers.h
│ │ │ │ ├── NewShellExtensionContextMenu.vcxproj
│ │ │ │ ├── NewShellExtensionContextMenu.vcxproj.filters
│ │ │ │ ├── RuntimeRegistration.h
│ │ │ │ ├── TemplateExamples/
│ │ │ │ │ ├── Any files or folders placed in the template folder are available via New+.txt
│ │ │ │ │ └── Example folder/
│ │ │ │ │ ├── Another example txt file.txt
│ │ │ │ │ └── Example txt file.txt
│ │ │ │ ├── constants.h
│ │ │ │ ├── dll.def
│ │ │ │ ├── dll_main.cpp
│ │ │ │ ├── dll_main.h
│ │ │ │ ├── helpers_filesystem.h
│ │ │ │ ├── helpers_variables.h
│ │ │ │ ├── new.base.rc
│ │ │ │ ├── new_utilities.cpp
│ │ │ │ ├── new_utilities.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── powertoys_module.cpp
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── resources.resx
│ │ │ │ ├── settings.cpp
│ │ │ │ ├── settings.h
│ │ │ │ ├── shell_context_menu.cpp
│ │ │ │ ├── shell_context_menu.h
│ │ │ │ ├── shell_context_sub_menu.cpp
│ │ │ │ ├── shell_context_sub_menu.h
│ │ │ │ ├── shell_context_sub_menu_item.cpp
│ │ │ │ ├── shell_context_sub_menu_item.h
│ │ │ │ ├── template_folder.cpp
│ │ │ │ ├── template_folder.h
│ │ │ │ ├── template_item.cpp
│ │ │ │ ├── template_item.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── NewShellExtensionContextMenu.win10/
│ │ │ ├── NewPlus.ShellExtension.win10.vcxproj
│ │ │ ├── NewPlus.ShellExtension.win10.vcxproj.filters
│ │ │ ├── dll.def
│ │ │ ├── dll_main.cpp
│ │ │ ├── dll_main.h
│ │ │ ├── new.base.rc
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── resource.base.h
│ │ │ ├── resources.resx
│ │ │ ├── shell_context_menu_win10.cpp
│ │ │ └── shell_context_menu_win10.h
│ │ ├── PowerOCR/
│ │ │ ├── PowerOCR/
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── CursorClipper.cs
│ │ │ │ │ ├── IThrottledActionInvoker.cs
│ │ │ │ │ ├── ImageMethods.cs
│ │ │ │ │ ├── LanguageHelper.cs
│ │ │ │ │ ├── OSInterop.cs
│ │ │ │ │ ├── OcrExtensions.cs
│ │ │ │ │ ├── StringHelpers.cs
│ │ │ │ │ ├── ThrottledActionInvoker.cs
│ │ │ │ │ ├── WPFExtensionMethods.cs
│ │ │ │ │ ├── WindowUtilities.cs
│ │ │ │ │ └── WrappingStream.cs
│ │ │ │ ├── Keyboard/
│ │ │ │ │ ├── EventMonitor.cs
│ │ │ │ │ ├── GlobalKeyboardHook.cs
│ │ │ │ │ ├── GlobalKeyboardHookEventArgs.cs
│ │ │ │ │ └── KeyboardMonitor.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── NullAsyncResult.cs
│ │ │ │ │ ├── NullWaitHandle.cs
│ │ │ │ │ ├── ResultColumn.cs
│ │ │ │ │ ├── ResultRow.cs
│ │ │ │ │ ├── ResultTable.cs
│ │ │ │ │ └── WordBorder.cs
│ │ │ │ ├── OCROverlay.xaml
│ │ │ │ ├── OCROverlay.xaml.cs
│ │ │ │ ├── PowerOCR.csproj
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── Settings/
│ │ │ │ │ ├── IUserSettings.cs
│ │ │ │ │ ├── SettingItem`1.cs
│ │ │ │ │ └── UserSettings.cs
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── PowerOCRCancelledEvent.cs
│ │ │ │ │ ├── PowerOCRCaptureEvent.cs
│ │ │ │ │ └── PowerOCRInvokedEvent.cs
│ │ │ │ └── app.manifest
│ │ │ ├── PowerOCR-UITests/
│ │ │ │ ├── PowerOCR.UITests.csproj
│ │ │ │ ├── PowerOCRTests.cs
│ │ │ │ └── tests-checklist-text-extractor.md
│ │ │ └── PowerOCRModuleInterface/
│ │ │ ├── PowerOCR.base.rc
│ │ │ ├── PowerOCRModuleInterface.vcxproj
│ │ │ ├── PowerOCRModuleInterface.vcxproj.filters
│ │ │ ├── PowerOcrConstants.h
│ │ │ ├── Resources.resx
│ │ │ ├── dllmain.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── resource.base.h
│ │ │ ├── trace.cpp
│ │ │ └── trace.h
│ │ ├── ShortcutGuide/
│ │ │ ├── ShortcutGuide/
│ │ │ │ ├── PropertySheet.props
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── ShortcutGuide.base.rc
│ │ │ │ ├── ShortcutGuide.exe.manifest
│ │ │ │ ├── ShortcutGuide.vcxproj
│ │ │ │ ├── ShortcutGuide.vcxproj.filters
│ │ │ │ ├── ShortcutGuideConstants.h
│ │ │ │ ├── ShortcutGuideSettings.h
│ │ │ │ ├── animation.cpp
│ │ │ │ ├── animation.h
│ │ │ │ ├── d2d_svg.cpp
│ │ │ │ ├── d2d_svg.h
│ │ │ │ ├── d2d_text.cpp
│ │ │ │ ├── d2d_text.h
│ │ │ │ ├── d2d_window.cpp
│ │ │ │ ├── d2d_window.h
│ │ │ │ ├── main.cpp
│ │ │ │ ├── native_event_waiter.cpp
│ │ │ │ ├── native_event_waiter.h
│ │ │ │ ├── overlay_window.cpp
│ │ │ │ ├── overlay_window.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── shortcut_guide.cpp
│ │ │ │ ├── shortcut_guide.h
│ │ │ │ ├── start_visible.cpp
│ │ │ │ ├── start_visible.h
│ │ │ │ ├── target_state.cpp
│ │ │ │ ├── target_state.h
│ │ │ │ ├── tasklist_positions.cpp
│ │ │ │ ├── tasklist_positions.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── ShortcutGuideModuleInterface/
│ │ │ ├── README.md
│ │ │ ├── Resources.resx
│ │ │ ├── ShortcutGuideModuleInterface.base.rc
│ │ │ ├── ShortcutGuideModuleInterface.vcxproj
│ │ │ ├── ShortcutGuideModuleInterface.vcxproj.filters
│ │ │ ├── dllmain.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ └── resource.base.h
│ │ ├── Workspaces/
│ │ │ ├── WindowProperties/
│ │ │ │ └── WorkspacesWindowPropertyUtils.h
│ │ │ ├── Workspaces.ModuleServices/
│ │ │ │ ├── IWorkspaceService.cs
│ │ │ │ ├── WorkspaceService.cs
│ │ │ │ └── Workspaces.ModuleServices.csproj
│ │ │ ├── WorkspacesCsharpLibrary/
│ │ │ │ ├── Data/
│ │ │ │ │ ├── ApplicationWrapper.cs
│ │ │ │ │ ├── InvokePoint.cs
│ │ │ │ │ ├── MonitorConfigurationWrapper.cs
│ │ │ │ │ ├── ProjectData.cs
│ │ │ │ │ ├── ProjectWrapper.cs
│ │ │ │ │ ├── TempProjectData.cs
│ │ │ │ │ ├── WorkspacesData.cs
│ │ │ │ │ ├── WorkspacesEditorData`1.cs
│ │ │ │ │ ├── WorkspacesJsonOptions.cs
│ │ │ │ │ ├── WorkspacesStorage.cs
│ │ │ │ │ └── WorkspacesStorageJsonContext.cs
│ │ │ │ ├── DrawHelper.cs
│ │ │ │ ├── Models/
│ │ │ │ │ └── BaseApplication.cs
│ │ │ │ ├── PwaApp.cs
│ │ │ │ ├── PwaHelper.cs
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── DashCaseNamingPolicy.cs
│ │ │ │ │ ├── FolderUtils.cs
│ │ │ │ │ ├── IOUtils.cs
│ │ │ │ │ └── StringUtils.cs
│ │ │ │ └── WorkspacesCsharpLibrary.csproj
│ │ │ ├── WorkspacesEditor/
│ │ │ │ ├── App.config
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── Controls/
│ │ │ │ │ └── ResetIsEnabled.cs
│ │ │ │ ├── Converters/
│ │ │ │ │ └── BooleanToInvertedVisibilityConverter.cs
│ │ │ │ ├── HeadingTextBlock.cs
│ │ │ │ ├── MainPage.xaml
│ │ │ │ ├── MainPage.xaml.cs
│ │ │ │ ├── MainWindow.xaml
│ │ │ │ ├── MainWindow.xaml.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── AppListDataTemplateSelector.cs
│ │ │ │ │ ├── Application.cs
│ │ │ │ │ ├── Monitor.cs
│ │ │ │ │ ├── MonitorHeaderRow.cs
│ │ │ │ │ ├── MonitorSetup.cs
│ │ │ │ │ └── Project.cs
│ │ │ │ ├── OverlayWindow.xaml
│ │ │ │ ├── OverlayWindow.xaml.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ ├── Resources.resx
│ │ │ │ │ ├── Settings.Designer.cs
│ │ │ │ │ └── Settings.settings
│ │ │ │ ├── SnapshotWindow.xaml
│ │ │ │ ├── SnapshotWindow.xaml.cs
│ │ │ │ ├── Styles/
│ │ │ │ │ └── ButtonStyles.xaml
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── CreateEvent.cs
│ │ │ │ │ ├── DeleteEvent.cs
│ │ │ │ │ ├── EditEvent.cs
│ │ │ │ │ ├── WorkspacesEditorStartEvent.cs
│ │ │ │ │ └── WorkspacesEditorStartFinishEvent.cs
│ │ │ │ ├── Themes/
│ │ │ │ │ ├── Dark.xaml
│ │ │ │ │ ├── HighContrast1.xaml
│ │ │ │ │ ├── HighContrast2.xaml
│ │ │ │ │ ├── HighContrastBlack.xaml
│ │ │ │ │ ├── HighContrastWhite.xaml
│ │ │ │ │ └── Light.xaml
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── DrawHelper.cs
│ │ │ │ │ ├── MonitorHelper.cs
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ ├── ParsingResult.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ ├── StringUtils.cs
│ │ │ │ │ ├── WorkspacesEditorIO.cs
│ │ │ │ │ └── WorkspacesIcon.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ └── MainViewModel.cs
│ │ │ │ ├── WorkspacesEditor.csproj
│ │ │ │ ├── WorkspacesEditorPage.xaml
│ │ │ │ ├── WorkspacesEditorPage.xaml.cs
│ │ │ │ └── app.manifest
│ │ │ ├── WorkspacesEditorUITest/
│ │ │ │ ├── Workspaces.Editor.UITests.csproj
│ │ │ │ ├── WorkspacesEditingPageTests.cs
│ │ │ │ ├── WorkspacesEditorTests.cs
│ │ │ │ ├── WorkspacesLauncherTest.cs
│ │ │ │ ├── WorkspacesSettingsTests.cs
│ │ │ │ ├── WorkspacesSnapshotTests.cs
│ │ │ │ └── WorkspacesUiAutomationBase.cs
│ │ │ ├── WorkspacesLauncher/
│ │ │ │ ├── AppLauncher.cpp
│ │ │ │ ├── AppLauncher.h
│ │ │ │ ├── Launcher.cpp
│ │ │ │ ├── Launcher.h
│ │ │ │ ├── LauncherUIHelper.cpp
│ │ │ │ ├── LauncherUIHelper.h
│ │ │ │ ├── PropertySheet.props
│ │ │ │ ├── RegistryUtils.cpp
│ │ │ │ ├── RegistryUtils.h
│ │ │ │ ├── Resource.resx
│ │ │ │ ├── WindowArrangerHelper.cpp
│ │ │ │ ├── WindowArrangerHelper.h
│ │ │ │ ├── WorkspacesLauncher.vcxproj
│ │ │ │ ├── WorkspacesLauncher.vcxproj.filters
│ │ │ │ ├── WorkspacesLauncherResource.base.rc
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.base.h
│ │ │ ├── WorkspacesLauncherUI/
│ │ │ │ ├── App.config
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── Converters/
│ │ │ │ │ └── BooleanToInvertedVisibilityConverter.cs
│ │ │ │ ├── Data/
│ │ │ │ │ ├── AppLaunchData.cs
│ │ │ │ │ ├── AppLaunchInfoData.cs
│ │ │ │ │ ├── AppLaunchInfosData.cs
│ │ │ │ │ ├── ApplicationWrapper.cs
│ │ │ │ │ ├── LaunchingState.cs
│ │ │ │ │ └── PositionWrapper.cs
│ │ │ │ ├── HeadingTextBlock.cs
│ │ │ │ ├── Models/
│ │ │ │ │ └── AppLaunching.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ ├── Resources.resx
│ │ │ │ │ ├── Settings.Designer.cs
│ │ │ │ │ └── Settings.settings
│ │ │ │ ├── StatusWindow.xaml
│ │ │ │ ├── StatusWindow.xaml.cs
│ │ │ │ ├── Styles/
│ │ │ │ │ └── ButtonStyles.xaml
│ │ │ │ ├── Themes/
│ │ │ │ │ ├── Dark.xaml
│ │ │ │ │ ├── HighContrast1.xaml
│ │ │ │ │ ├── HighContrast2.xaml
│ │ │ │ │ ├── HighContrastBlack.xaml
│ │ │ │ │ ├── HighContrastWhite.xaml
│ │ │ │ │ └── Light.xaml
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── DashCaseNamingPolicy.cs
│ │ │ │ │ └── StringUtils.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ └── MainViewModel.cs
│ │ │ │ ├── WorkspacesLauncherUI.csproj
│ │ │ │ └── app.manifest
│ │ │ ├── WorkspacesLib/
│ │ │ │ ├── AppUtils.cpp
│ │ │ │ ├── AppUtils.h
│ │ │ │ ├── CommandLineArgsHelper.cpp
│ │ │ │ ├── CommandLineArgsHelper.h
│ │ │ │ ├── IPCHelper.cpp
│ │ │ │ ├── IPCHelper.h
│ │ │ │ ├── JsonUtils.cpp
│ │ │ │ ├── JsonUtils.h
│ │ │ │ ├── LaunchingStateEnum.h
│ │ │ │ ├── LaunchingStatus.cpp
│ │ │ │ ├── LaunchingStatus.h
│ │ │ │ ├── PwaHelper.cpp
│ │ │ │ ├── PwaHelper.h
│ │ │ │ ├── Result.h
│ │ │ │ ├── SteamGameHelper.cpp
│ │ │ │ ├── SteamHelper.h
│ │ │ │ ├── StringUtils.cpp
│ │ │ │ ├── StringUtils.h
│ │ │ │ ├── WbemHelper.cpp
│ │ │ │ ├── WbemHelper.h
│ │ │ │ ├── WindowUtils.cpp
│ │ │ │ ├── WindowUtils.h
│ │ │ │ ├── WorkspacesData.cpp
│ │ │ │ ├── WorkspacesData.h
│ │ │ │ ├── WorkspacesLib.vcxproj
│ │ │ │ ├── WorkspacesLib.vcxproj.filters
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── trace.cpp
│ │ │ │ ├── trace.h
│ │ │ │ ├── two_way_pipe_message_ipc.cpp
│ │ │ │ └── utils.h
│ │ │ ├── WorkspacesLib.UnitTests/
│ │ │ │ ├── AppUtilsTests.cpp
│ │ │ │ ├── JsonUtilsTests.cpp
│ │ │ │ ├── PwaHelperTests.cpp
│ │ │ │ ├── StringUtilsTests.cpp
│ │ │ │ ├── WorkspacesDataTests.cpp
│ │ │ │ ├── WorkspacesLibUnitTests.vcxproj
│ │ │ │ ├── WorkspacesLibUnitTests.vcxproj.filters
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── targetver.h
│ │ │ ├── WorkspacesModuleInterface/
│ │ │ │ ├── WorkspacesModuleInterface.rc
│ │ │ │ ├── WorkspacesModuleInterface.vcxproj
│ │ │ │ ├── WorkspacesModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ └── targetver.h
│ │ │ ├── WorkspacesSnapshotTool/
│ │ │ │ ├── PropertySheet.props
│ │ │ │ ├── Resource.resx
│ │ │ │ ├── SnapshotUtils.cpp
│ │ │ │ ├── SnapshotUtils.h
│ │ │ │ ├── WorkspacesSnapshotTool.vcxproj
│ │ │ │ ├── WorkspacesSnapshotTool.vcxproj.filters
│ │ │ │ ├── WorkspacesSnapshotToolResources.base.rc
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.base.h
│ │ │ ├── WorkspacesWindowArranger/
│ │ │ │ ├── PropertySheet.props
│ │ │ │ ├── Resource.resx
│ │ │ │ ├── WindowArranger.cpp
│ │ │ │ ├── WindowArranger.h
│ │ │ │ ├── WindowCreationHandler.cpp
│ │ │ │ ├── WindowCreationHandler.h
│ │ │ │ ├── WorkspacesWindowArranger.vcxproj
│ │ │ │ ├── WorkspacesWindowArranger.vcxproj.filters
│ │ │ │ ├── WorkspacesWindowArrangerResource.base.rc
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.base.h
│ │ │ └── workspaces-common/
│ │ │ ├── GuidUtils.h
│ │ │ ├── InvokePoint.h
│ │ │ ├── MonitorEnumerator.h
│ │ │ ├── MonitorUtils.h
│ │ │ ├── VirtualDesktop.h
│ │ │ ├── WindowEnumerator.h
│ │ │ ├── WindowFilter.h
│ │ │ └── WindowUtils.h
│ │ ├── ZoomIt/
│ │ │ ├── ZoomIt/
│ │ │ │ ├── AudioSampleGenerator.cpp
│ │ │ │ ├── AudioSampleGenerator.h
│ │ │ │ ├── CaptureFrameWait.cpp
│ │ │ │ ├── CaptureFrameWait.h
│ │ │ │ ├── DemoType.cpp
│ │ │ │ ├── DemoType.h
│ │ │ │ ├── GifRecordingSession.cpp
│ │ │ │ ├── GifRecordingSession.h
│ │ │ │ ├── LoopbackCapture.cpp
│ │ │ │ ├── LoopbackCapture.h
│ │ │ │ ├── PanoramaCapture.cpp
│ │ │ │ ├── PanoramaCapture.h
│ │ │ │ ├── PowerToys/
│ │ │ │ │ └── branding.h
│ │ │ │ ├── Registry.h
│ │ │ │ ├── SelectRectangle.cpp
│ │ │ │ ├── SelectRectangle.h
│ │ │ │ ├── Utility.cpp
│ │ │ │ ├── Utility.h
│ │ │ │ ├── VersionHelper.cpp
│ │ │ │ ├── VersionHelper.h
│ │ │ │ ├── VideoRecordingSession.cpp
│ │ │ │ ├── VideoRecordingSession.h
│ │ │ │ ├── ZoomIt.h
│ │ │ │ ├── ZoomIt.idc
│ │ │ │ ├── ZoomIt.rc
│ │ │ │ ├── ZoomIt.vcxproj
│ │ │ │ ├── ZoomIt.vcxproj.filters
│ │ │ │ ├── ZoomItSettings.h
│ │ │ │ ├── Zoomit.cpp
│ │ │ │ ├── Zoomit.exe.manifest
│ │ │ │ ├── binres.rc
│ │ │ │ ├── cursor1.cur
│ │ │ │ ├── drawingc.cur
│ │ │ │ ├── makefile
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.h
│ │ │ ├── ZoomItBreak/
│ │ │ │ ├── BreakTimer.cpp
│ │ │ │ ├── BreakTimer.h
│ │ │ │ ├── ZoomItBreak.manifest
│ │ │ │ ├── ZoomItBreak.rc
│ │ │ │ ├── ZoomItBreak.vcxproj
│ │ │ │ ├── ZoomItBreak.vcxproj.filters
│ │ │ │ └── ZoomItBreakScr.cpp
│ │ │ ├── ZoomItModuleInterface/
│ │ │ │ ├── ZoomItModuleInterface.rc
│ │ │ │ ├── ZoomItModuleInterface.vcxproj
│ │ │ │ ├── ZoomItModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── ZoomItSettingsInterop/
│ │ │ ├── PropertySheet.props
│ │ │ ├── ZoomItSettings.cpp
│ │ │ ├── ZoomItSettings.h
│ │ │ ├── ZoomItSettings.idl
│ │ │ ├── ZoomItSettingsInterop.def
│ │ │ ├── ZoomItSettingsInterop.rc
│ │ │ ├── ZoomItSettingsInterop.vcxproj
│ │ │ ├── ZoomItSettingsInterop.vcxproj.filters
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ └── resource.h
│ │ ├── alwaysontop/
│ │ │ ├── AlwaysOnTop/
│ │ │ │ ├── AlwaysOnTop.base.rc
│ │ │ │ ├── AlwaysOnTop.cpp
│ │ │ │ ├── AlwaysOnTop.h
│ │ │ │ ├── AlwaysOnTop.vcxproj
│ │ │ │ ├── AlwaysOnTop.vcxproj.filters
│ │ │ │ ├── FrameDrawer.cpp
│ │ │ │ ├── FrameDrawer.h
│ │ │ │ ├── ModuleConstants.h
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── ScalingUtils.cpp
│ │ │ │ ├── ScalingUtils.h
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── SettingsConstants.h
│ │ │ │ ├── SettingsObserver.h
│ │ │ │ ├── Sound.h
│ │ │ │ ├── VirtualDesktopUtils.cpp
│ │ │ │ ├── VirtualDesktopUtils.h
│ │ │ │ ├── WinHookEventIDs.cpp
│ │ │ │ ├── WinHookEventIDs.h
│ │ │ │ ├── WindowBorder.cpp
│ │ │ │ ├── WindowBorder.h
│ │ │ │ ├── WindowCornersUtil.cpp
│ │ │ │ ├── WindowCornersUtil.h
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ └── AlwaysOnTopModuleInterface/
│ │ │ ├── AlwaysOnTopModuleInterface.rc
│ │ │ ├── AlwaysOnTopModuleInterface.vcxproj
│ │ │ ├── AlwaysOnTopModuleInterface.vcxproj.filters
│ │ │ ├── dllmain.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── resource.h
│ │ │ └── targetver.h
│ │ ├── awake/
│ │ │ ├── Awake/
│ │ │ │ ├── Awake.csproj
│ │ │ │ ├── Core/
│ │ │ │ │ ├── Constants.cs
│ │ │ │ │ ├── ExtensionMethods.cs
│ │ │ │ │ ├── Manager.cs
│ │ │ │ │ ├── Models/
│ │ │ │ │ │ ├── BatteryReportingScale.cs
│ │ │ │ │ │ ├── ControlType.cs
│ │ │ │ │ │ ├── ExecutionState.cs
│ │ │ │ │ │ ├── MSG.cs
│ │ │ │ │ │ ├── MenuInfo.cs
│ │ │ │ │ │ ├── NOTIFYICONDATA.cs
│ │ │ │ │ │ ├── POINT.cs
│ │ │ │ │ │ ├── ProcessBasicInformation.cs
│ │ │ │ │ │ ├── SystemPowerCapabilities.cs
│ │ │ │ │ │ ├── SystemPowerState.cs
│ │ │ │ │ │ ├── TrayCommands.cs
│ │ │ │ │ │ ├── TrayIconAction.cs
│ │ │ │ │ │ └── WNDCLASSEX.cs
│ │ │ │ │ ├── Native/
│ │ │ │ │ │ ├── Bridge.cs
│ │ │ │ │ │ └── Constants.cs
│ │ │ │ │ ├── Threading/
│ │ │ │ │ │ └── SingleThreadSynchronizationContext.cs
│ │ │ │ │ └── TrayHelper.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── AwakeExpirableKeepAwakeEvent.cs
│ │ │ │ │ ├── AwakeIndefinitelyKeepAwakeEvent.cs
│ │ │ │ │ ├── AwakeNoKeepAwakeEvent.cs
│ │ │ │ │ └── AwakeTimedKeepAwakeEvent.cs
│ │ │ │ └── app.manifest
│ │ │ ├── Awake.ModuleServices/
│ │ │ │ ├── Awake.ModuleServices.csproj
│ │ │ │ ├── AwakeService.cs
│ │ │ │ ├── AwakeServiceJsonContext.cs
│ │ │ │ ├── AwakeState.cs
│ │ │ │ └── IAwakeService.cs
│ │ │ ├── AwakeModuleInterface/
│ │ │ │ ├── AwakeConstants.h
│ │ │ │ ├── AwakeModuleInterface.rc
│ │ │ │ ├── AwakeModuleInterface.vcxproj
│ │ │ │ ├── AwakeModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── README.md
│ │ │ └── scripts/
│ │ │ └── Build-Awake.ps1
│ │ ├── cmdNotFound/
│ │ │ └── CmdNotFoundModuleInterface/
│ │ │ ├── CmdNotFoundModuleInterface.rc
│ │ │ ├── CmdNotFoundModuleInterface.vcxproj
│ │ │ ├── CmdNotFoundModuleInterface.vcxproj.filters
│ │ │ ├── dllmain.cpp
│ │ │ ├── packages.config
│ │ │ ├── pch.cpp
│ │ │ ├── pch.h
│ │ │ ├── resource.h
│ │ │ ├── trace.cpp
│ │ │ └── trace.h
│ │ ├── cmdpal/
│ │ │ ├── .editorconfig
│ │ │ ├── .wt.json
│ │ │ ├── CmdPalKeyboardService/
│ │ │ │ ├── CmdPalKeyboardService.def
│ │ │ │ ├── CmdPalKeyboardService.vcxproj
│ │ │ │ ├── CmdPalKeyboardService.vcxproj.filters
│ │ │ │ ├── KeyboardListener.cpp
│ │ │ │ ├── KeyboardListener.h
│ │ │ │ ├── KeyboardListener.idl
│ │ │ │ ├── PropertySheet.props
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── CmdPalModuleInterface/
│ │ │ │ ├── CmdPalModuleInterface.vcxproj
│ │ │ │ ├── CmdPalModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── CommandPalette.slnf
│ │ │ ├── ExtensionTemplate/
│ │ │ │ └── TemplateCmdPalExtension/
│ │ │ │ ├── Directory.Build.props
│ │ │ │ ├── Directory.Packages.props
│ │ │ │ ├── TemplateCmdPalExtension/
│ │ │ │ │ ├── Package.appxmanifest
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ └── TemplateCmdPalExtensionPage.cs
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── TemplateCmdPalExtension.cs
│ │ │ │ │ ├── TemplateCmdPalExtension.csproj
│ │ │ │ │ ├── TemplateCmdPalExtensionCommandsProvider.cs
│ │ │ │ │ └── app.manifest
│ │ │ │ ├── TemplateCmdPalExtension.sln
│ │ │ │ └── nuget.config
│ │ │ ├── Invoke-XamlFormat.ps1
│ │ │ ├── Microsoft.CmdPal.Common/
│ │ │ │ ├── AppPackagingFlavor.cs
│ │ │ │ ├── CoreLogger.cs
│ │ │ │ ├── ExtensionLoadState.cs
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── DiagnosticsHelper.cs
│ │ │ │ │ ├── ExtensionHostInstance.cs
│ │ │ │ │ ├── IPrecomputedListItem.cs
│ │ │ │ │ ├── InterlockedBoolean.cs
│ │ │ │ │ ├── InternalListHelpers.cs
│ │ │ │ │ ├── NativeEventWaiter.cs
│ │ │ │ │ ├── PathHelper.cs
│ │ │ │ │ ├── PinnedDockItem.cs
│ │ │ │ │ ├── ProviderCrashSentinel.cs
│ │ │ │ │ ├── ProviderLoadGuard.cs
│ │ │ │ │ ├── SupersedingAsyncGate.cs
│ │ │ │ │ ├── SupersedingAsyncValueGate`1.cs
│ │ │ │ │ ├── ThrottledDebouncedAction.cs
│ │ │ │ │ ├── VersionHelper.cs
│ │ │ │ │ └── WellKnownKeyChords.cs
│ │ │ │ ├── Microsoft.CmdPal.Common.csproj
│ │ │ │ ├── NativeMethods.json
│ │ │ │ ├── NativeMethods.txt
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── Services/
│ │ │ │ │ ├── ApplicationInfoService.cs
│ │ │ │ │ ├── IApplicationInfoService.cs
│ │ │ │ │ ├── IExtensionService.cs
│ │ │ │ │ ├── IExtensionWrapper.cs
│ │ │ │ │ ├── IRunHistoryService.cs
│ │ │ │ │ ├── Reports/
│ │ │ │ │ │ ├── ErrorReportBuilder.cs
│ │ │ │ │ │ └── IErrorReportBuilder.cs
│ │ │ │ │ └── Sanitizer/
│ │ │ │ │ ├── Abstraction/
│ │ │ │ │ │ ├── ITextSanitizer.cs
│ │ │ │ │ │ └── SanitizationRule.cs
│ │ │ │ │ ├── ConnectionStringRuleProvider.cs
│ │ │ │ │ ├── EnvironmentPropertiesRuleProvider.cs
│ │ │ │ │ ├── ErrorReportSanitizer.cs
│ │ │ │ │ ├── FilenameMaskRuleProvider.cs
│ │ │ │ │ ├── GuardrailEventArgs.cs
│ │ │ │ │ ├── ISanitizationRuleProvider.cs
│ │ │ │ │ ├── NetworkRuleProvider.cs
│ │ │ │ │ ├── PiiRuleProvider.cs
│ │ │ │ │ ├── ProfilePathAndUsernameRuleProvider.cs
│ │ │ │ │ ├── SanitizerDefaults.cs
│ │ │ │ │ ├── SecretKeyValueRulesProvider.cs
│ │ │ │ │ ├── TextSanitizer.cs
│ │ │ │ │ ├── TokenRuleProvider.cs
│ │ │ │ │ └── UrlRuleProvider.cs
│ │ │ │ └── Text/
│ │ │ │ ├── BloomFilter.cs
│ │ │ │ ├── FuzzyMatcherProvider.cs
│ │ │ │ ├── FuzzyQuery.cs
│ │ │ │ ├── FuzzyTarget.cs
│ │ │ │ ├── FuzzyTargetCache.cs
│ │ │ │ ├── IBloomFilter.cs
│ │ │ │ ├── IFuzzyMatcherProvider.cs
│ │ │ │ ├── IPrecomputedFuzzyMatcher.cs
│ │ │ │ ├── IStringFolder.cs
│ │ │ │ ├── PinyinFuzzyMatcherOptions.cs
│ │ │ │ ├── PinyinMode.cs
│ │ │ │ ├── PrecomputedFuzzyMatcher.cs
│ │ │ │ ├── PrecomputedFuzzyMatcherOptions.cs
│ │ │ │ ├── PrecomputedFuzzyMatcherWithPinyin.cs
│ │ │ │ ├── StringFolder.cs
│ │ │ │ ├── SymbolClassifier.cs
│ │ │ │ └── SymbolKind.cs
│ │ │ ├── Microsoft.CmdPal.Ext.PowerToys.slnf
│ │ │ ├── Microsoft.CmdPal.UI/
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── CmdPal.Branding.props
│ │ │ │ ├── CmdPal.pre.props
│ │ │ │ ├── CommandPaletteContextMenuFactory.cs
│ │ │ │ ├── Controls/
│ │ │ │ │ ├── AdaptiveCardsConfig.cs
│ │ │ │ │ ├── BlurImageControl.cs
│ │ │ │ │ ├── ColorPalette.xaml
│ │ │ │ │ ├── ColorPalette.xaml.cs
│ │ │ │ │ ├── ColorPickerButton.xaml
│ │ │ │ │ ├── ColorPickerButton.xaml.cs
│ │ │ │ │ ├── CommandBar.xaml
│ │ │ │ │ ├── CommandBar.xaml.cs
│ │ │ │ │ ├── CommandPalettePreview.xaml
│ │ │ │ │ ├── CommandPalettePreview.xaml.cs
│ │ │ │ │ ├── ContentFormControl.xaml
│ │ │ │ │ ├── ContentFormControl.xaml.cs
│ │ │ │ │ ├── ContentIcon.cs
│ │ │ │ │ ├── ContextMenu.xaml
│ │ │ │ │ ├── ContextMenu.xaml.cs
│ │ │ │ │ ├── DevRibbon.xaml
│ │ │ │ │ ├── DevRibbon.xaml.cs
│ │ │ │ │ ├── FallbackRanker.xaml
│ │ │ │ │ ├── FallbackRanker.xaml.cs
│ │ │ │ │ ├── FallbackRankerDialog.xaml
│ │ │ │ │ ├── FallbackRankerDialog.xaml.cs
│ │ │ │ │ ├── FiltersDropDown.xaml
│ │ │ │ │ ├── FiltersDropDown.xaml.cs
│ │ │ │ │ ├── IconBox.cs
│ │ │ │ │ ├── IconMarginConverter.cs
│ │ │ │ │ ├── ImageViewer.xaml
│ │ │ │ │ ├── ImageViewer.xaml.cs
│ │ │ │ │ ├── ScreenPreview.xaml
│ │ │ │ │ ├── ScreenPreview.xaml.cs
│ │ │ │ │ ├── ScrollContainer.xaml
│ │ │ │ │ ├── ScrollContainer.xaml.cs
│ │ │ │ │ ├── SearchBar.xaml
│ │ │ │ │ ├── SearchBar.xaml.cs
│ │ │ │ │ ├── ShortcutControl/
│ │ │ │ │ │ ├── HotkeySettingsControlHook.cs
│ │ │ │ │ │ ├── NativeKeyboardHelper.cs
│ │ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ │ ├── POINT.cs
│ │ │ │ │ │ ├── RECT.cs
│ │ │ │ │ │ ├── ShortcutControl.xaml
│ │ │ │ │ │ ├── ShortcutControl.xaml.cs
│ │ │ │ │ │ ├── ShortcutDialogContentControl.xaml
│ │ │ │ │ │ ├── ShortcutDialogContentControl.xaml.cs
│ │ │ │ │ │ └── WINDOWPLACEMENT.cs
│ │ │ │ │ ├── SourceRequestedEventArgs.cs
│ │ │ │ │ ├── Tag.xaml
│ │ │ │ │ ├── Tag.xaml.cs
│ │ │ │ │ └── WrapPanelCustom/
│ │ │ │ │ ├── UvBounds.cs
│ │ │ │ │ ├── UvMeasure.cs
│ │ │ │ │ └── WrapPanel.cs
│ │ │ │ ├── Converters/
│ │ │ │ │ ├── ContentTemplateSelector.cs
│ │ │ │ │ ├── ContextItemTemplateSelector.cs
│ │ │ │ │ ├── ContrastBrushConverter.cs
│ │ │ │ │ ├── DetailsDataTemplateSelector.cs
│ │ │ │ │ ├── DetailsSizeToGridLengthConverter.cs
│ │ │ │ │ ├── FilterTemplateSelector.cs
│ │ │ │ │ ├── GridItemContainerStyleSelector.cs
│ │ │ │ │ ├── GridItemTemplateSelector.cs
│ │ │ │ │ ├── KeyChordToStringConverter.cs
│ │ │ │ │ ├── ListItemContainerStyleSelector.cs
│ │ │ │ │ ├── ListItemTemplateSelector.cs
│ │ │ │ │ ├── MessageStateToSeverityConverter.cs
│ │ │ │ │ └── PlaceholderTextConverter.cs
│ │ │ │ ├── Dock/
│ │ │ │ │ ├── DockContentControl.xaml
│ │ │ │ │ ├── DockContentControl.xaml.cs
│ │ │ │ │ ├── DockControl.xaml
│ │ │ │ │ ├── DockControl.xaml.cs
│ │ │ │ │ ├── DockItemControl.xaml
│ │ │ │ │ ├── DockItemControl.xaml.cs
│ │ │ │ │ ├── DockSettingsToViews.cs
│ │ │ │ │ ├── DockWindow.xaml
│ │ │ │ │ ├── DockWindow.xaml.cs
│ │ │ │ │ ├── PinToDockDialogContent.xaml
│ │ │ │ │ └── PinToDockDialogContent.xaml.cs
│ │ │ │ ├── Events/
│ │ │ │ │ ├── BeginInvoke.cs
│ │ │ │ │ ├── CmdPalDismissedOnEsc.cs
│ │ │ │ │ ├── CmdPalDismissedOnLostFocus.cs
│ │ │ │ │ ├── CmdPalDockConfiguration.cs
│ │ │ │ │ ├── CmdPalExtensionInvoked.cs
│ │ │ │ │ ├── CmdPalHotkeySummoned.cs
│ │ │ │ │ ├── CmdPalInvokeResult.cs
│ │ │ │ │ ├── CmdPalProcessStarted.cs
│ │ │ │ │ ├── CmdPalSessionDuration.cs
│ │ │ │ │ ├── ColdLaunch.cs
│ │ │ │ │ ├── OpenPage.cs
│ │ │ │ │ ├── ReactivateInstance.cs
│ │ │ │ │ └── RunEvents.cs
│ │ │ │ ├── ExtViews/
│ │ │ │ │ ├── CleanupHelper.xaml.cs
│ │ │ │ │ ├── ContentPage.xaml
│ │ │ │ │ ├── ContentPage.xaml.cs
│ │ │ │ │ ├── Controls/
│ │ │ │ │ │ ├── ImageContentViewer.xaml
│ │ │ │ │ │ ├── ImageContentViewer.xaml.cs
│ │ │ │ │ │ ├── PlainTextContentViewer.xaml
│ │ │ │ │ │ └── PlainTextContentViewer.xaml.cs
│ │ │ │ │ ├── ListPage.xaml
│ │ │ │ │ └── ListPage.xaml.cs
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── AdaptiveCache`2.cs
│ │ │ │ │ ├── BindTransformers.cs
│ │ │ │ │ ├── BuildInfo.cs
│ │ │ │ │ ├── ColorExtensions.cs
│ │ │ │ │ ├── GlobalErrorHandler.cs
│ │ │ │ │ ├── GpoValueChecker.cs
│ │ │ │ │ ├── Icons/
│ │ │ │ │ │ ├── CachedIconSourceProvider.cs
│ │ │ │ │ │ ├── IIconLoaderService.cs
│ │ │ │ │ │ ├── IIconSourceProvider.cs
│ │ │ │ │ │ ├── IconLoadPriority.cs
│ │ │ │ │ │ ├── IconLoaderService.cs
│ │ │ │ │ │ ├── IconProvider.cs
│ │ │ │ │ │ ├── IconServiceRegistration.cs
│ │ │ │ │ │ ├── IconSourceProvider.cs
│ │ │ │ │ │ └── WellKnownIconSize.cs
│ │ │ │ │ ├── KeyModifiers.cs
│ │ │ │ │ ├── LocalKeyboardListener.cs
│ │ │ │ │ ├── LocalKeyboardListenerKeyPressedEventArgs.cs
│ │ │ │ │ ├── MarkdownImageProviders/
│ │ │ │ │ │ ├── CompositeImageSourceProvider.cs
│ │ │ │ │ │ ├── DataImageSourceProvider.cs
│ │ │ │ │ │ ├── HttpImageSourceProvider.cs
│ │ │ │ │ │ ├── IImageSourceProvider.cs
│ │ │ │ │ │ ├── ImageHints.cs
│ │ │ │ │ │ ├── ImageProvider.cs
│ │ │ │ │ │ ├── ImageSourceFactory.cs
│ │ │ │ │ │ ├── ImageSourceInfo.cs
│ │ │ │ │ │ ├── LocalImageSourceProvider.cs
│ │ │ │ │ │ └── RtbInlineImageFactory.cs
│ │ │ │ │ ├── OptionalColorToBrushConverter.cs
│ │ │ │ │ ├── ResourceLoaderInstance.cs
│ │ │ │ │ ├── TelemetryForwarder.cs
│ │ │ │ │ ├── TextBoxCaretColor.cs
│ │ │ │ │ ├── TrayIconService.cs
│ │ │ │ │ ├── UIHelper.cs
│ │ │ │ │ ├── WallpaperHelper.cs
│ │ │ │ │ ├── WindowExtensions.cs
│ │ │ │ │ ├── WindowHelper.cs
│ │ │ │ │ └── WindowPositionHelper.cs
│ │ │ │ ├── HiddenOwnerWindowBehavior.cs
│ │ │ │ ├── LocalSuppressions.cs
│ │ │ │ ├── LogWrapper.cs
│ │ │ │ ├── MainWindow.xaml
│ │ │ │ ├── MainWindow.xaml.cs
│ │ │ │ ├── Messages/
│ │ │ │ │ ├── DragCompletedMessage.cs
│ │ │ │ │ ├── DragStartedMessage.cs
│ │ │ │ │ ├── HotkeySummonMessage.cs
│ │ │ │ │ ├── OpenContextMenuMessage.cs
│ │ │ │ │ ├── SettingsWindowClosedMessage.cs
│ │ │ │ │ └── ToggleDevRibbonMessage.cs
│ │ │ │ ├── Microsoft.CmdPal.UI.csproj
│ │ │ │ ├── NativeMethods.txt
│ │ │ │ ├── Package-Dev.appxmanifest
│ │ │ │ ├── Package.appxmanifest
│ │ │ │ ├── Pages/
│ │ │ │ │ ├── LoadingPage.xaml
│ │ │ │ │ ├── LoadingPage.xaml.cs
│ │ │ │ │ ├── ShellPage.xaml
│ │ │ │ │ └── ShellPage.xaml.cs
│ │ │ │ ├── PowerToysAppHostService.cs
│ │ │ │ ├── PowerToysRootPageService.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── RunHistoryService.cs
│ │ │ │ ├── Services/
│ │ │ │ │ ├── ColorfulThemeProvider.cs
│ │ │ │ │ ├── IHostWindow.cs
│ │ │ │ │ ├── IThemeProvider.cs
│ │ │ │ │ ├── MutableOverridesDictionary.cs
│ │ │ │ │ ├── NormalThemeProvider.cs
│ │ │ │ │ ├── ResourceSwapper.cs
│ │ │ │ │ ├── ResourcesSwappedEventArgs.cs
│ │ │ │ │ ├── ThemeContext.cs
│ │ │ │ │ ├── ThemeService.cs
│ │ │ │ │ └── WindowThemeSynchronizer.cs
│ │ │ │ ├── Settings/
│ │ │ │ │ ├── AppearancePage.xaml
│ │ │ │ │ ├── AppearancePage.xaml.cs
│ │ │ │ │ ├── DockSettingsPage.xaml
│ │ │ │ │ ├── DockSettingsPage.xaml.cs
│ │ │ │ │ ├── ExtensionPage.xaml
│ │ │ │ │ ├── ExtensionPage.xaml.cs
│ │ │ │ │ ├── ExtensionsPage.xaml
│ │ │ │ │ ├── ExtensionsPage.xaml.cs
│ │ │ │ │ ├── GeneralPage.xaml
│ │ │ │ │ ├── GeneralPage.xaml.cs
│ │ │ │ │ ├── InternalPage.SampleData.cs
│ │ │ │ │ ├── InternalPage.xaml
│ │ │ │ │ ├── InternalPage.xaml.cs
│ │ │ │ │ ├── NavigateToExtensionSettingsMessage.xaml.cs
│ │ │ │ │ ├── SettingsWindow.xaml
│ │ │ │ │ └── SettingsWindow.xaml.cs
│ │ │ │ ├── Strings/
│ │ │ │ │ └── en-us/
│ │ │ │ │ └── Resources.resw
│ │ │ │ ├── Styles/
│ │ │ │ │ ├── Settings.xaml
│ │ │ │ │ ├── TeachingTip.xaml
│ │ │ │ │ ├── TextBlock.xaml
│ │ │ │ │ ├── TextBox.xaml
│ │ │ │ │ ├── Theme.Colorful.xaml
│ │ │ │ │ └── Theme.Normal.xaml
│ │ │ │ ├── ToastWindow.xaml
│ │ │ │ ├── ToastWindow.xaml.cs
│ │ │ │ ├── TypePreservation.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ ├── DevRibbonViewModel.cs
│ │ │ │ │ └── LogEntryViewModel.cs
│ │ │ │ ├── Views/
│ │ │ │ │ └── ICurrentPageAware.cs
│ │ │ │ └── app.manifest
│ │ │ ├── Microsoft.CmdPal.UI.ViewModels/
│ │ │ │ ├── AliasManager.cs
│ │ │ │ ├── AppExtensionHost.cs
│ │ │ │ ├── AppStateModel.cs
│ │ │ │ ├── AppearanceSettingsViewModel.cs
│ │ │ │ ├── AsyncNavigationRequest.cs
│ │ │ │ ├── BackdropControllerKind.cs
│ │ │ │ ├── BackdropStyle.cs
│ │ │ │ ├── BackdropStyleConfig.cs
│ │ │ │ ├── BackdropStyles.cs
│ │ │ │ ├── BackgroundImageFit.cs
│ │ │ │ ├── BatchUpdateManager.cs
│ │ │ │ ├── ColorizationMode.cs
│ │ │ │ ├── CommandAlias.cs
│ │ │ │ ├── CommandBarViewModel.cs
│ │ │ │ ├── CommandContextItemViewModel.cs
│ │ │ │ ├── CommandItemViewModel.cs
│ │ │ │ ├── CommandPaletteContentPageViewModel.cs
│ │ │ │ ├── CommandPaletteHost.cs
│ │ │ │ ├── CommandPalettePageViewModelFactory.cs
│ │ │ │ ├── CommandProviderContext.cs
│ │ │ │ ├── CommandProviderWrapper.cs
│ │ │ │ ├── CommandSettingsViewModel.cs
│ │ │ │ ├── CommandViewModel.cs
│ │ │ │ ├── Commands/
│ │ │ │ │ ├── BuiltInsCommandProvider.cs
│ │ │ │ │ ├── BuiltinsExtensionHost.cs
│ │ │ │ │ ├── CreatedExtensionForm.cs
│ │ │ │ │ ├── FallbackLogItem.cs
│ │ │ │ │ ├── FallbackReloadItem.cs
│ │ │ │ │ ├── LogMessagesPage.cs
│ │ │ │ │ ├── MainListPage.cs
│ │ │ │ │ ├── MainListPageResultFactory.cs
│ │ │ │ │ ├── NewExtensionForm.cs
│ │ │ │ │ ├── NewExtensionFormBase.cs
│ │ │ │ │ ├── NewExtensionPage.cs
│ │ │ │ │ ├── OpenSettingsCommand.cs
│ │ │ │ │ ├── QuitAction.cs
│ │ │ │ │ └── ReloadExtensionsCommand.cs
│ │ │ │ ├── ConfirmResultViewModel.cs
│ │ │ │ ├── ContentFormViewModel.cs
│ │ │ │ ├── ContentImageViewModel.cs
│ │ │ │ ├── ContentMarkdownViewModel.cs
│ │ │ │ ├── ContentPageViewModel.cs
│ │ │ │ ├── ContentPlainTextViewModel.cs
│ │ │ │ ├── ContentTreeViewModel.cs
│ │ │ │ ├── ContentViewModel.cs
│ │ │ │ ├── ContextMenuViewModel.cs
│ │ │ │ ├── DedicatedThreadPool.cs
│ │ │ │ ├── DefaultContextMenuFactory.cs
│ │ │ │ ├── DetailsCommandsViewModel.cs
│ │ │ │ ├── DetailsDataViewModel.cs
│ │ │ │ ├── DetailsElementViewModel.cs
│ │ │ │ ├── DetailsLinkViewModel.cs
│ │ │ │ ├── DetailsSeparatorViewModel.cs
│ │ │ │ ├── DetailsTagsViewModel.cs
│ │ │ │ ├── DetailsViewModel.cs
│ │ │ │ ├── Dock/
│ │ │ │ │ ├── DockBandSettingsViewModel.cs
│ │ │ │ │ ├── DockBandViewModel.cs
│ │ │ │ │ ├── DockViewModel.cs
│ │ │ │ │ └── DockWindowViewModel.cs
│ │ │ │ ├── DockAppearanceSettingsViewModel.cs
│ │ │ │ ├── ExtensionObjectViewModel.cs
│ │ │ │ ├── FallbackSettings.cs
│ │ │ │ ├── FallbackSettingsViewModel.cs
│ │ │ │ ├── FallbackUpdateManager.cs
│ │ │ │ ├── FilterItemViewModel.cs
│ │ │ │ ├── FiltersViewModel.cs
│ │ │ │ ├── GalleryGridPropertiesViewModel.cs
│ │ │ │ ├── GlobalLogPageContext.cs
│ │ │ │ ├── HistoryItem.cs
│ │ │ │ ├── HotkeyManager.cs
│ │ │ │ ├── IBackgroundPropertyChangedNotification.cs
│ │ │ │ ├── IContextItemViewModel.cs
│ │ │ │ ├── IContextMenuFactory.cs
│ │ │ │ ├── IFilterItemViewModel.cs
│ │ │ │ ├── IGridPropertiesViewModel.cs
│ │ │ │ ├── IRootPageService.cs
│ │ │ │ ├── IconDataViewModel.cs
│ │ │ │ ├── IconInfoViewModel.cs
│ │ │ │ ├── Icons.cs
│ │ │ │ ├── ItemsUpdatedEventArgs.cs
│ │ │ │ ├── ListItemType.cs
│ │ │ │ ├── ListItemViewModel.cs
│ │ │ │ ├── ListViewModel.cs
│ │ │ │ ├── LoadingPageViewModel.cs
│ │ │ │ ├── LogMessageViewModel.cs
│ │ │ │ ├── MainWindowViewModel.cs
│ │ │ │ ├── MediumGridPropertiesViewModel.cs
│ │ │ │ ├── Messages/
│ │ │ │ │ ├── ActivateSecondaryCommandMessage.cs
│ │ │ │ │ ├── ActivateSelectedListItemMessage.cs
│ │ │ │ │ ├── BeginInvokeMessage.cs
│ │ │ │ │ ├── ClearSearchMessage.cs
│ │ │ │ │ ├── CloseContextMenuMessage.cs
│ │ │ │ │ ├── CmdPalInvokeResultMessage.cs
│ │ │ │ │ ├── DismissMessage.cs
│ │ │ │ │ ├── EnterDockEditModeMessage.cs
│ │ │ │ │ ├── ErrorOccurredMessage.cs
│ │ │ │ │ ├── ExtensionInvokedMessage.cs
│ │ │ │ │ ├── FocusSearchBoxMessage.cs
│ │ │ │ │ ├── GoBackMessage.cs
│ │ │ │ │ ├── GoHomeMessage.cs
│ │ │ │ │ ├── HandleCommandResultMessage.cs
│ │ │ │ │ ├── HideDetailsMessage.cs
│ │ │ │ │ ├── LaunchUriMessage.cs
│ │ │ │ │ ├── NavigateBackMessage.cs
│ │ │ │ │ ├── NavigateLeftCommand.cs
│ │ │ │ │ ├── NavigateNextCommand.cs
│ │ │ │ │ ├── NavigatePageDownCommand.cs
│ │ │ │ │ ├── NavigatePageUpCommand.cs
│ │ │ │ │ ├── NavigatePreviousCommand.cs
│ │ │ │ │ ├── NavigateRightCommand.cs
│ │ │ │ │ ├── NavigateToPageMessage.cs
│ │ │ │ │ ├── NavigationDepthMessage.cs
│ │ │ │ │ ├── OpenSettingsMessage.cs
│ │ │ │ │ ├── PerformCommandMessage.cs
│ │ │ │ │ ├── PinCommandItemMessage.cs
│ │ │ │ │ ├── PinToDockMessage.cs
│ │ │ │ │ ├── QuitMessage.cs
│ │ │ │ │ ├── ReloadCommandsMessage.cs
│ │ │ │ │ ├── ReloadFinishedMessage.cs
│ │ │ │ │ ├── SearchQueryMessage.cs
│ │ │ │ │ ├── SessionDurationMessage.cs
│ │ │ │ │ ├── ShowConfirmationMessage.cs
│ │ │ │ │ ├── ShowDetailsMessage.cs
│ │ │ │ │ ├── ShowHideDockMessage.cs
│ │ │ │ │ ├── ShowPinToDockDialogMessage.cs
│ │ │ │ │ ├── ShowToastMessage.cs
│ │ │ │ │ ├── ShowWindowMessage.cs
│ │ │ │ │ ├── TelemetryBeginInvokeMessage.cs
│ │ │ │ │ ├── TelemetryDockConfigurationMessage.cs
│ │ │ │ │ ├── TelemetryExtensionInvokedMessage.cs
│ │ │ │ │ ├── TelemetryInvokeResultMessage.cs
│ │ │ │ │ ├── TryCommandKeybindingMessage.cs
│ │ │ │ │ ├── UnpinCommandItemMessage.cs
│ │ │ │ │ ├── UpdateCommandBarMessage.cs
│ │ │ │ │ ├── UpdateFallbackItemsMessage.cs
│ │ │ │ │ ├── UpdateSuggestionMessage.cs
│ │ │ │ │ └── WindowHiddenMessage.cs
│ │ │ │ ├── Microsoft.CmdPal.UI.ViewModels.csproj
│ │ │ │ ├── Models/
│ │ │ │ │ ├── ExtensionObject`1.cs
│ │ │ │ │ ├── ExtensionService.cs
│ │ │ │ │ └── ExtensionWrapper.cs
│ │ │ │ ├── NativeMethods.json
│ │ │ │ ├── NativeMethods.txt
│ │ │ │ ├── NullPageViewModel.cs
│ │ │ │ ├── PageViewModel.cs
│ │ │ │ ├── PreviewBrushKind.cs
│ │ │ │ ├── ProgressViewModel.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── ProviderSettings.cs
│ │ │ │ ├── ProviderSettingsViewModel.cs
│ │ │ │ ├── RecentCommandsManager.cs
│ │ │ │ ├── SeparatorViewModel.cs
│ │ │ │ ├── Services/
│ │ │ │ │ ├── AppStateService.cs
│ │ │ │ │ ├── BackdropParameters.cs
│ │ │ │ │ ├── CommandProviderCacheContainer.cs
│ │ │ │ │ ├── CommandProviderCacheItem.cs
│ │ │ │ │ ├── CommandProviderCacheSerializationContext.cs
│ │ │ │ │ ├── DefaultCommandProviderCache.cs
│ │ │ │ │ ├── DockThemeSnapshot.cs
│ │ │ │ │ ├── ExtensionTemplateService.cs
│ │ │ │ │ ├── IAppStateService.cs
│ │ │ │ │ ├── ICommandProviderCache.cs
│ │ │ │ │ ├── IExtensionTemplateService.cs
│ │ │ │ │ ├── IPersistenceService.cs
│ │ │ │ │ ├── ISettingsService.cs
│ │ │ │ │ ├── IThemeService.cs
│ │ │ │ │ ├── PersistenceService.cs
│ │ │ │ │ ├── SettingsService.cs
│ │ │ │ │ ├── ThemeChangedEventArgs.cs
│ │ │ │ │ └── ThemeSnapshot.cs
│ │ │ │ ├── Settings/
│ │ │ │ │ ├── DockSettings.cs
│ │ │ │ │ ├── Helper.cs
│ │ │ │ │ └── HotkeySettings.cs
│ │ │ │ ├── SettingsExtensionsViewModel.cs
│ │ │ │ ├── SettingsModel.cs
│ │ │ │ ├── SettingsViewModel.cs
│ │ │ │ ├── ShellViewModel.cs
│ │ │ │ ├── ShowDetailsCommand.cs
│ │ │ │ ├── SmallGridPropertiesViewModel.cs
│ │ │ │ ├── StatusMessageViewModel.cs
│ │ │ │ ├── TagViewModel.cs
│ │ │ │ ├── ToastViewModel.cs
│ │ │ │ ├── TopLevelCommandManager.cs
│ │ │ │ ├── TopLevelHotkey.cs
│ │ │ │ ├── TopLevelItemPageContext.cs
│ │ │ │ ├── TopLevelViewModel.cs
│ │ │ │ ├── UserTheme.cs
│ │ │ │ └── WindowPosition.cs
│ │ │ ├── Microsoft.Terminal.UI/
│ │ │ │ ├── Converters.cpp
│ │ │ │ ├── Converters.h
│ │ │ │ ├── Converters.idl
│ │ │ │ ├── FontIconGlyphClassifier.cpp
│ │ │ │ ├── FontIconGlyphClassifier.h
│ │ │ │ ├── FontIconGlyphClassifier.idl
│ │ │ │ ├── IDirectKeyListener.idl
│ │ │ │ ├── IconPathConverter.cpp
│ │ │ │ ├── IconPathConverter.h
│ │ │ │ ├── IconPathConverter.idl
│ │ │ │ ├── Microsoft.Terminal.UI.def
│ │ │ │ ├── Microsoft.Terminal.UI.vcxproj
│ │ │ │ ├── ResourceString.cpp
│ │ │ │ ├── ResourceString.h
│ │ │ │ ├── ResourceString.idl
│ │ │ │ ├── RunHistory.cpp
│ │ │ │ ├── RunHistory.h
│ │ │ │ ├── RunHistory.idl
│ │ │ │ ├── init.cpp
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── til_string.h
│ │ │ │ └── types.h
│ │ │ ├── README.md
│ │ │ ├── Tests/
│ │ │ │ ├── Microsoft.CmdPal.Common.UnitTests/
│ │ │ │ │ ├── GlobalUsings.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ └── ProviderLoadGuardTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Common.UnitTests.csproj
│ │ │ │ │ ├── Services/
│ │ │ │ │ │ └── Sanitizer/
│ │ │ │ │ │ ├── ConnectionStringRuleProviderTests.cs
│ │ │ │ │ │ ├── ErrorReportSanitizerTests.TestData.cs
│ │ │ │ │ │ ├── ErrorReportSanitizerTests.cs
│ │ │ │ │ │ ├── FilenameMaskRuleProviderTests.cs
│ │ │ │ │ │ ├── PiiRuleProviderTests.cs
│ │ │ │ │ │ └── SecretKeyValueRulesProviderTests.cs
│ │ │ │ │ ├── TestUtils/
│ │ │ │ │ │ └── SanitizerTestHelper.cs
│ │ │ │ │ └── Text/
│ │ │ │ │ ├── PrecomputedFuzzyMatcherEmojiTests.cs
│ │ │ │ │ ├── PrecomputedFuzzyMatcherOptionsTests.cs
│ │ │ │ │ ├── PrecomputedFuzzyMatcherSecondaryInputTests.cs
│ │ │ │ │ ├── PrecomputedFuzzyMatcherTests.cs
│ │ │ │ │ ├── PrecomputedFuzzyMatcherUnicodeTests.cs
│ │ │ │ │ ├── PrecomputedFuzzyMatcherWithPinyinTests.cs
│ │ │ │ │ └── StringFolderTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Apps.UnitTests/
│ │ │ │ │ ├── AllAppsCommandProviderTests.cs
│ │ │ │ │ ├── AllAppsPageTests.cs
│ │ │ │ │ ├── AppsTestBase.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Apps.UnitTests.csproj
│ │ │ │ │ ├── MockAppCache.cs
│ │ │ │ │ ├── MockUWPApplication.cs
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ └── TestDataHelper.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmarks.UnitTests/
│ │ │ │ │ ├── BookmarkJsonParserTests.cs
│ │ │ │ │ ├── BookmarkManagerTests.cs
│ │ │ │ │ ├── BookmarkResolverTests.Common.cs
│ │ │ │ │ ├── BookmarkResolverTests.Placeholders.cs
│ │ │ │ │ ├── BookmarkResolverTests.Quoted.cs
│ │ │ │ │ ├── BookmarkResolverTests.cs
│ │ │ │ │ ├── BookmarksCommandProviderTests.cs
│ │ │ │ │ ├── CommandLineHelperTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmarks.UnitTests.csproj
│ │ │ │ │ ├── MockBookmarkDataSource.cs
│ │ │ │ │ ├── MockBookmarkManager.cs
│ │ │ │ │ ├── PlaceholderInfoNameEqualityComparerTests.cs
│ │ │ │ │ ├── PlaceholderParserTests.cs
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ └── UriHelperTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Calc.UnitTests/
│ │ │ │ │ ├── BaseConverterTests.cs
│ │ │ │ │ ├── BracketHelperTests.cs
│ │ │ │ │ ├── CloseOnEnterTests.cs
│ │ │ │ │ ├── ExtendedCalculatorParserTests.cs
│ │ │ │ │ ├── IncompleteQueryTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Calc.UnitTests.csproj
│ │ │ │ │ ├── NumberTranslatorTests.cs
│ │ │ │ │ ├── QueryHelperTests.cs
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ └── SettingsManagerTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests/
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests.csproj
│ │ │ │ │ └── UrlHelperTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Registry.UnitTests/
│ │ │ │ │ ├── BasicStructureTest.cs
│ │ │ │ │ ├── KeyNameTest.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Registry.UnitTests.csproj
│ │ │ │ │ ├── QueryHelperTest.cs
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── RegistryHelperTest.cs
│ │ │ │ │ ├── ResultHelperTest.cs
│ │ │ │ │ └── Settings.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop.UnitTests/
│ │ │ │ │ ├── FallbackRemoteDesktopItemTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop.UnitTests.csproj
│ │ │ │ │ ├── MockRdpConnectionsManager.cs
│ │ │ │ │ ├── MockSettingsManager.cs
│ │ │ │ │ ├── RdpConnectionsManagerTests.cs
│ │ │ │ │ └── RemoteDesktopCommandProviderTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Shell.UnitTests/
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Shell.UnitTests.csproj
│ │ │ │ │ ├── NormalizeCommandLineTests.cs
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ └── ShellCommandProviderTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.System.UnitTests/
│ │ │ │ │ ├── BasicTests.cs
│ │ │ │ │ ├── ImageTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.System.UnitTests.csproj
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ └── Settings.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate.UnitTests/
│ │ │ │ │ ├── AvailableResultsListTests.cs
│ │ │ │ │ ├── FallbackTimeDateItemTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate.UnitTests.csproj
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── ResultHelperTests.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ ├── StringParserTests.cs
│ │ │ │ │ ├── TimeAndDateHelperTests.cs
│ │ │ │ │ ├── TimeDateCalculatorTests.cs
│ │ │ │ │ └── TimeDateCommandsProviderTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.UnitTestsBase/
│ │ │ │ │ ├── CommandPaletteUnitTestBase.cs
│ │ │ │ │ └── Microsoft.CmdPal.Ext.UnitTestBase.csproj
│ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch.UnitTests/
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch.UnitTests.csproj
│ │ │ │ │ ├── MockBrowserInfoService.cs
│ │ │ │ │ ├── MockSettingsInterface.cs
│ │ │ │ │ ├── QueryTests.cs
│ │ │ │ │ ├── SettingsManagerTests.cs
│ │ │ │ │ └── WebSearchCommandProviderTests.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker.UnitTests/
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker.UnitTests.csproj
│ │ │ │ │ └── Settings.cs
│ │ │ │ ├── Microsoft.CmdPal.UI.ViewModels.UnitTests/
│ │ │ │ │ ├── AppStateServiceTests.cs
│ │ │ │ │ ├── CommandItemViewModelTests.cs
│ │ │ │ │ ├── ContentPageViewModelTests.cs
│ │ │ │ │ ├── ExtensionTemplateServiceTests.cs
│ │ │ │ │ ├── ListViewModelTests.cs
│ │ │ │ │ ├── MainListPageResultFactoryTests.cs
│ │ │ │ │ ├── Microsoft.CmdPal.UI.ViewModels.UnitTests.csproj
│ │ │ │ │ ├── PersistenceServiceTests.cs
│ │ │ │ │ ├── RecentCommandsTests.cs
│ │ │ │ │ └── SettingsServiceTests.cs
│ │ │ │ ├── Microsoft.CmdPal.UITests/
│ │ │ │ │ ├── BasicTests.cs
│ │ │ │ │ ├── CommandPaletteTestBase.cs
│ │ │ │ │ ├── IndexerTests.cs
│ │ │ │ │ └── Microsoft.CmdPal.UITests.csproj
│ │ │ │ └── Microsoft.CommandPalette.Extensions.Toolkit.UnitTests/
│ │ │ │ ├── FuzzyMatcherComparisonTests.cs
│ │ │ │ ├── FuzzyMatcherComplexEmojiTests.cs
│ │ │ │ ├── FuzzyMatcherDiacriticsTests.cs
│ │ │ │ ├── FuzzyMatcherEmojiTests.cs
│ │ │ │ ├── FuzzyMatcherNormalizationTests.cs
│ │ │ │ ├── FuzzyMatcherPinyinLogicTests.cs
│ │ │ │ ├── FuzzyMatcherUnicodeGarbageTests.cs
│ │ │ │ ├── FuzzyMatcherValidationTests.cs
│ │ │ │ ├── Legacy/
│ │ │ │ │ └── LegacyFuzzyStringMatcher.cs
│ │ │ │ ├── ListHelpersInPlaceUpdateTests.cs
│ │ │ │ └── Microsoft.CommandPalette.Extensions.Toolkit.UnitTests.csproj
│ │ │ ├── check-extensions.ps1
│ │ │ ├── clean-sdk.ps1
│ │ │ ├── custom.props
│ │ │ ├── doc/
│ │ │ │ ├── CmdPal-Values.md
│ │ │ │ ├── command-pal-anatomy/
│ │ │ │ │ └── command-palette-anatomy.md
│ │ │ │ ├── initial-sdk-spec/
│ │ │ │ │ ├── generate-interface.ps1
│ │ │ │ │ ├── initial-sdk-spec.md
│ │ │ │ │ └── list-elements-mock-002.pdn
│ │ │ │ └── powertoys-extension-local-development.md
│ │ │ ├── ext/
│ │ │ │ ├── Common.ExtDependencies.props
│ │ │ │ ├── Microsoft.CmdPal.Ext.Apps/
│ │ │ │ │ ├── AllAppsCommandProvider.cs
│ │ │ │ │ ├── AllAppsPage.cs
│ │ │ │ │ ├── AllAppsSettings.cs
│ │ │ │ │ ├── AppCache.cs
│ │ │ │ │ ├── AppCommand.cs
│ │ │ │ │ ├── AppItem.cs
│ │ │ │ │ ├── AppListItem.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── RunAsAdminCommand.cs
│ │ │ │ │ │ ├── RunAsUserCommand.cs
│ │ │ │ │ │ ├── UninstallApplicationCommand.cs
│ │ │ │ │ │ └── UninstallApplicationConfirmation.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── AppxIconLoader.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── IconExtractor.cs
│ │ │ │ │ │ ├── IconSearchResult.cs
│ │ │ │ │ │ └── UninstallRegistryAppLocator.cs
│ │ │ │ │ ├── IAppCache.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── JsonSerializationContext.cs
│ │ │ │ │ ├── KeyChords.cs
│ │ │ │ │ ├── LocalSuppressions.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Apps.csproj
│ │ │ │ │ ├── NativeMethods.json
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── Programs/
│ │ │ │ │ │ ├── AppxPackageHelper.cs
│ │ │ │ │ │ ├── DisabledProgramSource.cs
│ │ │ │ │ │ ├── IFileVersionInfoWrapper.cs
│ │ │ │ │ │ ├── IPackage.cs
│ │ │ │ │ │ ├── IPackageCatalog.cs
│ │ │ │ │ │ ├── IPackageManager.cs
│ │ │ │ │ │ ├── IProgram.cs
│ │ │ │ │ │ ├── IUWPApplication.cs
│ │ │ │ │ │ ├── LogoType.cs
│ │ │ │ │ │ ├── PackageCatalogWrapper.cs
│ │ │ │ │ │ ├── PackageManagerWrapper.cs
│ │ │ │ │ │ ├── PackageWrapper.cs
│ │ │ │ │ │ ├── ProgramSource.cs
│ │ │ │ │ │ ├── ReparsePoint.cs
│ │ │ │ │ │ ├── UWP.cs
│ │ │ │ │ │ ├── UWPApplication.cs
│ │ │ │ │ │ └── Win32Program.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── State/
│ │ │ │ │ │ └── PinStateChangedEventArgs.cs
│ │ │ │ │ ├── Storage/
│ │ │ │ │ │ ├── EventHandler.cs
│ │ │ │ │ │ ├── FileSystemWatcherWrapper.cs
│ │ │ │ │ │ ├── IFileSystemWatcherWrapper.cs
│ │ │ │ │ │ ├── IProgramRepository.cs
│ │ │ │ │ │ ├── IRepository`1.cs
│ │ │ │ │ │ ├── ListRepository`1.cs
│ │ │ │ │ │ ├── PackageRepository.cs
│ │ │ │ │ │ ├── Win32ProgramFileSystemWatchers.cs
│ │ │ │ │ │ └── Win32ProgramRepository.cs
│ │ │ │ │ └── Utils/
│ │ │ │ │ ├── ComFreeHelper.cs
│ │ │ │ │ ├── IShellLinkHelper.cs
│ │ │ │ │ ├── SafeComHandle.cs
│ │ │ │ │ ├── ShellCommand.cs
│ │ │ │ │ ├── ShellLinkHelper.cs
│ │ │ │ │ ├── ShellLocalization.cs
│ │ │ │ │ ├── Theme.cs
│ │ │ │ │ └── ThemeHelper.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmark/
│ │ │ │ │ ├── BookmarksCommandProvider.cs
│ │ │ │ │ ├── BookmarksManager.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── DeleteBookmarkCommand.cs
│ │ │ │ │ │ └── LaunchBookmarkCommand.cs
│ │ │ │ │ ├── GlobalUsings.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── Classification.cs
│ │ │ │ │ │ ├── CommandIds.cs
│ │ │ │ │ │ ├── CommandKind.cs
│ │ │ │ │ │ ├── CommandLauncher.cs
│ │ │ │ │ │ ├── CommandLineHelper.cs
│ │ │ │ │ │ ├── LaunchMethod.cs
│ │ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ │ ├── ShellNames.cs
│ │ │ │ │ │ └── UriHelper.cs
│ │ │ │ │ ├── IBookmarksManager.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── KeyChords.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmarks.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── AddBookmarkForm.cs
│ │ │ │ │ │ ├── AddBookmarkPage.cs
│ │ │ │ │ │ ├── BookmarkListItem.cs
│ │ │ │ │ │ ├── BookmarkPlaceholderForm.cs
│ │ │ │ │ │ └── BookmarkPlaceholderPage.cs
│ │ │ │ │ ├── Persistence/
│ │ │ │ │ │ ├── BookmarkData.cs
│ │ │ │ │ │ ├── BookmarkJsonParser.cs
│ │ │ │ │ │ ├── BookmarkSerializationContext.cs
│ │ │ │ │ │ ├── BookmarksData.cs
│ │ │ │ │ │ ├── FileBookmarkDataSource.cs
│ │ │ │ │ │ └── IBookmarkDataSource.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ └── Services/
│ │ │ │ │ ├── BookmarkResolver.cs
│ │ │ │ │ ├── FaviconLoader.cs
│ │ │ │ │ ├── IBookmarkIconLocator.cs
│ │ │ │ │ ├── IBookmarkResolver.cs
│ │ │ │ │ ├── IFaviconLoader.cs
│ │ │ │ │ ├── IPlaceholderParser.cs
│ │ │ │ │ ├── IconLocator.cs
│ │ │ │ │ ├── PlaceholderInfo.cs
│ │ │ │ │ ├── PlaceholderInfoNameEqualityComparer.cs
│ │ │ │ │ └── PlaceholderParser.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Calc/
│ │ │ │ │ ├── CalculatorCommandProvider.cs
│ │ │ │ │ ├── Helper/
│ │ │ │ │ │ ├── BaseConverter.cs
│ │ │ │ │ │ ├── BracketHelper.cs
│ │ │ │ │ │ ├── CalculateEngine.cs
│ │ │ │ │ │ ├── CalculateHelper.cs
│ │ │ │ │ │ ├── CalculateResult.cs
│ │ │ │ │ │ ├── ErrorHandler.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── NumberTranslator.cs
│ │ │ │ │ │ ├── QueryHelper.cs
│ │ │ │ │ │ ├── ReplaceQueryCommand.cs
│ │ │ │ │ │ ├── ResultHelper.cs
│ │ │ │ │ │ ├── SaveCommand.cs
│ │ │ │ │ │ └── SettingsManager.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── KeyChords.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Calc.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── CalculatorListPage.cs
│ │ │ │ │ │ └── FallbackCalculatorItem.cs
│ │ │ │ │ └── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory/
│ │ │ │ │ ├── ClipboardHistoryCommandsProvider.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── CopyCommand.cs
│ │ │ │ │ │ ├── DeleteItemCommand.cs
│ │ │ │ │ │ └── PasteCommand.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── Analyzers/
│ │ │ │ │ │ │ ├── IClipboardMetadataProvider.cs
│ │ │ │ │ │ │ ├── ImageMetadata.cs
│ │ │ │ │ │ │ ├── ImageMetadataAnalyzer.cs
│ │ │ │ │ │ │ ├── ImageMetadataProvider.cs
│ │ │ │ │ │ │ ├── LineEndingType.cs
│ │ │ │ │ │ │ ├── ProviderAction.cs
│ │ │ │ │ │ │ ├── SizeFormatter.cs
│ │ │ │ │ │ │ ├── TextFileSystemMetadataProvider.cs
│ │ │ │ │ │ │ ├── TextMetadata.cs
│ │ │ │ │ │ │ ├── TextMetadataAnalyzer.cs
│ │ │ │ │ │ │ ├── TextMetadataProvider.cs
│ │ │ │ │ │ │ ├── WebLinkMetadataProvider.cs
│ │ │ │ │ │ │ └── WellKnownActionIds.cs
│ │ │ │ │ │ ├── ClipboardHelper.cs
│ │ │ │ │ │ ├── ClipboardThreadScheduler.cs
│ │ │ │ │ │ ├── ISettingOptions.cs
│ │ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ │ ├── PrimaryAction.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ └── UrlHelper.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── KeyChords.cs
│ │ │ │ │ ├── Messages/
│ │ │ │ │ │ └── HideWindowMessage.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory.csproj
│ │ │ │ │ ├── Models/
│ │ │ │ │ │ ├── ClipboardFormat.cs
│ │ │ │ │ │ └── ClipboardItem.cs
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── ClipboardHistoryListPage.cs
│ │ │ │ │ │ └── ClipboardListItem.cs
│ │ │ │ │ └── Properties/
│ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── Microsoft.CmdPal.Ext.Indexer/
│ │ │ │ │ ├── Actions/
│ │ │ │ │ │ ├── ActionRuntimeFactory.cs
│ │ │ │ │ │ └── ActionRuntimeManager.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── ExecuteActionCommand.cs
│ │ │ │ │ │ └── PeekFileCommand.cs
│ │ │ │ │ ├── Data/
│ │ │ │ │ │ ├── IndexerItem.cs
│ │ │ │ │ │ └── IndexerListItem.cs
│ │ │ │ │ ├── FallbackOpenFileItem.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ └── DataPackageHelper.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Indexer/
│ │ │ │ │ │ ├── DataSourceManager.cs
│ │ │ │ │ │ ├── OleDB/
│ │ │ │ │ │ │ ├── DBPROP.cs
│ │ │ │ │ │ │ ├── DBPROPIDSET.cs
│ │ │ │ │ │ │ ├── DBPROPSET.cs
│ │ │ │ │ │ │ ├── IRowset.cs
│ │ │ │ │ │ │ └── IRowsetInfo.cs
│ │ │ │ │ │ ├── SearchFilters.cs
│ │ │ │ │ │ ├── SearchQuery.cs
│ │ │ │ │ │ ├── SearchResult.cs
│ │ │ │ │ │ ├── SystemSearch/
│ │ │ │ │ │ │ ├── ICommand.cs
│ │ │ │ │ │ │ ├── ICommandText.cs
│ │ │ │ │ │ │ ├── IDBCreateCommand.cs
│ │ │ │ │ │ │ ├── IDBCreateSession.cs
│ │ │ │ │ │ │ ├── IDBInitialize.cs
│ │ │ │ │ │ │ ├── IGetRow.cs
│ │ │ │ │ │ │ ├── IPropertyStore.cs
│ │ │ │ │ │ │ ├── ISearchCatalogManager.cs
│ │ │ │ │ │ │ ├── ISearchManager.cs
│ │ │ │ │ │ │ ├── ISearchQueryHelper.cs
│ │ │ │ │ │ │ ├── PropVariant.cs
│ │ │ │ │ │ │ └── PropertyKey.cs
│ │ │ │ │ │ └── Utils/
│ │ │ │ │ │ ├── NativeHelpers.cs
│ │ │ │ │ │ ├── QueryStringBuilder.cs
│ │ │ │ │ │ └── UrlToFilePathConverter.cs
│ │ │ │ │ ├── IndexerCommandsProvider.cs
│ │ │ │ │ ├── KeyChords.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Indexer.csproj
│ │ │ │ │ ├── NativeMethods.json
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── ActionsListContextItem.cs
│ │ │ │ │ │ ├── DirectoryExplorePage.cs
│ │ │ │ │ │ ├── DirectoryPage.cs
│ │ │ │ │ │ ├── ExploreListItem.cs
│ │ │ │ │ │ └── IndexerPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ └── SearchEngine.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.PerformanceMonitor/
│ │ │ │ │ ├── DevHome/
│ │ │ │ │ │ ├── Enums/
│ │ │ │ │ │ │ ├── WidgetDataState.cs
│ │ │ │ │ │ │ └── WidgetPageState.cs
│ │ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ │ ├── CPUStats.cs
│ │ │ │ │ │ │ ├── ChartHelper.cs
│ │ │ │ │ │ │ ├── DataManager.cs
│ │ │ │ │ │ │ ├── DataType.cs
│ │ │ │ │ │ │ ├── GPUStats.cs
│ │ │ │ │ │ │ ├── MemoryStats.cs
│ │ │ │ │ │ │ ├── NetworkStats.cs
│ │ │ │ │ │ │ ├── PerformanceCounterSourceBase.cs
│ │ │ │ │ │ │ ├── Resources.cs
│ │ │ │ │ │ │ └── SystemData.cs
│ │ │ │ │ │ ├── README.md
│ │ │ │ │ │ └── Templates/
│ │ │ │ │ │ ├── LoadingTemplate.json
│ │ │ │ │ │ ├── SystemCPUUsageTemplate.json
│ │ │ │ │ │ ├── SystemGPUUsageTemplate.json
│ │ │ │ │ │ ├── SystemMemoryTemplate.json
│ │ │ │ │ │ └── SystemNetworkUsageTemplate.json
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.PerformanceMonitor.csproj
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── NetworkSpeedUnit.cs
│ │ │ │ │ ├── OnLoadStaticPage.cs
│ │ │ │ │ ├── PerformanceMonitorCommandsProvider.cs
│ │ │ │ │ ├── PerformanceMonitorDisabledPage.cs
│ │ │ │ │ ├── PerformanceWidgetsPage.cs
│ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ └── Strings/
│ │ │ │ │ └── en-US/
│ │ │ │ │ └── Resources.resw
│ │ │ │ ├── Microsoft.CmdPal.Ext.PowerToys/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── AdvancedPaste/
│ │ │ │ │ │ │ └── OpenAdvancedPasteCommand.cs
│ │ │ │ │ │ ├── Awake/
│ │ │ │ │ │ │ ├── RefreshAwakeStatusCommand.cs
│ │ │ │ │ │ │ ├── StartAwakeCommand.cs
│ │ │ │ │ │ │ └── StopAwakeCommand.cs
│ │ │ │ │ │ ├── ColorPicker/
│ │ │ │ │ │ │ ├── CopySavedColorCommand.cs
│ │ │ │ │ │ │ └── OpenColorPickerCommand.cs
│ │ │ │ │ │ ├── CropAndLock/
│ │ │ │ │ │ │ ├── CropAndLockReparentCommand.cs
│ │ │ │ │ │ │ ├── CropAndLockScreenshotCommand.cs
│ │ │ │ │ │ │ └── CropAndLockThumbnailCommand.cs
│ │ │ │ │ │ ├── EnvironmentVariables/
│ │ │ │ │ │ │ ├── OpenEnvironmentVariablesAdminCommand.cs
│ │ │ │ │ │ │ └── OpenEnvironmentVariablesCommand.cs
│ │ │ │ │ │ ├── FancyZones/
│ │ │ │ │ │ │ ├── ApplyFancyZonesLayoutCommand.cs
│ │ │ │ │ │ │ ├── FancyZonesLayoutListItem.cs
│ │ │ │ │ │ │ ├── FancyZonesMonitorListItem.cs
│ │ │ │ │ │ │ ├── IdentifyFancyZonesMonitorCommand.cs
│ │ │ │ │ │ │ └── OpenFancyZonesEditorCommand.cs
│ │ │ │ │ │ ├── Hosts/
│ │ │ │ │ │ │ ├── OpenHostsEditorAdminCommand.cs
│ │ │ │ │ │ │ └── OpenHostsEditorCommand.cs
│ │ │ │ │ │ ├── KeyboardManager/
│ │ │ │ │ │ │ └── OpenNewKeyboardManagerEditorCommand.cs
│ │ │ │ │ │ ├── LaunchModuleCommand.cs
│ │ │ │ │ │ ├── LightSwitch/
│ │ │ │ │ │ │ └── ToggleLightSwitchCommand.cs
│ │ │ │ │ │ ├── MouseUtils/
│ │ │ │ │ │ │ ├── ShowMouseJumpPreviewCommand.cs
│ │ │ │ │ │ │ ├── ToggleCursorWrapCommand.cs
│ │ │ │ │ │ │ ├── ToggleFindMyMouseCommand.cs
│ │ │ │ │ │ │ ├── ToggleMouseCrosshairsCommand.cs
│ │ │ │ │ │ │ └── ToggleMouseHighlighterCommand.cs
│ │ │ │ │ │ ├── MouseWithoutBorders/
│ │ │ │ │ │ │ ├── MWBReconnectCommand.cs
│ │ │ │ │ │ │ └── ToggleMWBEasyMouseCommand.cs
│ │ │ │ │ │ ├── OpenInSettingsCommand.cs
│ │ │ │ │ │ ├── OpenPowerToysSettingsCommand.cs
│ │ │ │ │ │ ├── RegistryPreview/
│ │ │ │ │ │ │ └── OpenRegistryPreviewCommand.cs
│ │ │ │ │ │ ├── ScreenRuler/
│ │ │ │ │ │ │ └── ToggleScreenRulerCommand.cs
│ │ │ │ │ │ ├── ShortcutGuide/
│ │ │ │ │ │ │ └── ToggleShortcutGuideCommand.cs
│ │ │ │ │ │ ├── TextExtractor/
│ │ │ │ │ │ │ └── ToggleTextExtractorCommand.cs
│ │ │ │ │ │ ├── Workspaces/
│ │ │ │ │ │ │ ├── LaunchWorkspaceCommand.cs
│ │ │ │ │ │ │ ├── OpenWorkspaceEditorCommand.cs
│ │ │ │ │ │ │ └── WorkspaceListItem.cs
│ │ │ │ │ │ └── ZoomIt/
│ │ │ │ │ │ └── ZoomItActionCommand.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── AwakeStatusService.cs
│ │ │ │ │ │ ├── ColorSwatchIconFactory.cs
│ │ │ │ │ │ ├── FancyZonesCommandIds.cs
│ │ │ │ │ │ ├── FancyZonesContextHelper.cs
│ │ │ │ │ │ ├── FancyZonesDataService.cs
│ │ │ │ │ │ ├── FancyZonesLayoutDescriptor.cs
│ │ │ │ │ │ ├── FancyZonesLayoutDescriptor1.cs
│ │ │ │ │ │ ├── FancyZonesLayoutSource.cs
│ │ │ │ │ │ ├── FancyZonesMonitorDescriptor.cs
│ │ │ │ │ │ ├── FancyZonesMonitorIdentifier.cs
│ │ │ │ │ │ ├── FancyZonesMonitorPreviewRenderer.cs
│ │ │ │ │ │ ├── FancyZonesNotifier.cs
│ │ │ │ │ │ ├── FancyZonesThumbnailRenderer.cs
│ │ │ │ │ │ ├── FancyZonesVirtualDesktop.cs
│ │ │ │ │ │ ├── GpoEnablementService.cs
│ │ │ │ │ │ ├── KeyboardManagerStateService.cs
│ │ │ │ │ │ ├── ModuleCommandCatalog.cs
│ │ │ │ │ │ ├── ModuleEnablementService.cs
│ │ │ │ │ │ ├── PowerToysFallbackCommandItem.cs
│ │ │ │ │ │ ├── PowerToysPathResolver.cs
│ │ │ │ │ │ ├── PowerToysResourcesHelper.cs
│ │ │ │ │ │ └── SettingsChangeNotifier.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.PowerToys.csproj
│ │ │ │ │ ├── Modules/
│ │ │ │ │ │ ├── AdvancedPasteModuleCommandProvider.cs
│ │ │ │ │ │ ├── AlwaysOnTopModuleCommandProvider.cs
│ │ │ │ │ │ ├── AwakeModuleCommandProvider.cs
│ │ │ │ │ │ ├── ColorPickerModuleCommandProvider.cs
│ │ │ │ │ │ ├── CommandNotFoundModuleCommandProvider.cs
│ │ │ │ │ │ ├── CropAndLockModuleCommandProvider.cs
│ │ │ │ │ │ ├── EnvironmentVariablesModuleCommandProvider.cs
│ │ │ │ │ │ ├── FancyZonesModuleCommandProvider.cs
│ │ │ │ │ │ ├── FileExplorerAddonsModuleCommandProvider.cs
│ │ │ │ │ │ ├── FileLocksmithModuleCommandProvider.cs
│ │ │ │ │ │ ├── HostsModuleCommandProvider.cs
│ │ │ │ │ │ ├── ImageResizerModuleCommandProvider.cs
│ │ │ │ │ │ ├── KeyboardManagerModuleCommandProvider.cs
│ │ │ │ │ │ ├── LightSwitchModuleCommandProvider.cs
│ │ │ │ │ │ ├── ModuleCommandProvider.cs
│ │ │ │ │ │ ├── MouseUtilsModuleCommandProvider.cs
│ │ │ │ │ │ ├── MouseWithoutBordersModuleCommandProvider.cs
│ │ │ │ │ │ ├── NewPlusModuleCommandProvider.cs
│ │ │ │ │ │ ├── PeekModuleCommandProvider.cs
│ │ │ │ │ │ ├── PowerRenameModuleCommandProvider.cs
│ │ │ │ │ │ ├── PowerToysRunModuleCommandProvider.cs
│ │ │ │ │ │ ├── QuickAccentModuleCommandProvider.cs
│ │ │ │ │ │ ├── RegistryPreviewModuleCommandProvider.cs
│ │ │ │ │ │ ├── ScreenRulerModuleCommandProvider.cs
│ │ │ │ │ │ ├── ShortcutGuideModuleCommandProvider.cs
│ │ │ │ │ │ ├── TextExtractorModuleCommandProvider.cs
│ │ │ │ │ │ ├── WorkspacesModuleCommandProvider.cs
│ │ │ │ │ │ └── ZoomItModuleCommandProvider.cs
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── ColorPickerSavedColorsPage.cs
│ │ │ │ │ │ ├── FancyZonesLayoutsPage.cs
│ │ │ │ │ │ ├── FancyZonesMonitorLayoutPickerPage.cs
│ │ │ │ │ │ ├── FancyZonesMonitorsPage.cs
│ │ │ │ │ │ ├── PowerToysExtensionPage.cs
│ │ │ │ │ │ └── PowerToysListPage.cs
│ │ │ │ │ ├── PowerToysCommandsProvider.cs
│ │ │ │ │ ├── PowerToysExtension.cs
│ │ │ │ │ ├── PowerToysExtensionCommandsProvider.cs
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── Public/
│ │ │ │ │ │ └── README.md
│ │ │ │ │ └── app.manifest
│ │ │ │ ├── Microsoft.CmdPal.Ext.Registry/
│ │ │ │ │ ├── Classes/
│ │ │ │ │ │ └── RegistryEntry.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── CopyRegistryInfoCommand.cs
│ │ │ │ │ │ └── OpenKeyInEditorCommand.cs
│ │ │ │ │ ├── Constants/
│ │ │ │ │ │ ├── KeyName.cs
│ │ │ │ │ │ └── MaxTextLength.cs
│ │ │ │ │ ├── CopyType.cs
│ │ │ │ │ ├── Enumerations/
│ │ │ │ │ │ └── TruncateSide.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── ContextMenuHelper.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── QueryHelper.cs
│ │ │ │ │ │ ├── RegistryHelper.cs
│ │ │ │ │ │ ├── ResultHelper.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ └── ValueHelper.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Registry.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ └── RegistryListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ └── RegistryCommandsProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── ConnectionListItem.cs
│ │ │ │ │ │ ├── FallbackRemoteDesktopItem.cs
│ │ │ │ │ │ └── OpenRemoteDesktopCommand.cs
│ │ │ │ │ ├── Helper/
│ │ │ │ │ │ ├── ConnectionHelpers.cs
│ │ │ │ │ │ ├── IRdpConnectionsManager.cs
│ │ │ │ │ │ └── RdpConnectionsManager.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ └── RemoteDesktopListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── RemoteDesktopCommandProvider.cs
│ │ │ │ │ └── Settings/
│ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ └── SettingsManager.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.Shell/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ └── OpenUrlWithHistoryCommand.cs
│ │ │ │ │ ├── FallbackExecuteItem.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── CommandLineNormalizer.cs
│ │ │ │ │ │ ├── ExecutionShell.cs
│ │ │ │ │ │ ├── RunAsType.cs
│ │ │ │ │ │ └── ShellListPageHelpers.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── LocalSuppressions.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.Shell.csproj
│ │ │ │ │ ├── NativeMethods.json
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── PathListItem.cs
│ │ │ │ │ │ ├── RunExeItem.cs
│ │ │ │ │ │ └── ShellListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── ResourceLoaderInstance.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── Settings/
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ └── SettingsManager.cs
│ │ │ │ │ └── ShellCommandsProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.System/
│ │ │ │ │ ├── EmptyRecycleBinCommand.cs
│ │ │ │ │ ├── EmptyRecycleBinConfirmation.cs
│ │ │ │ │ ├── ExecuteCommand.cs
│ │ │ │ │ ├── ExecuteCommandConfirmation.cs
│ │ │ │ │ ├── FallbackSystemCommandItem.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── Commands.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── MessageBoxHelper.cs
│ │ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ │ ├── NetworkConnectionProperties.cs
│ │ │ │ │ │ ├── OpenInShellHelper.cs
│ │ │ │ │ │ ├── ResultHelper.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ ├── SystemPluginContext.cs
│ │ │ │ │ │ └── Win32Helpers.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.System.csproj
│ │ │ │ │ ├── OpenInShellCommand.cs
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ └── SystemCommandPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ └── SystemCommandExtensionProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate/
│ │ │ │ │ ├── FallbackTimeDateItem.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── AvailableResult.cs
│ │ │ │ │ │ ├── AvailableResultsList.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── ResultHelper.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ ├── TimeAndDateHelper.cs
│ │ │ │ │ │ └── TimeDateCalculator.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ └── TimeDateExtensionPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ └── TimeDateCommandsProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── OpenURLCommand.cs
│ │ │ │ │ │ └── SearchWebCommand.cs
│ │ │ │ │ ├── FallbackExecuteSearchItem.cs
│ │ │ │ │ ├── FallbackOpenURLItem.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── Browser/
│ │ │ │ │ │ │ ├── BrowserInfo.cs
│ │ │ │ │ │ │ ├── BrowserInfoServiceExtensions.cs
│ │ │ │ │ │ │ ├── DefaultBrowserInfoService.cs
│ │ │ │ │ │ │ ├── IBrowserInfoService.cs
│ │ │ │ │ │ │ └── Providers/
│ │ │ │ │ │ │ ├── AssociatedApp.cs
│ │ │ │ │ │ │ ├── AssociationProviderBase.cs
│ │ │ │ │ │ │ ├── FallbackMsEdgeBrowserProvider.cs
│ │ │ │ │ │ │ ├── IDefaultBrowserProvider.cs
│ │ │ │ │ │ │ ├── LegacyRegistryAssociationProvider.cs
│ │ │ │ │ │ │ └── ShellAssociationProvider.cs
│ │ │ │ │ │ ├── HistoryItem.cs
│ │ │ │ │ │ ├── HistoryStore.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ └── WebSearchJsonSerializationContext.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch.csproj
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ └── WebSearchListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── WebSearchCommandsProvider.cs
│ │ │ │ │ └── WebSearchTopLevelCommandItem.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.WinGet/
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WinGet.csproj
│ │ │ │ │ ├── NativeMethods.json
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── InstallPackageCommand.cs
│ │ │ │ │ │ ├── InstallPackageListItem.cs
│ │ │ │ │ │ └── WinGetExtensionPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── WinGetExtensionCommandsProvider.cs
│ │ │ │ │ ├── WinGetExtensionHost.cs
│ │ │ │ │ ├── WinGetStatics.cs
│ │ │ │ │ ├── WindowsPackageManager.Interop/
│ │ │ │ │ │ ├── ClassModel.cs
│ │ │ │ │ │ ├── ClassesDefinition.cs
│ │ │ │ │ │ ├── ClsidContext.cs
│ │ │ │ │ │ ├── WindowsPackageManagerFactory.cs
│ │ │ │ │ │ └── WindowsPackageManagerStandardFactory.cs
│ │ │ │ │ └── app.manifest
│ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── CloseWindowCommand.cs
│ │ │ │ │ │ ├── EndTaskCommand.cs
│ │ │ │ │ │ ├── ExplorerInfoResultCommand.cs
│ │ │ │ │ │ └── SwitchToWindowCommand.cs
│ │ │ │ │ ├── Components/
│ │ │ │ │ │ ├── ContextMenuHelper.cs
│ │ │ │ │ │ ├── LivePreview.cs
│ │ │ │ │ │ ├── OpenWindows.cs
│ │ │ │ │ │ ├── ResultHelper.cs
│ │ │ │ │ │ ├── Window.cs
│ │ │ │ │ │ └── WindowProcess.cs
│ │ │ │ │ ├── GlobalUsings.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── CVirtualDesktopManager.cs
│ │ │ │ │ │ ├── ISettingsInterface.cs
│ │ │ │ │ │ ├── IVirtualDesktopManager.cs
│ │ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ │ ├── OSVersionHelper.cs
│ │ │ │ │ │ ├── ProcessPackagingInfo.cs
│ │ │ │ │ │ ├── ProcessPackagingInspector.cs
│ │ │ │ │ │ ├── ProcessPackagingKind.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ ├── VDesktop.cs
│ │ │ │ │ │ ├── VirtualDesktopHelper.cs
│ │ │ │ │ │ └── Win32Helpers.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Messages/
│ │ │ │ │ │ └── RefreshWindowsMessage.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── WindowWalkerListItem.cs
│ │ │ │ │ │ └── WindowWalkerListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ └── WindowWalkerCommandsProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsServices/
│ │ │ │ │ ├── Action.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── OpenServicesCommand.cs
│ │ │ │ │ │ ├── RestartServiceCommand.cs
│ │ │ │ │ │ └── ServiceCommand.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ └── ServiceHelper.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsServices.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── ServiceFilters.cs
│ │ │ │ │ │ └── ServicesListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── ServiceResult.cs
│ │ │ │ │ └── WindowsServicesCommandsProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsSettings/
│ │ │ │ │ ├── Classes/
│ │ │ │ │ │ ├── WindowsSetting.cs
│ │ │ │ │ │ └── WindowsSettings.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ └── OpenSettingsCommand.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── ContextMenuHelper.cs
│ │ │ │ │ │ ├── JsonSettingsListHelper.cs
│ │ │ │ │ │ ├── ResultHelper.cs
│ │ │ │ │ │ ├── ScoringHelper.cs
│ │ │ │ │ │ ├── TranslationHelper.cs
│ │ │ │ │ │ ├── UnsupportedSettingsHelper.cs
│ │ │ │ │ │ └── WindowsSettingsPathHelper.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── JsonSerializationContext.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsSettings.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── FallbackWindowsSettingsItem.cs
│ │ │ │ │ │ └── WindowsSettingsListPage.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── WindowsSettings.json
│ │ │ │ │ ├── WindowsSettings.schema.json
│ │ │ │ │ └── WindowsSettingsCommandsProvider.cs
│ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsTerminal/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── LaunchProfileAsAdminCommand.cs
│ │ │ │ │ │ └── LaunchProfileCommand.cs
│ │ │ │ │ ├── Helpers/
│ │ │ │ │ │ ├── AppSettings.cs
│ │ │ │ │ │ ├── AppSettingsJsonContext.cs
│ │ │ │ │ │ ├── AppSettingsManager.cs
│ │ │ │ │ │ ├── IApplicationActivationManager.cs
│ │ │ │ │ │ ├── ITerminalQuery.cs
│ │ │ │ │ │ ├── ProfileSortOrder.cs
│ │ │ │ │ │ ├── SettingsManager.cs
│ │ │ │ │ │ ├── TerminalHelper.cs
│ │ │ │ │ │ ├── TerminalProfileKey.cs
│ │ │ │ │ │ └── TerminalQuery.cs
│ │ │ │ │ ├── Icons.cs
│ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsTerminal.csproj
│ │ │ │ │ ├── Pages/
│ │ │ │ │ │ ├── ProfilesListPage.cs
│ │ │ │ │ │ └── TerminalChannelFilters.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── TerminalPackage.cs
│ │ │ │ │ ├── TerminalProfile.cs
│ │ │ │ │ ├── TerminalTopLevelCommandItem.cs
│ │ │ │ │ └── WindowsTerminalCommandsProvider.cs
│ │ │ │ ├── ProcessMonitorExtension/
│ │ │ │ │ ├── Package.appxmanifest
│ │ │ │ │ ├── ProcessItem.cs
│ │ │ │ │ ├── ProcessListPage.cs
│ │ │ │ │ ├── ProcessMonitorCommandProvider.cs
│ │ │ │ │ ├── ProcessMonitorExtension.csproj
│ │ │ │ │ ├── Program.cs
│ │ │ │ │ ├── SampleExtension.cs
│ │ │ │ │ ├── SwitchToProcess.cs
│ │ │ │ │ ├── TerminateProcess.cs
│ │ │ │ │ └── app.manifest
│ │ │ │ └── SamplePagesExtension/
│ │ │ │ ├── EvilSampleListPage.cs
│ │ │ │ ├── EvilSamplesPage.cs
│ │ │ │ ├── ExplodeInFiveSeconds.cs
│ │ │ │ ├── NativeMethods.txt
│ │ │ │ ├── OnLoadPage.cs
│ │ │ │ ├── Package.appxmanifest
│ │ │ │ ├── Pages/
│ │ │ │ │ ├── IssueSpecificPages/
│ │ │ │ │ │ ├── AllIssueSamplesIndexPage.cs
│ │ │ │ │ │ └── SamplePageForIssue42827_FilterDropDownStaysVisibleAfterSwitchingFromListToContentPage.cs
│ │ │ │ │ ├── SampleCommentsPage.cs
│ │ │ │ │ ├── SampleContentPage.cs
│ │ │ │ │ ├── SampleDynamicListPage.cs
│ │ │ │ │ ├── SampleGalleryListPage.cs
│ │ │ │ │ ├── SampleGridsListPage.cs
│ │ │ │ │ ├── SampleIconPage.cs
│ │ │ │ │ ├── SampleListPage.cs
│ │ │ │ │ ├── SampleListPageWithDetails.cs
│ │ │ │ │ ├── SampleMarkdownDetails.cs
│ │ │ │ │ ├── SampleMarkdownImagesPage.cs
│ │ │ │ │ ├── SampleMarkdownManyBodies.cs
│ │ │ │ │ ├── SampleMarkdownPage.cs
│ │ │ │ │ ├── SampleSettingsPage.cs
│ │ │ │ │ ├── SectionsPages/
│ │ │ │ │ │ ├── SampleListPageWithSections.cs
│ │ │ │ │ │ └── SectionsIndexPage.cs
│ │ │ │ │ ├── SendMessageCommand.cs
│ │ │ │ │ ├── SlowListPage.cs
│ │ │ │ │ └── ToastCommand.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── SampleButtonsDockBand.cs
│ │ │ │ ├── SampleDataTransferPage.cs
│ │ │ │ ├── SampleDockBand.cs
│ │ │ │ ├── SampleExtension.cs
│ │ │ │ ├── SamplePagesCommandsProvider.cs
│ │ │ │ ├── SamplePagesExtension.csproj
│ │ │ │ ├── SampleUpdatingItemsPage.cs
│ │ │ │ ├── SamplesListPage.cs
│ │ │ │ ├── SelfImmolateCommand.cs
│ │ │ │ ├── ShowToastCommand.cs
│ │ │ │ └── app.manifest
│ │ │ ├── extensionsdk/
│ │ │ │ ├── Microsoft.CommandPalette.Extensions/
│ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.def
│ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.idl
│ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.vcxproj
│ │ │ │ │ ├── pch.cpp
│ │ │ │ │ ├── pch.h
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── til/
│ │ │ │ │ │ └── winrt.h
│ │ │ │ │ └── winrt_module.cpp
│ │ │ │ ├── Microsoft.CommandPalette.Extensions.Toolkit/
│ │ │ │ │ ├── AnonymousCommand.cs
│ │ │ │ │ ├── BaseObservable.cs
│ │ │ │ │ ├── ChoiceSetSetting.cs
│ │ │ │ │ ├── ClipboardHelper.cs
│ │ │ │ │ ├── ColorHelpers.cs
│ │ │ │ │ ├── Command.cs
│ │ │ │ │ ├── CommandContextItem.cs
│ │ │ │ │ ├── CommandItem.cs
│ │ │ │ │ ├── CommandProvider.cs
│ │ │ │ │ ├── CommandResult.cs
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── ConfirmableCommand.cs
│ │ │ │ │ │ ├── CopyPathCommand.cs
│ │ │ │ │ │ ├── CopyTextCommand.cs
│ │ │ │ │ │ ├── NoOpCommand.cs
│ │ │ │ │ │ ├── OpenFileCommand.cs
│ │ │ │ │ │ ├── OpenInConsoleCommand.cs
│ │ │ │ │ │ ├── OpenPropertiesCommand.cs
│ │ │ │ │ │ ├── OpenUrlCommand.cs
│ │ │ │ │ │ ├── OpenWithCommand.cs
│ │ │ │ │ │ └── ShowFileInFolderCommand.cs
│ │ │ │ │ ├── ConfirmationArgs.cs
│ │ │ │ │ ├── ContentPage.cs
│ │ │ │ │ ├── Details.cs
│ │ │ │ │ ├── DetailsCommands.cs
│ │ │ │ │ ├── DetailsElement.cs
│ │ │ │ │ ├── DetailsLink.cs
│ │ │ │ │ ├── DetailsSeparator.cs
│ │ │ │ │ ├── DetailsTags.cs
│ │ │ │ │ ├── Dock/
│ │ │ │ │ │ ├── WrappedDockItem.cs
│ │ │ │ │ │ └── WrappedDockList.cs
│ │ │ │ │ ├── DynamicListPage.cs
│ │ │ │ │ ├── ExtensionHost.cs
│ │ │ │ │ ├── ExtensionInstanceManager`1.cs
│ │ │ │ │ ├── ExtensionServer.cs
│ │ │ │ │ ├── FallbackCommandItem.cs
│ │ │ │ │ ├── Filter.cs
│ │ │ │ │ ├── Filters.cs
│ │ │ │ │ ├── FontIconData.cs
│ │ │ │ │ ├── FormContent.cs
│ │ │ │ │ ├── FuzzyStringMatcher.cs
│ │ │ │ │ ├── GalleryGridLayout.cs
│ │ │ │ │ ├── GlobalSuppressions.cs
│ │ │ │ │ ├── GoToPageArgs.cs
│ │ │ │ │ ├── ISettingsForm.cs
│ │ │ │ │ ├── IconData.cs
│ │ │ │ │ ├── IconHelpers.cs
│ │ │ │ │ ├── IconInfo.cs
│ │ │ │ │ ├── ImageContent.cs
│ │ │ │ │ ├── InvokableCommand.cs
│ │ │ │ │ ├── ItemsChangedEventArgs.cs
│ │ │ │ │ ├── JsonSerializationContext.cs
│ │ │ │ │ ├── JsonSettingsManager.cs
│ │ │ │ │ ├── KeyChordHelpers.cs
│ │ │ │ │ ├── ListHelpers.cs
│ │ │ │ │ ├── ListItem.cs
│ │ │ │ │ ├── ListPage.cs
│ │ │ │ │ ├── LogMessage.cs
│ │ │ │ │ ├── ManagedCsWin32/
│ │ │ │ │ │ └── Shell32.cs
│ │ │ │ │ ├── MarkdownContent.cs
│ │ │ │ │ ├── MatchOption.cs
│ │ │ │ │ ├── MatchResult.cs
│ │ │ │ │ ├── MediumGridLayout.cs
│ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.Toolkit.csproj
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ ├── NativeMethods.txt
│ │ │ │ │ ├── Page.cs
│ │ │ │ │ ├── PlainTextContent.cs
│ │ │ │ │ ├── ProgressState.cs
│ │ │ │ │ ├── PropChangedEventArgs.cs
│ │ │ │ │ ├── Properties/
│ │ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ │ └── Resources.resx
│ │ │ │ │ ├── SearchPrecisionScore.cs
│ │ │ │ │ ├── Section.cs
│ │ │ │ │ ├── Separator.cs
│ │ │ │ │ ├── Setting`1.cs
│ │ │ │ │ ├── Settings.cs
│ │ │ │ │ ├── SettingsForm.cs
│ │ │ │ │ ├── ShellHelpers.cs
│ │ │ │ │ ├── SmallGridLayout.cs
│ │ │ │ │ ├── StatusMessage.cs
│ │ │ │ │ ├── Tag.cs
│ │ │ │ │ ├── TextSetting.cs
│ │ │ │ │ ├── ThumbnailHelper.cs
│ │ │ │ │ ├── ToastArgs.cs
│ │ │ │ │ ├── ToastStatusMessage.cs
│ │ │ │ │ ├── ToggleSetting.cs
│ │ │ │ │ ├── TreeContent.cs
│ │ │ │ │ ├── Utilities.cs
│ │ │ │ │ ├── WeakEventListener`3.cs
│ │ │ │ │ └── WellKnownExtensionAttributes.cs
│ │ │ │ ├── README.md
│ │ │ │ └── nuget/
│ │ │ │ ├── BuildSDKHelper.ps1
│ │ │ │ ├── Microsoft.CommandPalette.Extensions.SDK.nuspec
│ │ │ │ ├── Microsoft.CommandPalette.Extensions.props
│ │ │ │ ├── Microsoft.CommandPalette.Extensions.targets
│ │ │ │ └── NugetWrapper.cmd
│ │ │ └── format_sources.ps1
│ │ ├── colorPicker/
│ │ │ ├── ColorPicker/
│ │ │ │ ├── ColorPicker.base.rc
│ │ │ │ ├── ColorPicker.vcxproj
│ │ │ │ ├── ColorPicker.vcxproj.filters
│ │ │ │ ├── ColorPickerConstants.h
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── trace.cpp
│ │ │ │ └── trace.h
│ │ │ ├── ColorPicker.ModuleServices/
│ │ │ │ ├── ColorFormatValue.cs
│ │ │ │ ├── ColorPicker.ModuleServices.csproj
│ │ │ │ ├── ColorPickerService.cs
│ │ │ │ ├── ColorPickerServiceJsonContext.cs
│ │ │ │ ├── IColorPickerService.cs
│ │ │ │ └── SavedColor.cs
│ │ │ ├── ColorPickerUI/
│ │ │ │ ├── App.manifest
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── Assets/
│ │ │ │ │ └── ColorPicker/
│ │ │ │ │ └── colorPicker.cur
│ │ │ │ ├── Behaviors/
│ │ │ │ │ ├── AppearAnimationBehavior.cs
│ │ │ │ │ ├── ChangeWindowPositionBehavior.cs
│ │ │ │ │ ├── CloseZoomWindowBehavior.cs
│ │ │ │ │ ├── DragAndDropReorderBehavior.cs
│ │ │ │ │ ├── DragWindowBehavior.cs
│ │ │ │ │ ├── GridEffectBehavior.cs
│ │ │ │ │ └── ResizeBehavior.cs
│ │ │ │ ├── Bootstrapper.cs
│ │ │ │ ├── ColorEditorWindow.xaml
│ │ │ │ ├── ColorEditorWindow.xaml.cs
│ │ │ │ ├── ColorPickerUI.csproj
│ │ │ │ ├── Common/
│ │ │ │ │ ├── RangeObservableCollection.cs
│ │ │ │ │ ├── RelayCommand.cs
│ │ │ │ │ └── ViewModelBase.cs
│ │ │ │ ├── Controls/
│ │ │ │ │ ├── ColorFormatControl.xaml
│ │ │ │ │ ├── ColorFormatControl.xaml.cs
│ │ │ │ │ ├── ColorPickerControl.xaml
│ │ │ │ │ ├── ColorPickerControl.xaml.cs
│ │ │ │ │ └── HSVColor.cs
│ │ │ │ ├── Converters/
│ │ │ │ │ ├── BoolToInvertedVisibilityConverter.cs
│ │ │ │ │ ├── ColorToBrushConverter.cs
│ │ │ │ │ ├── ColorToStringConverter.cs
│ │ │ │ │ ├── NumberToInvertedVisibilityConverter.cs
│ │ │ │ │ └── NumberToVisibilityConverter.cs
│ │ │ │ ├── Helpers/
│ │ │ │ │ ├── AppStateHandler.cs
│ │ │ │ │ ├── ClipboardHelper.cs
│ │ │ │ │ ├── ColorHelper.cs
│ │ │ │ │ ├── ColorRepresentationHelper.cs
│ │ │ │ │ ├── ControlHelper.cs
│ │ │ │ │ ├── IThrottledActionInvoker.cs
│ │ │ │ │ ├── MonitorResolutionHelper.cs
│ │ │ │ │ ├── NativeMethodsHelper.cs
│ │ │ │ │ ├── SerializationHelper.cs
│ │ │ │ │ ├── SessionEventHelper.cs
│ │ │ │ │ ├── ThrottledActionInvoker.cs
│ │ │ │ │ └── ZoomWindowHelper.cs
│ │ │ │ ├── Keyboard/
│ │ │ │ │ ├── GlobalKeyboardHook.cs
│ │ │ │ │ ├── GlobalKeyboardHookEventArgs.cs
│ │ │ │ │ └── KeyboardMonitor.cs
│ │ │ │ ├── MainWindow.xaml
│ │ │ │ ├── MainWindow.xaml.cs
│ │ │ │ ├── Models/
│ │ │ │ │ └── ColorFormatModel.cs
│ │ │ │ ├── Mouse/
│ │ │ │ │ ├── CursorManager.cs
│ │ │ │ │ ├── IMouseInfoProvider.cs
│ │ │ │ │ ├── MouseHook.cs
│ │ │ │ │ └── MouseInfoProvider.cs
│ │ │ │ ├── NativeMethods.cs
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ ├── Resources.resx
│ │ │ │ │ ├── Settings.Designer.cs
│ │ │ │ │ └── Settings.settings
│ │ │ │ ├── Resources/
│ │ │ │ │ ├── Styles.xaml
│ │ │ │ │ └── ViewModelViewMappings.xaml
│ │ │ │ ├── Settings/
│ │ │ │ │ ├── IUserSettings.cs
│ │ │ │ │ ├── SettingItem`1.cs
│ │ │ │ │ └── UserSettings.cs
│ │ │ │ ├── Shaders/
│ │ │ │ │ ├── Global.cs
│ │ │ │ │ ├── GridShader.cso
│ │ │ │ │ ├── GridShader.fx
│ │ │ │ │ └── GridShaderEffect.cs
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── ColorPickerSession.cs
│ │ │ │ │ └── ColorPickerSettings.cs
│ │ │ │ ├── ViewModelContracts/
│ │ │ │ │ ├── IColorEditorViewModel.cs
│ │ │ │ │ ├── IMainViewModel.cs
│ │ │ │ │ └── IZoomViewModel.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ ├── ColorEditorViewModel.cs
│ │ │ │ │ ├── MainViewModel.cs
│ │ │ │ │ └── ZoomViewModel.cs
│ │ │ │ ├── Views/
│ │ │ │ │ ├── ColorEditorView.xaml
│ │ │ │ │ ├── ColorEditorView.xaml.cs
│ │ │ │ │ ├── MainView.xaml
│ │ │ │ │ ├── MainView.xaml.cs
│ │ │ │ │ ├── ZoomView.xaml
│ │ │ │ │ └── ZoomView.xaml.cs
│ │ │ │ ├── ZoomWindow.xaml
│ │ │ │ └── ZoomWindow.xaml.cs
│ │ │ ├── ColorPickerUI.UnitTests/
│ │ │ │ ├── ColorPickerUI.UnitTests.csproj
│ │ │ │ └── Helpers/
│ │ │ │ ├── ColorConverterTest.cs
│ │ │ │ └── ColorRepresentationHelperTest.cs
│ │ │ └── UITest-ColorPicker/
│ │ │ ├── ColorPickerUITest.cs
│ │ │ ├── ColorPickerUITest.md
│ │ │ └── UITest-ColorPicker.csproj
│ │ ├── fancyzones/
│ │ │ ├── FancyZones/
│ │ │ │ ├── FancyZones.vcxproj
│ │ │ │ ├── FancyZones.vcxproj.filters
│ │ │ │ ├── FancyZonesApp.cpp
│ │ │ │ ├── FancyZonesApp.h
│ │ │ │ ├── main.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ └── pch.h
│ │ │ ├── FancyZones.FuzzTests/
│ │ │ │ ├── FancyZones.FuzzTests.csproj
│ │ │ │ ├── FuzzTests.cs
│ │ │ │ ├── MSTestSettings.cs
│ │ │ │ └── OneFuzzConfig.json
│ │ │ ├── FancyZones.UITests/
│ │ │ │ ├── DragWindowTests.cs
│ │ │ │ ├── FancyZones.UITests.csproj
│ │ │ │ ├── Init.cs
│ │ │ │ ├── LayoutApplyHotKeyTests.cs
│ │ │ │ ├── OneZoneSwitchTests.cs
│ │ │ │ ├── RunFancyZonesTest.cs
│ │ │ │ └── Utils/
│ │ │ │ ├── FancyZonesSession.cs
│ │ │ │ └── ZoneSwitchHelper.cs
│ │ │ ├── FancyZonesCLI/
│ │ │ │ ├── CommandLine/
│ │ │ │ │ ├── Commands/
│ │ │ │ │ │ ├── FancyZonesBaseCommand.cs
│ │ │ │ │ │ ├── GetActiveLayoutCommand.cs
│ │ │ │ │ │ ├── GetHotkeysCommand.cs
│ │ │ │ │ │ ├── GetLayoutsCommand.cs
│ │ │ │ │ │ ├── GetMonitorsCommand.cs
│ │ │ │ │ │ ├── OpenEditorCommand.cs
│ │ │ │ │ │ ├── OpenSettingsCommand.cs
│ │ │ │ │ │ ├── RemoveHotkeyCommand.cs
│ │ │ │ │ │ ├── SetHotkeyCommand.cs
│ │ │ │ │ │ └── SetLayoutCommand.cs
│ │ │ │ │ ├── FancyZonesCliCommandFactory.cs
│ │ │ │ │ ├── FancyZonesCliGuards.cs
│ │ │ │ │ └── FancyZonesCliUsage.cs
│ │ │ │ ├── FancyZonesCLI.csproj
│ │ │ │ ├── LayoutVisualizer.cs
│ │ │ │ ├── Logger.cs
│ │ │ │ ├── NativeMethods.cs
│ │ │ │ ├── NativeMethods.json
│ │ │ │ ├── NativeMethods.txt
│ │ │ │ ├── Program.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ └── Resources.resx
│ │ │ │ ├── Telemetry/
│ │ │ │ │ └── FancyZonesCLICommandEvent.cs
│ │ │ │ └── Utils/
│ │ │ │ ├── AppliedLayoutsHelper.cs
│ │ │ │ ├── EditorParametersRefresh.cs
│ │ │ │ └── GuidHelper.cs
│ │ │ ├── FancyZonesEditor.UITests/
│ │ │ │ ├── ApplyLayoutTests.cs
│ │ │ │ ├── CopyLayoutTests.cs
│ │ │ │ ├── CreateLayoutTests.cs
│ │ │ │ ├── CustomLayoutsTests.cs
│ │ │ │ ├── DefaultLayoutsTest.cs
│ │ │ │ ├── DeleteLayoutTests.cs
│ │ │ │ ├── EditLayoutTests.cs
│ │ │ │ ├── FancyZonesEditor.UITests.csproj
│ │ │ │ ├── FirstLunchTest.cs
│ │ │ │ ├── Init.cs
│ │ │ │ ├── LayoutHotkeysTests.cs
│ │ │ │ ├── NewFancyZonesEditorTest.cs
│ │ │ │ ├── RunFancyZonesEditorTest.cs
│ │ │ │ ├── TemplateLayoutsTests.cs
│ │ │ │ ├── TestConstants.cs
│ │ │ │ ├── UIInitializeTest.cs
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── AppZoneHistory.cs
│ │ │ │ │ ├── FancyZonesEditorFiles.cs
│ │ │ │ │ ├── FancyZonesEditorHelper.cs
│ │ │ │ │ └── IOTestHelper.cs
│ │ │ │ └── release-test-checklist.md
│ │ │ ├── FancyZonesEditor.UnitTests/
│ │ │ │ ├── DefaultLayoutsModelTests.cs
│ │ │ │ ├── FancyZonesEditor.UnitTests.csproj
│ │ │ │ ├── GridLayoutModelTests.cs
│ │ │ │ └── Usings.cs
│ │ │ ├── FancyZonesEditorCommon/
│ │ │ │ ├── Data/
│ │ │ │ │ ├── AppliedLayouts.cs
│ │ │ │ │ ├── Constants.cs
│ │ │ │ │ ├── CustomLayoutEnumExtension.cs
│ │ │ │ │ ├── CustomLayouts.cs
│ │ │ │ │ ├── DefaultLayouts.cs
│ │ │ │ │ ├── EditorData`1.cs
│ │ │ │ │ ├── EditorParameters.cs
│ │ │ │ │ ├── FancyZonesJsonContext.cs
│ │ │ │ │ ├── FancyZonesPaths.cs
│ │ │ │ │ ├── LayoutDefaultSettings.cs
│ │ │ │ │ ├── LayoutHotkeys.cs
│ │ │ │ │ └── LayoutTemplates.cs
│ │ │ │ ├── FancyZonesEditorCommon.csproj
│ │ │ │ └── Utils/
│ │ │ │ ├── DashCaseNamingPolicy.cs
│ │ │ │ ├── FancyZonesDataIO.cs
│ │ │ │ ├── IOUtils.cs
│ │ │ │ └── StringUtils.cs
│ │ │ ├── FancyZonesLib/
│ │ │ │ ├── Colors.cpp
│ │ │ │ ├── Colors.h
│ │ │ │ ├── DraggingState.cpp
│ │ │ │ ├── DraggingState.h
│ │ │ │ ├── EditorParameters.cpp
│ │ │ │ ├── EditorParameters.h
│ │ │ │ ├── FancyZones.cpp
│ │ │ │ ├── FancyZones.h
│ │ │ │ ├── FancyZonesData/
│ │ │ │ │ ├── AppZoneHistory.cpp
│ │ │ │ │ ├── AppZoneHistory.h
│ │ │ │ │ ├── AppliedLayouts.cpp
│ │ │ │ │ ├── AppliedLayouts.h
│ │ │ │ │ ├── CustomLayouts.cpp
│ │ │ │ │ ├── CustomLayouts.h
│ │ │ │ │ ├── DefaultLayouts.cpp
│ │ │ │ │ ├── DefaultLayouts.h
│ │ │ │ │ ├── LastUsedVirtualDesktop.cpp
│ │ │ │ │ ├── LastUsedVirtualDesktop.h
│ │ │ │ │ ├── LayoutData.h
│ │ │ │ │ ├── LayoutDefaults.h
│ │ │ │ │ ├── LayoutHotkeys.cpp
│ │ │ │ │ ├── LayoutHotkeys.h
│ │ │ │ │ ├── LayoutTemplates.cpp
│ │ │ │ │ └── LayoutTemplates.h
│ │ │ │ ├── FancyZonesData.cpp
│ │ │ │ ├── FancyZonesData.h
│ │ │ │ ├── FancyZonesDataTypes.cpp
│ │ │ │ ├── FancyZonesDataTypes.h
│ │ │ │ ├── FancyZonesLib.vcxproj
│ │ │ │ ├── FancyZonesLib.vcxproj.filters
│ │ │ │ ├── FancyZonesWinHookEventIDs.cpp
│ │ │ │ ├── FancyZonesWinHookEventIDs.h
│ │ │ │ ├── FancyZonesWindowProcessing.cpp
│ │ │ │ ├── FancyZonesWindowProcessing.h
│ │ │ │ ├── FancyZonesWindowProperties.cpp
│ │ │ │ ├── FancyZonesWindowProperties.h
│ │ │ │ ├── GenericKeyHook.h
│ │ │ │ ├── GuidUtils.h
│ │ │ │ ├── HighlightedZones.cpp
│ │ │ │ ├── HighlightedZones.h
│ │ │ │ ├── JsonHelpers.cpp
│ │ │ │ ├── JsonHelpers.h
│ │ │ │ ├── KeyState.h
│ │ │ │ ├── KeyboardInput.cpp
│ │ │ │ ├── KeyboardInput.h
│ │ │ │ ├── Layout.cpp
│ │ │ │ ├── Layout.h
│ │ │ │ ├── LayoutAssignedWindows.cpp
│ │ │ │ ├── LayoutAssignedWindows.h
│ │ │ │ ├── LayoutConfigurator.cpp
│ │ │ │ ├── LayoutConfigurator.h
│ │ │ │ ├── ModuleConstants.h
│ │ │ │ ├── MonitorUtils.cpp
│ │ │ │ ├── MonitorUtils.h
│ │ │ │ ├── MouseButtonsHook.cpp
│ │ │ │ ├── MouseButtonsHook.h
│ │ │ │ ├── OnThreadExecutor.cpp
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── SettingsConstants.h
│ │ │ │ ├── SettingsObserver.h
│ │ │ │ ├── VirtualDesktop.cpp
│ │ │ │ ├── VirtualDesktop.h
│ │ │ │ ├── WindowDrag.cpp
│ │ │ │ ├── WindowKeyboardSnap.cpp
│ │ │ │ ├── WindowKeyboardSnap.h
│ │ │ │ ├── WindowMouseSnap.cpp
│ │ │ │ ├── WindowMouseSnap.h
│ │ │ │ ├── WindowUtils.cpp
│ │ │ │ ├── WindowUtils.h
│ │ │ │ ├── WorkArea.cpp
│ │ │ │ ├── WorkArea.h
│ │ │ │ ├── WorkAreaConfiguration.cpp
│ │ │ │ ├── WorkAreaConfiguration.h
│ │ │ │ ├── Zone.cpp
│ │ │ │ ├── Zone.h
│ │ │ │ ├── ZoneIndexSetBitmask.h
│ │ │ │ ├── ZonesOverlay.cpp
│ │ │ │ ├── ZonesOverlay.h
│ │ │ │ ├── fancyzones.base.rc
│ │ │ │ ├── on_thread_executor.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ ├── trace.cpp
│ │ │ │ ├── trace.h
│ │ │ │ ├── util.cpp
│ │ │ │ └── util.h
│ │ │ ├── FancyZonesModuleInterface/
│ │ │ │ ├── FancyZonesModuleInterface.rc
│ │ │ │ ├── FancyZonesModuleInterface.vcxproj
│ │ │ │ ├── FancyZonesModuleInterface.vcxproj.filters
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.h
│ │ │ │ └── targetver.h
│ │ │ ├── FancyZonesTests/
│ │ │ │ └── UnitTests/
│ │ │ │ ├── AppZoneHistoryTests.Spec.cpp
│ │ │ │ ├── AppliedLayoutsTests.Spec.cpp
│ │ │ │ ├── CustomLayoutsTests.Spec.cpp
│ │ │ │ ├── DefaultLayoutsTests.Spec.cpp
│ │ │ │ ├── FancyZonesSettings.Spec.cpp
│ │ │ │ ├── JsonHelpers.Tests.cpp
│ │ │ │ ├── Layout.Spec.cpp
│ │ │ │ ├── LayoutAssignedWindows.Spec.cpp
│ │ │ │ ├── LayoutHotkeysTests.Spec.cpp
│ │ │ │ ├── LayoutTemplatesTests.Spec.cpp
│ │ │ │ ├── UnitTests-FancyZones.rc
│ │ │ │ ├── UnitTests.vcxproj
│ │ │ │ ├── UnitTests.vcxproj.filters
│ │ │ │ ├── Util.Spec.cpp
│ │ │ │ ├── Util.cpp
│ │ │ │ ├── Util.h
│ │ │ │ ├── WindowKeyboardSnap.Spec.cpp
│ │ │ │ ├── WindowProcessingTests.Spec.cpp
│ │ │ │ ├── WorkArea.Spec.cpp
│ │ │ │ ├── WorkAreaIdTests.Spec.cpp
│ │ │ │ ├── Zone.Spec.cpp
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ └── resource.h
│ │ │ ├── README.md
│ │ │ └── editor/
│ │ │ ├── FancyZonesEditor/
│ │ │ │ ├── App.config
│ │ │ │ ├── App.xaml
│ │ │ │ ├── App.xaml.cs
│ │ │ │ ├── CanvasEditor.xaml
│ │ │ │ ├── CanvasEditor.xaml.cs
│ │ │ │ ├── CanvasEditorWindow.xaml
│ │ │ │ ├── CanvasEditorWindow.xaml.cs
│ │ │ │ ├── CanvasZone.xaml
│ │ │ │ ├── CanvasZone.xaml.cs
│ │ │ │ ├── ClickAutomationEventButton.xaml
│ │ │ │ ├── ClickAutomationEventButton.xaml.cs
│ │ │ │ ├── Controls/
│ │ │ │ │ ├── CustomSlider.xaml
│ │ │ │ │ ├── CustomSlider.xaml.cs
│ │ │ │ │ └── CustomSliderAutomationPeer.cs
│ │ │ │ ├── Converters/
│ │ │ │ │ ├── BooleanToIntConverter.xaml.cs
│ │ │ │ │ ├── LayoutModelTypeBlankToVisibilityConverter.cs
│ │ │ │ │ ├── LayoutModelTypeToVisibilityConverter.cs
│ │ │ │ │ ├── LayoutTypeCustomToVisibilityConverter.cs
│ │ │ │ │ ├── LayoutTypeTemplateToVisibilityConverter.cs
│ │ │ │ │ └── ModelToVisibilityConverter.xaml.cs
│ │ │ │ ├── EditorWindow.cs
│ │ │ │ ├── FancyZonesEditor.csproj
│ │ │ │ ├── GridData.cs
│ │ │ │ ├── GridEditor.xaml
│ │ │ │ ├── GridEditor.xaml.cs
│ │ │ │ ├── GridEditorWindow.xaml
│ │ │ │ ├── GridEditorWindow.xaml.cs
│ │ │ │ ├── GridResizer.xaml
│ │ │ │ ├── GridResizer.xaml.cs
│ │ │ │ ├── GridZone.xaml
│ │ │ │ ├── GridZone.xaml.cs
│ │ │ │ ├── HeadingTextBlock.cs
│ │ │ │ ├── LayoutBackup.cs
│ │ │ │ ├── LayoutOverlayWindow.xaml
│ │ │ │ ├── LayoutOverlayWindow.xaml.cs
│ │ │ │ ├── LayoutPreview.xaml
│ │ │ │ ├── LayoutPreview.xaml.cs
│ │ │ │ ├── MagneticSnap.cs
│ │ │ │ ├── MainWindow.xaml
│ │ │ │ ├── MainWindow.xaml.cs
│ │ │ │ ├── Models/
│ │ │ │ │ ├── CanvasLayoutModel.cs
│ │ │ │ │ ├── DefaultLayoutsModel.cs
│ │ │ │ │ ├── Device.cs
│ │ │ │ │ ├── GridLayoutModel.cs
│ │ │ │ │ ├── LayoutHotkeysModel.cs
│ │ │ │ │ ├── LayoutModel.cs
│ │ │ │ │ ├── LayoutSettings.cs
│ │ │ │ │ ├── LayoutType.cs
│ │ │ │ │ ├── LayoutTypeEnumExtension.cs
│ │ │ │ │ ├── MainWindowSettingsModel.cs
│ │ │ │ │ ├── Monitor.cs
│ │ │ │ │ ├── MonitorConfigurationType.cs
│ │ │ │ │ ├── MonitorConfigurationTypeEnumExtensions.cs
│ │ │ │ │ └── MonitorInfoModel.cs
│ │ │ │ ├── NativeMethods.cs
│ │ │ │ ├── Overlay.cs
│ │ │ │ ├── Properties/
│ │ │ │ │ ├── Resources.Designer.cs
│ │ │ │ │ ├── Resources.resx
│ │ │ │ │ ├── Settings.Designer.cs
│ │ │ │ │ └── Settings.settings
│ │ │ │ ├── SplitEventArgs.cs
│ │ │ │ ├── Styles/
│ │ │ │ │ ├── ButtonStyles.xaml
│ │ │ │ │ ├── GridViewStyles.xaml
│ │ │ │ │ └── LayoutPreviewStyles.xaml
│ │ │ │ ├── Telemetry/
│ │ │ │ │ ├── FancyZonesEditorStartEvent.cs
│ │ │ │ │ └── FancyZonesEditorStartFinishEvent.cs
│ │ │ │ ├── Themes/
│ │ │ │ │ ├── Dark.xaml
│ │ │ │ │ ├── HighContrast1.xaml
│ │ │ │ │ ├── HighContrast2.xaml
│ │ │ │ │ ├── HighContrastBlack.xaml
│ │ │ │ │ ├── HighContrastWhite.xaml
│ │ │ │ │ └── Light.xaml
│ │ │ │ ├── Utils/
│ │ │ │ │ ├── EventArgs`1.cs
│ │ │ │ │ ├── EventRaiser.cs
│ │ │ │ │ ├── FancyZonesEditorIO.cs
│ │ │ │ │ ├── MonitorChangedEventArgs.cs
│ │ │ │ │ ├── NativeMethods.cs
│ │ │ │ │ ├── ParsingResult.cs
│ │ │ │ │ ├── RelayCommand.cs
│ │ │ │ │ └── RelayCommand`1.cs
│ │ │ │ ├── ViewModels/
│ │ │ │ │ └── MonitorViewModel.cs
│ │ │ │ └── app.manifest
│ │ │ └── FancyZonesEditor.sln
│ │ ├── imageresizer/
│ │ │ ├── ImageResizerCLI/
│ │ │ │ ├── ImageResizerCLI.csproj
│ │ │ │ └── Program.cs
│ │ │ ├── ImageResizerContextMenu/
│ │ │ │ ├── AppxManifest.xml
│ │ │ │ ├── ImageResizerContextMenu.base.rc
│ │ │ │ ├── ImageResizerContextMenu.vcxproj
│ │ │ │ ├── ImageResizerContextMenu.vcxproj.filters
│ │ │ │ ├── Resources.resx
│ │ │ │ ├── Source.def
│ │ │ │ ├── dllmain.cpp
│ │ │ │ ├── framework.h
│ │ │ │ ├── packages.config
│ │ │ │ ├── pch.cpp
│ │ │ │ ├── pch.h
│ │ │ │ ├── resource.base.h
│ │ │ │ └── targetver.h
│ │ │ ├── ImageResizerLib/
│ │ │ │ ├── ImageResizerConstants.h
│ │ │ │ ├── ImageResizerLib.vcxproj
│ │ │ │ ├── ImageResizerLib.vcxproj.filters
│ │ │ │ ├── Settings.cpp
│ │ │ │ ├── Settings.h
│ │ │ │ ├── framework.h
│ │ │ │ ├── package
================================================
FILE CONTENTS
================================================
================================================
FILE: .config/configuration.vsEnterprise.winget
================================================
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
# Reference: https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/readme.md#getting-started
properties:
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
# Requires elevation for the set operation
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2026 Enterprise (Any edition will work)
# Requires elevation for the set operation
securityContext: elevated
settings:
id: Microsoft.VisualStudio.Enterprise
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads
allowPrerelease: true
# Requires elevation for the get and set operations
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Enterprise
channelId: VisualStudio.18.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
configurationVersion: 0.2.0
# Next steps:
# Open a terminal
# Navigate to the folder you cloned PowerToys to.
# Run git submodule update --init --recursive
================================================
FILE: .config/configuration.vsProfessional.winget
================================================
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
# Reference: https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/readme.md#getting-started
properties:
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
# Requires elevation for the set operation
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2026 Professional (Any edition will work)
# Requires elevation for the set operation
securityContext: elevated
settings:
id: Microsoft.VisualStudio.Professional
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads
allowPrerelease: true
# Requires elevation for the get and set operations
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Professional
channelId: VisualStudio.18.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
configurationVersion: 0.2.0
# Next steps:
# Open a terminal
# Navigate to the folder you cloned PowerToys to.
# Run git submodule update --init --recursive
================================================
FILE: .config/configuration.winget
================================================
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
# Reference: https://github.com/microsoft/PowerToys/blob/main/doc/devdocs/readme.md#getting-started
properties:
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
# Requires elevation for the set operation
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2026 Community (Any edition will work)
# Requires elevation for the set operation
securityContext: elevated
settings:
id: Microsoft.VisualStudio.Community
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads
allowPrerelease: true
# Requires elevation for the get and set operations
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Community
channelId: VisualStudio.18.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
configurationVersion: 0.2.0
# Next steps:
# Open a terminal
# Navigate to the folder you cloned PowerToys to.
# Run git submodule update --init --recursive
================================================
FILE: .config/dotnet-tools.json
================================================
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-consolidate": {
"version": "4.2.0",
"commands": [
"dotnet-consolidate"
]
},
"xamlstyler.console": {
"version": "3.2501.8",
"commands": [
"xstyler"
]
}
}
}
================================================
FILE: .gitattributes
================================================
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
*.cs text eol=crlf
###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
*.rc diff
*.gcode linguist-detectable=false
*.vsconfig linguist-language=json
================================================
FILE: .github/CODEOWNERS
================================================
# Protect `.github` folder except the spell-check rules inside it. (The exception happens by not defining any owner user or group for the path.)
# Protection of the spell-check rules makes no sense as it needs to be changed in nearly every PR.
/.github/ @microsoft/powertoys-code-owners
/.github/actions/spell-check/
# locking down pipeline folder
/.pipelines/ @microsoft/powertoys-code-owners
# locking down nuget config
nuget.config @microsoft/powertoys-code-owners
packages.config @microsoft/powertoys-code-owners
# locking down files that should not change
LICENSE @microsoft/powertoys-code-owners
SECURITY.md @microsoft/powertoys-code-owners
CODE_OF_CONDUCT.md @microsoft/powertoys-code-owners
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: "🕷️ Bug report"
description: Report errors or unexpected behavior
labels:
- Issue-Bug
- Needs-Triage
body:
- type: markdown
attributes:
value: Please make sure to [search for existing issues](https://github.com/microsoft/PowerToys/issues) before filing a new one!
- type: markdown
attributes:
value: |
We are aware of the following high-volume issues and are actively working on them. Please check if your issue is one of these before filing a new bug report:
* **PowerToys Run crash related to "Desktop composition is disabled"**: This may appear as `COMException: 0x80263001`. For more details, see issue [#31226](https://github.com/microsoft/PowerToys/issues/31226).
* **PowerToys Run crash with `COMException (0xD0000701)`**: For more details, see issue [#30769](https://github.com/microsoft/PowerToys/issues/30769).
* **PowerToys Run crash with a "Cyclic reference" error**: This `System.InvalidOperationException` is detailed in issue [#36451](https://github.com/microsoft/PowerToys/issues/36451).
- id: version
type: input
attributes:
label: Microsoft PowerToys version
placeholder: X.XX.X
description: Hover over the system tray icon or look at Settings
validations:
required: true
- id: installed
type: dropdown
attributes:
label: Installation method
description: How / where was PowerToys installed from?
multiple: true
options:
- GitHub
- PowerToys auto-update
- Microsoft Store
- WinGet
- Chocolatey
- Scoop
- Dev build in Visual Studio
- Other (please specify in "Steps to Reproduce")
validations:
required: true
- type: dropdown
attributes:
label: Area(s) with issue?
description: What things had an issue? Check all that apply.
multiple: true
options:
- General
- Advanced Paste
- Always on Top
- Awake
- ColorPicker
- Command not found
- Command Palette
- Crop and Lock
- Environment Variables
- FancyZones
- FancyZones Editor
- File Locksmith
- "File Explorer: Preview Pane"
- "File Explorer: Thumbnail preview"
- Hosts File Editor
- Image Resizer
- Installer
- Keyboard Manager
- Light Switch
- Mouse Utilities
- Mouse Without Borders
- New+
- Peek
- PowerRename
- PowerToys Run
- Quick Accent
- Registry Preview
- Screen ruler
- Settings
- Shortcut Guide
- System tray interaction
- TextExtractor
- Workspaces
- Welcome / PowerToys Tour window
- ZoomIt
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: We highly suggest including screenshots and a bug report log (System tray > Report bug).
placeholder: Having detailed steps helps us reproduce the bug.
validations:
required: true
- type: textarea
attributes:
label: ✔️ Expected Behavior
placeholder: What were you expecting?
validations:
required: false
- type: textarea
attributes:
label: ❌ Actual Behavior
placeholder: What happened instead?
validations:
required: false
- type: upload
id: bugreportfile
attributes:
label: Upload Bug Report ZIP-file
description: Right-clicking the PowerToys tray icon in the taskbar and selecting “Report bug” generates a ZIP file containing diagnostic information about your setup and PowerToys logs, helping us better understand and troubleshoot the issue.
validations:
required: false
- id: additionalInfo
type: textarea
attributes:
label: Additional Information
placeholder: |
OS version
.Net version
System Language
User or System Installation
Running as admin
validations:
required: false
- type: textarea
attributes:
label: Other Software
description: If you're reporting a bug about our interaction with other software, what software? What versions?
placeholder: |
vim 8.2 (inside WSL)
OpenSSH_for_Windows_8.1p1
My Cool Application v0.3 (include a code snippet if it would help!)
validations:
required: false
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: "\U0001F4DA PowerToys user documentation"
url: https://aka.ms/powertoys-docs
about: Documentation for users of PowerToys utilities
- name: "\U0001F4DA PowerToys dev documentation"
url: https://github.com/microsoft/PowerToys/tree/main/doc/devdocs
about: Documentation for people interested in developing and contributing for PowerToys
================================================
FILE: .github/ISSUE_TEMPLATE/documentation-issue.yml
================================================
name: "📚 Documentation Issue"
description: Report issues in our documentation
labels:
- Issue-Docs
- Needs-Triage
body:
- type: textarea
attributes:
label: Describe the requested doc changes
placeholder: Briefly describe which document needs to be corrected and why.
validations:
required: true
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.yml
================================================
name: "⭐ Feature or enhancement request"
description: Propose something new.
type: Feature
labels:
- Needs-Triage
body:
- type: textarea
attributes:
label: Description of the new feature / enhancement
placeholder: What is the expected behavior of the proposed feature?
validations:
required: true
- type: textarea
attributes:
label: Scenario when this would be used?
placeholder: What is the scenario this would be used in? Why is this important to your workflow as a power user?
validations:
required: true
- type: textarea
attributes:
label: Supporting information
placeholder: "Having additional evidence, data, tweets, blog posts, research, ... anything is extremely helpful. This information provides context to the scenario that may otherwise be lost."
validations:
required: false
- type: markdown
attributes:
value: Please limit one request per issue.
================================================
FILE: .github/ISSUE_TEMPLATE/translation_issue.yml
================================================
name: "🌐 Localization/Translation issue"
description: Report incorrect translations.
type: Bug
labels:
- Issue-Bug
- Area-Localization
- Issue-Translation
- Needs-Triage
body:
- type: markdown
attributes:
value: Please make sure to [search for existing issues](https://github.com/microsoft/PowerToys/issues) before filing a new one!
- type: input
attributes:
label: Microsoft PowerToys version
placeholder: 0.70.0
description: Hover over the system tray icon or look at Settings
validations:
required: true
- type: dropdown
attributes:
label: Utility with translation issue
options:
- General
- Advanced Paste
- Always on Top
- Awake
- ColorPicker
- Command not found
- Crop and Lock
- Environment Variables
- FancyZones
- FancyZones Editor
- File Locksmith
- "File Explorer: Preview Pane"
- "File Explorer: Thumbnail preview"
- Hosts File Editor
- Image Resizer
- Installer
- Keyboard Manager
- Light Switch
- Mouse Utilities
- Mouse Without Borders
- New+
- Peek
- PowerRename
- PowerToys Run
- Quick Accent
- Registry Preview
- Screen ruler
- Settings
- Shortcut Guide
- System tray interaction
- TextExtractor
- Workspaces
- Welcome / PowerToys Tour window
- ZoomIt
validations:
required: true
- type: input
attributes:
label: 🌐 Language affected
placeholder: "German"
validations:
required: true
- type: textarea
attributes:
label: ❌ Actual phrase(s)
placeholder: What is there? Please include a screenshot, as that is extremely helpful.
validations:
required: true
- type: textarea
attributes:
label: ✔️ Expected phrase(s)
placeholder: What was expected?
validations:
required: true
- type: textarea
attributes:
label: ℹ Why is the current translation wrong
placeholder: Why do you feel this is incorrect?
validations:
required: true
================================================
FILE: .github/actions/spell-check/README.md
================================================
# check-spelling/check-spelling configuration
File | Purpose | Format | Info
-|-|-|-
[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
[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)
Note: you can replace any of these files with a directory by the same name (minus the suffix)
and then include multiple files inside that directory (with that suffix) to merge multiple files together.
================================================
FILE: .github/actions/spell-check/advice.md
================================================
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details><summary>If the flagged items are :exploding_head: false positives</summary>
If items relate to a ...
* binary file (or some other file you wouldn't want to check at all).
Please add a file path to the `excludes.txt` file matching the containing file.
File paths are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
../tree/HEAD/README.md) (on whichever branch you're using).
* well-formed pattern.
If you can write a [pattern](
https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
) that would match it,
try adding it to the `patterns.txt` file.
Patterns are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
Note that patterns can't match multiline strings.
</details>
================================================
FILE: .github/actions/spell-check/allow/code.txt
================================================
# COLORS
argb
Bgr
bgra
BLACKONWHITE
BLUEGRAY
BRIGHTGREEN
COLORONCOLOR
DARKPURPLE
DARKTEAL
DARKYELLOW
Farbraum
ICEBLUE
LIGHTORANGE
LIGHTTURQUOISE
NCol
OLIVEGREEN
PALEBLUE
PArgb
Pbgra
WHITEONBLACK
# COUNTRIES
RUS
# FILES
AYUV
bak
HDP
Bcl
bgcode
Deflatealgorithm
exa
exabyte
Gbits
Gbps
gcode
Heatshrink
Mbits
Kbits
MBs
mkv
msix
nupkg
petabyte
resw
resx
srt
Stereolithography
terabyte
UYVY
xbf
YUY
YUYV
YVU
YVYU
zipfolder
CODEOWNERS
VNext
vnext
# FONTS
Consolas
Neue
Noto
Roboto
Segoe
# IN URLs
accessibilityinsights
arik
epicgames
fwlink
joefinapps
lepo
linkedin
oblitum
robmensching
sinclairinat
stylecop
uipi
yinwang
myaccess
onmicrosoft
aep
epsf
howto
onefuzzconfig
oip
onefuzzingestionpreparationtool
OTP
Yubi
Yubico
Perplexity
Groq
svgl
devhome
# KEYS
altdown
BUTTONUP
bafunctions
Baf
Bitness
BUILDARCHSHORT
CTRLALTDEL
Ctrls
CSilent
CBal
CREATEBAFUNCTIONS
CPrereq
dirutil
DUtil
Editbox
EXSEL
HOLDENTER
HOLDESC
HOLDSPACE
HOLDBACKSPACE
IDIGNORE
KBDLLHOOKSTRUCT
keyevent
LAlt
LBUTTON
LBUTTONDBLCLK
LBUTTONDOWN
LBUTTONUP
LCONTROL
LCtrl
LEFTDOWN
LEFTUP
locutil
logutil
msimg
MBUTTON
MBUTTONDBLCLK
MBUTTONDOWN
MBUTTONUP
MIDDLEDOWN
MIDDLEUP
memutil
NCRBUTTONDBLCLK
NCRBUTTONDOWN
NCRBUTTONUP
NUMLOCK
RBUTTON
RBUTTONDBLCLK
RBUTTONDOWN
RBUTTONUP
RCONTROL
RCtrl
RIGHTDOWN
RIGHTUP
Richedit
rgwz
resrutil
srd
scz
shelutil
thmutil
uriutil
VKTAB
wcautil
winkey
wininet
WMKEYDOWN
WMKEYUP
WMSYSKEYDOWN
WMSYSKEYUP
XBUTTON
XBUTTONDBLCLK
XBUTTONDOWN
XBUTTONUP
XDOWN
xmlutil
# Prefix
pcs
# User32.SYSTEM_METRICS_INDEX.cs
CLEANBOOT
CMOUSEBUTTONS
CONVERTIBLESLATEMODE
CXBORDER
CXCURSOR
CXDLGFRAME
CXDLGFRAME
CXDOUBLECLK
CXDRAG
CXEDGE
CXFIXEDFRAME
CXFOCUSBORDER
CXFRAME
CXFRAME
CXFULLSCREEN
CXHSCROLL
CXHTHUMB
CXICON
CXICONSPACING
CXMAXIMIZED
CXMAXTRACK
CXMENUCHECK
CXMENUSIZE
CXMIN
CXMINIMIZED
CXMINSPACING
CXMINTRACK
CXPADDEDBORDER
CXSIZE
CXSIZEFRAME
CXSMSIZE
CXVSCROLL
CYBORDER
CYCAPTION
CYCURSOR
CYDLGFRAME
CYDLGFRAME
CYDOUBLECLK
CYDRAG
CYEDGE
CYFIXEDFRAME
CYFOCUSBORDER
CYFRAME
CYFRAME
CYFULLSCREEN
CYHSCROLL
CYICON
CYICONSPACING
CYKANJIWINDOW
CYMAXIMIZED
CYMAXTRACK
CYMENU
CYMENUCHECK
CYMENUSIZE
CYMIN
CYMINIMIZED
CYMINSPACING
CYMINTRACK
CYSIZE
CYSIZEFRAME
CYSMCAPTION
CYSMSIZE
CYVSCROLL
CYVTHUMB
DBCSENABLED
IMMENABLED
MAXIMUMTOUCHES
MEDIACENTER
MENUDROPALIGNMENT
MIDEASTENABLED
MOUSEHORIZONTALWHEELPRESENT
MOUSEPRESENT
MOUSEWHEELPRESENT
PENWINDOWS
REMOTECONTROL
REMOTESESSION
SAMEDISPLAYFORMA
SERVERR
SHOWSOUNDS
SHUTTINGDOWN
SLOWMACHINE
SWAPBUTTON
SYSTEMDOCKED
TABLETPC
# Units
nmi
# MATH
artanh
arsinh
arcosh
roundf
# Linux
dbus
anypass
github
gpg
https
ssh
ubuntu
workarounds
# For upgrade to check-spelling v0.0.24
pwa
# .NET
AOT
Aot
ify
TFM
# YML
onefuzz
# NameInCode
leilzh
mengyuanchen
# DllName
testhost
Testably
#Tools
OIP
xef
xes
PACKAGEVERSIONNUMBER
APPXMANIFESTVERSION
PROGMAN
# MRU lists
CACHEWRITE
MRUCMPPROC
MRUINFO
REGSTR
# Misc Win32 APIs and PInvokes
INVOKEIDLIST
MEMORYSTATUSEX
ABE
HTCAPTION
POSCHANGED
QUERYPOS
SETAUTOHIDEBAR
WINDOWPOS
WINEVENTPROC
WORKERW
FULLSCREENAPP
# COM/WinRT interface prefixes and type fragments
BAlt
BShift
Cmanifest
Cmodule
Cuuid
Dng
IApplication
IDisposable
IEnum
IFolder
IInitialize
IMemory
IOle
ipreview
IProperty
IShell
ithumbnail
IVirtual
# Test frameworks
MSTEST
# PowerRename metadata pattern abbreviations (used in tests and regex patterns)
DDDD
FFF
HHH
riday
YYY
# Unicode
precomposed
# GitHub issue/PR commands
azp
feedbackhub
needinfo
reportbug
#ffmpeg
crf
nostdin
# Performance counter keys
engtype
Nonpaged
# XAML
Untargeted
================================================
FILE: .github/actions/spell-check/allow/names.txt
================================================
# POWERTOYS
alwaysontop
colorpicker
fancyzones
imageresizer
kbm
keyboardmanager
markdownpreviewhandler
mousewithoutborders
mwb
oobe
poweraccent
powerlauncher
POWEROCR
powerpreview
powerrename
powertoy
powertoys
previewpane
ptrun
registrypreview
rooler
scoobe
shortcutguide
# USERS
# 8LWXpg is user name but user folder causes a flag
LWXpg
Adoumie
Advaith
alekhyareddy
Aleks
amihaiuc
angularsen
Anirudha
arjunbalgovind
Ashish
Baltazar
Bao
Bartosz
betadele
betsegaw
bricelam
bsky
CCcat
chemwolf
chenmy
Chinh
chrdavis
Chrzan
clayton
Coplen
craigloewen
crutkas
Chubercik
damienleroy
daverayment
davidegiacometti
debian
Deibisu
Delimarsky
Deondre
DHowett
ductdo
Essey
ethanfangg
Feng
ferraridavide
foxmsft
frankychen
Gaarden
gaardmark
gabime
Galaxi
Garside
Gershaft
Giordani
Gleb
Gokce
gordon
Griese
grzhan
Guo
hanselman
haoliuu
Harmath
Heiko
Hemmerlein
hlaueriksson
Horvalds
Howett
hotkidfamily
htcfreek
Huynh
Ionut
jamrobot
Jaswal
Jaylyn
jefflord
Jeremic
Jordi
jyuwono
kai
Kairu
Kamra
Kantarci
Karthick
kaylacinnamon
kevinguo
Khmyznikov
Krigun
Lambson
Laute
laviusmotileng
Leilei
Loewen
Luecking
Mahalingam
Markovic
martinchrzan
martinmoene
Melman
Mengyuan
Mihaiuc
Mikhayelyan
msft
Mykhailo
Myrvold
Naro
nathancartlidge
Nemeth
nielslaute
Noraa
noraajunker
oldnewthing
onegreatworld
palenshus
pedrolamas
Peiyao
peteblois
phoboslab
Ponten
Pooja
Pylyp
Qingpeng
quachpas
Quriz
randyrants
rayment
ricardosantos
riri
ritchielawrence
robmikh
ruslanlap
Russinovich
Rutkas
ryanbodrug
saahmedm
sachaple
Sameerjs
Santossio
Schoen
Sekan
Seraphima
Shmuelie
skttl
somil
Soref
Sosnowski
stefan
Szablewski
Tadele
talynone
Taras
TBM
Teutsch
tilovell
Triet
urnotdfs
vednig
waaverecords
wang
Whuihuan
Xiaofeng
Xpg
Yaqing
yaqingmi
ycv
yeelam
Yuniardi
yuyoyuppe
zadjii
Zeol
Zhao
Zhaopeng
zhaopy
zhaoqpcn
Zoltan
Zykova
# OTHERS
Bilibili
BVID
capturevideosample
cmdow
Contoso
Controlz
cortana
devhints
dlnilsson
fancymouse
firefox
fudan
gpt
Inkscape
Markdig
modernwpf
Moq
mozilla
mspaint
Newtonsoft
NVIDIA
onenote
openai
Quickime
regedit
roslyn
Skia
Spotify
taskmgr
tldr
Vanara
wangyi
WEX
windowwalker
winui
winuiex
wix
wordpad
WWL
wyhash
xamlstyler
Xavalon
Xbox
Youdao
================================================
FILE: .github/actions/spell-check/allow/zoomit.txt
================================================
accelscroll
acq
adr
Adr
APPLYTOSUBMENUS
AUDCLNT
axisdefer
axisflip
axisstart
bitmaps
BREAKSCR
BUFFERFLAGS
Cands
capturepath
centiseconds
CLASSW
coeffs
coprime
CREATEDIBSECTION
crossfades
Ctl
CTLCOLOR
CTLCOLORBTN
CTLCOLORDLG
CTLCOLOREDIT
CTLCOLORLISTBOX
CTrim
ddy
DFCS
dlg
dlu
DONTCARE
downsample
DRAWITEM
DRAWITEMSTRUCT
droppedband
Droppedband
dsum
dupburst
dupsegments
DWLP
EDITCONTROL
ENABLEHOOK
expectedlock
fastscroll
FDE
GETCHANNELRECT
GETCHECK
GETSCREENSAVEACTIVE
GETSCREENSAVETIMEOUT
GETTHUMBRECT
GIFs
hcfdark
hcfwhitespace
HTBOTTOMRIGHT
HTHEME
htol
ICONINFORMATION
ICONWARNING
Inj
jumprecover
KSDATAFORMAT
latestcapture
ldx
LEFTNOWORDWRAP
legitjumps
letterbox
lld
llu
llums
logfont
lookback
lround
lte
luma
Luma
manualdrop
maskcache
maxstep
MENUINFO
mic
middledrop
middledrop
MMRESULT
momentumreversal
mrate
mrt
narrowstrip
ncapture
ncm
nduplicates
niterations
nmonitor
NONCLIENTMETRICS
nonvle
nredraw
nstop
nsubpixel
ntorn
nvw
osc
OWNERDRAW
PBGRA
periodictrap
pfdc
playhead
pointerreuse
pwfx
Qpc
quantums
RCZOOMITSCR
realcapture
REFKNOWNFOLDERID
reposted
SCREENSAVE
SCRNSAVE
SCRNSAVECONFIGURE
scrnsavw
Scrnsavw
scrollramp
SCROLLSIZEGRIP
selftest
SETBARCOLOR
SETBKCOLOR
SETDEFID
SETRECT
SETSCREENSAVETIMEOUT
SHAREMODE
SHAREVIOLATION
shortlist
slowthenfast
smallstart
SNIPOCR
ssi
startuprecovery
stf
stopafter
STREAMFLAGS
submix
sxx
sxy
syy
tallportal
tci
tcsicmp
TEXTMETRIC
tinystep
tme
toolbars
TRACKMOUSEEVENT
Unadvise
vaddq
vaddvq
vandq
vcgeq
vdup
vld
vle
Vle
VLE
vminq
vmlal
vmull
vqaddq
vshrn
vsntprintf
vsnwprintf
vsync
WASAPI
WAVEFORMATEX
WAVEFORMATEXTENSIBLE
wfopen
wideportal
wil
WMU
wrapjump
wtol
WTSSESSION
WTSUn
XEnd
XStart
XStep
YInternal
ZMBS
zncc
Zncc
ZNCC
================================================
FILE: .github/actions/spell-check/candidate.patterns
================================================
# D2D
#D?2D
# Repeated letters
\b([a-z])\g{-1}{2,}\b
# marker to ignore all code on line
^.*/\* #no-spell-check-line \*/.*$
# 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
# copyright
Copyright (?:\([Cc]\)|)(?:[-\d, ]|and)+(?: [A-Z][a-z]+ [A-Z][a-z]+,?)+
# patch hunk comments
^@@ -\d+(?:,\d+|) \+\d+(?:,\d+|) @@ .*
# git index header
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 fonts
\bfont(?:-family|):[^;}]+
# 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 url in quotes
([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}
# data url
\bdata:[-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,}
# 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]+
# asciinema v2
^\[\d+\.\d+, "[io]", ".*"\]$
# 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 ARN
arn:aws:[-/:\w]+
# 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 Artifact Registry
\.pkg\.dev(?:/[-\w]+)+(?::[-\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(?:/[a-z]+/(?:#!|)[^/\s"]+)*
# 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_?=]*
# Google Cloud regions
(?:us|(?:north|south)america|europe|asia|australia|me|africa)-(?:north|south|east|west|central){1,2}\d+
# 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 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
/[-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}
# GitHub actions
\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+
# 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
# #includes
^\s*#include\s*(?:<.*?>|".*?")
# #pragma lib
^\s*#pragma comment\(lib, ".*?"\)
# 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]+
# 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?://|)(?:(?:(?:blogs|download\.visualstudio|docs|msdn2?|research)\.|)microsoft|blogs\.msdn)\.co(?:m|\.\w\w)/[-_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-zA-Z]{3,}
# ipfs url
/ipfs/[0-9a-zA-Z]{3,}
# 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+
# codepen
\bcodepen\.io/[\w/]+
# registry.npmjs.org
\bregistry\.npmjs\.org/(?:@[^/"']+/|)[^/"']+/-/[-\w@.]+
# getopts
\bgetopts\s+(?:"[^"]+"|'[^']+')
# ANSI color codes
(?:\\(?:u00|x)1[Bb]|\\03[1-7]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+)*m
# URL escaped characters
%[0-9A-F][A-F](?=[A-Za-z])
# 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)
0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]
# Punycode
\bxn--[-0-9a-z]+
# sha
sha\d+:[0-9a-f]*?[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./]+
# pki
-----BEGIN.*-----END
# pki (base64)
LS0tLS1CRUdJT.*
# C# includes
^\s*using [^;]+;
# 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|&H)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b
# integrity
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]
# '/"
\\\([ad]q
# .desktop mime types
^MimeTypes?=.*$
# .desktop localized entries
^[A-Z][a-z]+\[[a-z]+\]=.*$
# Localized .desktop content
Name\[[^\]]+\]=.*
# IServiceProvider / isAThing
(?:(?:\b|_|(?<=[a-z]))I|(?:\b|_)(?:nsI|isA))(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b))
# python
#\b(?i)py(?!gments|gmy|lon|ramid|ro|th)(?=[a-z]{2,})
# crypt
(['"])\$2[ayb]\$.{56}\g{-1}
# apache/old crypt
(['"]|)\$+(?:apr|)1\$+.{8}\$+.{22}\g{-1}
# sha1 hash
\{SHA\}[-a-zA-Z=;:/0-9+]{3,}
# machine learning (?)
#\b(?i)ml(?=[a-z]{2,})
# scrypt / argon
\$(?:scrypt|argon\d+[di]*)\$\S+
# go.sum
\bh1:\S+
# imports
^import\s+(?:(?:static|type)\s+|)(?:[\w.]|\{\s*\w*?(?:,\s*(?:\w*|\*))+\s*\})+
# scala modules
#("[^"]+"\s*%%?\s*){2,3}"[^"]+"
# container images
image: [-\w./:@]+
# Docker images
^\s*(?i)FROM\s+\S+:\S+(?:\s+AS\s+\S+|)
# `docker images` REPOSITORY TAG IMAGE ID CREATED SIZE
\s*\S+/\S+\s+\S+\s+[0-9a-f]{8,}\s+\d+\s+(?:hour|day|week)s ago\s+[\d.]+[KMGT]B
# Intel intrinsics
_mm\d*_(?!dd)\w+
# Input to GitHub JSON
content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1}
# This does not cover multiline strings, if your repository has them,
# you'll want to remove the `(?=.*?")` suffix.
# The `(?=.*?")` suffix should limit the false positives rate
# printf
#%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA])(?=[a-zA-Z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"])
# Alternative printf
# %s
%(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%[^s])\b)(?=.*?['"])
# Python string prefix / binary prefix
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
(?<!['"])\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)['"](?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})
# Regular expressions for (P|p)assword
\([A-Z]\|[a-z]\)[a-z]+
# JavaScript regular expressions
# javascript test regex
/.{3,}/[gim]*\.test\(
# javascript match regex
\.match\(/[^/\s"]{3,}/[gim]*\s*
# javascript match regex
\.match\(/\\[b].{3,}?/[gim]*\s*\)(?:;|$)
# javascript regex
^\s*/\\[b].{3,}?/[gim]*\s*(?:\)(?:;|$)|,$)
# javascript replace regex
\.replace\(/[^/\s"]{3,}/[gim]*\s*,
# assign regex
= /[^*].*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/[gim]*(?=\W|$)
# perl regex test
[!=]~ (?:/.*/|m\{.*?\}|m<.*?>|m([|!/@#,;']).*?\g{-1})
# perl qr regex
(?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1})
# perl run
perl(?:\s+-[a-zA-Z]\w*)+
# C network byte conversions
#(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\()
# 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/.]+)+
# pom.xml
<(?:group|artifact)Id>.*?<
# jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571
urn:shemas-jetbrains-com
# Debian changelog severity
[-\w]+ \(.*\) (?:\w+|baseline|unstable|experimental); urgency=(?:low|medium|high|emergency|critical)\b
# 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+
# kubectl - pods in CrashLoopBackOff
\w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+
# kubernetes applications
\.apps/[-\w]+
# kubernetes object suffix
-[0-9a-f]{10}-\w{5}\s
# kubernetes crd patterns
^\s*pattern: .*$
# posthog secrets
([`'"])phc_[^"',]+\g{-1}
# xcode
# xcodeproject scenes
(?:Controller|destination|(?:first|second)Item|ID|id)="\w{3}-\w{2}-\w{3}"
# xcode api botches
customObjectInstantitationMethod
# msvc api botches
PrependWithABINamepsace
# configure flags
.* \| --\w{2,}.*?(?=\w+\s\w+)
# font awesome classes
\.fa-[-a-z0-9]+
# bearer auth
(['"])[Bb]ear[e][r] .{3,}?\g{-1}
# bearer auth
\b[Bb]ear[e][r]:? [-a-zA-Z=;:/0-9+.]{3,}
# basic auth
(['"])[Bb]asic [-a-zA-Z=;:/0-9+]{3,}\g{-1}
# basic auth
: [Bb]asic [-a-zA-Z=;:/0-9+.]{3,}
# base64 encoded content
#([`'"])[-a-zA-Z=;:/0-9+]{3,}=\g{-1}
# base64 encoded content in xml/sgml
>[-a-zA-Z=;:/0-9+]{3,}=</
# base64 encoded content, possibly wrapped in mime
#(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)
# base64 encoded json
\beyJ[-a-zA-Z=;:/0-9+]+
# base64 encoded pkcs
#\bMII[-a-zA-Z=;:/0-9+]+
# uuencoded
#[!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_]{40,}
# DNS rr data
#(?:\d+\s+){3}(?:[-+/=.\w]{2,}\s*){1,2}
# encoded-word
=\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?=
# numerator
\bnumer\b(?=.*denom)
# Time Zones
\b(?:Africa|Atlantic|America|Antarctica|Arctic|Asia|Australia|Europe|Indian|Pacific)(?:/[-\w]+)+
# linux kernel info
^(?:bugs|flags|Features)\s+:.*
# systemd mode
systemd.*?running in system mode \([-+].*\)$
# Lorem
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review -
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
# ... Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
# ... You could manually change `(?i)X...` to use `[Xx]...`
# ... or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
(?:(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*)
# Non-English
# Even repositories expecting pure English content can unintentionally have Non-English content... People will occasionally mistakenly enter [homoglyphs](https://en.wikipedia.org/wiki/Homoglyph) which are essentially typos, and using this pattern will mean check-spelling will not complain about them.
#
# If the content to be checked should be written in English and the only Non-English items will be people's names, then you can consider adding this.
#
# Alternatively, if you're using check-spelling v0.0.25+, and you would like to _check_ the Non-English content for spelling errors, you can. For information on how to do so, see:
# https://docs.check-spelling.dev/Feature:-Configurable-word-characters.html#unicode
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
# highlighted letters
\[[A-Z]\][a-z]+
# French
# This corpus only had capital letters, but you probably want lowercase ones as well.
\b[LN]'+[a-z]{2,}\b
# latex (check-spelling >= 0.0.22)
\\\w{2,}\{
# American Mathematical Society (AMS) / Doxygen
TeX/AMS
# File extensions
#\*\.[+\w]+,
# eslint
"varsIgnorePattern": ".+"
# nolint
nolint:\s*[\w,]+
# Windows short paths
[/\\][^/\\]{5,6}~\d{1,2}(?=[/\\])
# Windows Resources with accelerators
\b[A-Z]&[a-z]+\b(?!;)
# signed off by
(?i)Signed-off-by: .*
# cygwin paths
/cygdrive/[a-zA-Z]/(?:Program Files(?: \(.*?\)| ?)(?:/[-+.~\\/()\w ]+)*|[-+.~\\/()\w])+
# in check-spelling@v0.0.22+, printf markers aren't automatically consumed
# printf markers
#(?<!\\)\\[nrt](?=[a-z]{2,})
# alternate printf markers if you run into latex and friends
#(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*['"`])
# Markdown anchor links
\(#\S*?[a-zA-Z]\S*?\)
# apache
a2(?:en|dis)
# weak e-tag
W/"[^"]+"
# authors/credits
^\*(?: [A-Z](?:\w+|\.)){2,} (?=\[|$)
# the negative lookahead here is to allow catching 'templatesz' as a misspelling
# but to otherwise recognize a Windows path with \templates\foo.template or similar:
#\\(?:necessary|r(?:elease|eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z])
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
# 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
# Library prefix
# e.g., `lib`+`archive`, `lib`+`raw`, `lib`+`unwind`
# (ignores some words that happen to start with `lib`)
(?:\b|_)[Ll]ib(?:re(?=office)|)(?!era[lt]|ero|erty|rar(?:i(?:an|es)|y))(?=[a-z])
# iSCSI iqn (approximate regex)
\biqn\.[0-9]{4}-[0-9]{2}(?:[\.-][a-z][a-z0-9]*)*\b
# WWNN/WWPN (NAA identifiers)
\b(?:0x)?10[0-9a-f]{14}\b|\b(?:0x|3)?[25][0-9a-f]{15}\b|\b(?:0x|3)?6[0-9a-f]{31}\b
# curl arguments
\b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
# set arguments
\b(?:bash|sh|set)(?:\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-)/
# github runner temp folders
/home/runner/work/_temp/[-_/a-z0-9]+
================================================
FILE: .github/actions/spell-check/excludes.txt
================================================
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E
(?:^|/)(?i)third[-_]?party/
(?:^|/)3rdparty/
(?:^|/)generated/
(?:^|/)go\.sum$
(?:^|/)package(?:-lock|)\.json$
(?:^|/)Pipfile$
(?:^|/)power-rename-ui-flags$
(?:^|/)pyproject.toml
(?:^|/)sample\.qoi$
(?:^|/)vendor/
(?:^|/)WindowsSettings\.json$
(?:^|/|\b)requirements(?:-dev|-doc|-test|)\.txt$
(?:|$^ 92.31% - excluded 12/13)/editor/[^/]+$
/images/launcher/[^/]+$
/TestFiles/
[^/]\.cur$
[^/]\.gcode$
[^/]\.bgcode$
[^/]\.rgs$
\.a$
\.ai$
\.all-contributorsrc$
\.avi$
\.bmp$
\.bz2$
\.cert?$|\.crt$
\.class$
\.coveragerc$
\.crl$
\.csr$
\.dll$
\.docx?$
\.drawio$
\.DS_Store$
\.eot$
\.eps$
\.exe$
\.filters$
\.gif$
\.git-blame-ignore-revs$
\.gitattributes$
\.gitkeep$
\.graffle$
\.gz$
\.icns$
\.ico$
\.ipynb$
\.jar$
\.jks$
\.jpe?g$
\.key$
\.lib$
\.lock$
\.map$
\.min\..
\.mo$
\.mod$
\.mp[34]$
\.o$
\.ocf$
\.otf$
\.p12$
\.parquet$
\.pdf$
\.pem$
\.pfx$
\.png$
\.psd$
\.pyc$
\.pylintrc$
\.qm$
\.s$
\.sig$
\.snk$
\.so$
\.stl$
\.svgz?$
\.sys$
\.tar$
\.tgz$
\.tiff?$
\.ttf$
\.wav$
\.webm$
\.webp$
\.woff2?$
\.xcf$
\.xlsx?$
\.xpm$
\.xz$
\.zip$
^\.github/actions/spell-check/
^\.github/workflows/spelling\d*\.yml$
^\.gitmodules$
^\Q.pipelines/ESRPSigning_core.json\E$
^\Qdoc/devdocs/localization.md\E$
^\Qsrc/modules/MouseUtils/MouseJump.Common/NativeMethods/User32/UI/WindowsAndMessaging/User32.SYSTEM_METRICS_INDEX.cs\E$
^doc/devdocs/akaLinks\.md$
^NOTICE\.md$
^src/common/CalculatorEngineCommon/exprtk\.hpp$
^src/common/UnitTests-CommonUtils/
^src/common/ManagedCommon/ColorFormatHelper\.cs$
^src/common/notifications/BackgroundActivatorDLL/cpp\.hint$
^src/common/sysinternals/Eula/
^src/modules/cmdpal/Tests/Microsoft\.CommandPalette\.Extensions\.Toolkit\.UnitTests/FuzzyMatcherComparisonTests.cs$
^src/modules/cmdpal/Tests/Microsoft\.CommandPalette\.Extensions\.Toolkit\.UnitTests/FuzzyMatcherDiacriticsTests.cs$
^src/modules/cmdpal/doc/initial-sdk-spec/list-elements-mock-002\.pdn$
^src/modules/cmdpal/ext/SamplePagesExtension/Pages/SampleMarkdownImagesPage\.cs$
^src/modules/cmdpal/Microsoft\.CmdPal\.UI/Settings/InternalPage\.SampleData\.cs$
^src/modules/cmdpal/Tests/Microsoft\.CmdPal\.Common\.UnitTests/.*\.TestData\.cs$
^src/modules/cmdpal/Tests/Microsoft\.CmdPal\.Common\.UnitTests/Text/.*\.cs$
^src/modules/colorPicker/ColorPickerUI/Shaders/GridShader\.cso$
^src/modules/launcher/Plugins/Microsoft\.PowerToys\.Run\.Plugin\.TimeDate/Properties/
^src/modules/MouseUtils/MouseJumpUI/MainForm\.resx$
^src/modules/MouseWithoutBorders/App/.*/NativeMethods\.cs$
^src/modules/MouseWithoutBorders/App/Form/.*\.Designer\.cs$
^src/modules/MouseWithoutBorders/App/Form/.*\.resx$
^src/modules/MouseWithoutBorders/App/Form/frmAbout\.cs$
^src/modules/MouseWithoutBorders/App/Form/frmInputCallback\.resx$
^src/modules/MouseWithoutBorders/App/Form/frmLogon\.resx$
^src/modules/MouseWithoutBorders/App/Form/frmMatrix\.resx$
^src/modules/MouseWithoutBorders/App/Form/frmMessage\.resx$
^src/modules/MouseWithoutBorders/App/Form/frmMouseCursor\.resx$
^src/modules/MouseWithoutBorders/App/Form/frmScreen\.resx$
^src/modules/MouseWithoutBorders/App/Helper/.*\.resx$
^src/modules/MouseWithoutBorders/ModuleInterface/generateSecurityDescriptor\.h$
^src/modules/peek/Peek.Common/NativeMethods\.txt$
^src/modules/peek/Peek.UITests/TestAssets/4\.qoi$
^src/modules/powerrename/PowerRenameUITest/testItems/folder1/testCase2\.txt$
^src/modules/powerrename/PowerRenameUITest/testItems/folder2/SpecialCase\.txt$
^src/modules/powerrename/PowerRenameUITest/testItems/testCase1\.txt$
^src/modules/previewpane/SvgPreviewHandler/SvgHTMLPreviewGenerator\.cs$
^src/modules/previewpane/UnitTests-MarkdownPreviewHandler/HelperFiles/MarkdownWithHTMLImageTag\.txt$
^src/modules/registrypreview/RegistryPreviewUILib/Controls/HexBox/.*$
^src/modules/ZoomIt/ZoomIt/ZoomIt\.idc$
^src/Monaco/
^tools/project_template/ModuleTemplate/resource\.h$
^tools/Verification scripts/Check preview handler registration\.ps1$
ignore$
^src/modules/registrypreview/RegistryPreviewUILib/Controls/HexBox/.*$
^src/common/CalculatorEngineCommon/exprtk\.hpp$
src/modules/cmdpal/ext/SamplePagesExtension/Pages/SampleMarkdownImagesPage.cs
^src/modules/powerrename/unittests/testdata/avif_test\.avif$
^src/modules/powerrename/unittests/testdata/heif_test\.heic$
================================================
FILE: .github/actions/spell-check/expect.txt
================================================
abcdefghjkmnpqrstuvxyz
abgr
ABlocked
ABOUTBOX
Abug
Acceleratorkeys
ACCEPTFILES
ACCESSDENIED
ACCESSTOKEN
AClient
AColumn
acrt
ACTIVATEAPP
activationaction
adaptivecards
ADDSTRING
ADDUNDORECORD
ADifferent
ADMINS
adml
admx
advfirewall
AFeature
affordances
AFX
AGGREGATABLE
AHybrid
akv
ALarger
ALIGNRIGHT
ALLAPPS
ALLCHILDREN
ALLINPUT
Allman
ALLOWUNDO
ALLVIEW
ALPHATYPE
altkey
AModifier
amr
ANDSCANS
animatedvisuals
Animnate
ANull
AOC
aocfnapldcnfbofgmbbllojgocaelgdd
APeriod
apicontract
apidl
APIENTRY
APIIs
Apm
APPBARDATA
APPEXECLINK
APPLICATIONFRAMEHOST
apphost
appmanifest
APPMODEL
APPNAME
appref
appsettings
appwindow
appwiz
APSTUDIO
AQS
ARandom
ARCHITEW
ARemapped
ARPINSTALLLOCATION
ARPPRODUCTICON
ARRAYSIZE
ARROWKEYS
arrowshape
asf
AShortcut
ASingle
ASSOCCHANGED
ASSOCF
ASSOCSTR
ASYNCWINDOWPLACEMENT
ASYNCWINDOWPOS
atl
ATRIOX
aumid
AUTOBUDDY
AUTOCHECKBOX
AUTOHIDE
AUTOHSCROLL
AUTOMATIONPROPERTIES
AUTORADIOBUTTON
Autorun
AUTOTICKS
AUTOUPDATE
AValid
AWAYMODE
azcliversion
azman
bbwe
bck
BESTEFFORT
bezelled
bhid
BIF
bigbar
bigobj
binlog
binres
BITMAPFILEHEADER
bitmapimage
BITMAPINFO
BITMAPINFOHEADER
BITSPERPEL
BITSPIXEL
bla
BLENDFUNCTION
Blockquotes
BLURBEHIND
BLURREGION
bmi
BNumber
BODGY
BOOTSTRAPPERINSTALLFOLDER
BOTTOMALIGN
boxmodel
BPBF
bpmf
bpp
Browsable
BROWSEINFO
bsd
bthprops
bti
BTNFACE
bugreport
bugreportfile
BUILDARCH
BUILDNUMBER
buildtransitive
builttoroam
BVal
BValue
byapp
BYPOSITION
CALCRECT
CALG
callbackptr
calpwstr
Cangjie
CANRENAME
CAPTUREBLT
CAPTURECHANGED
CARETBLINKING
CAtl
cch
CCHDEVICENAME
CCHFORMNAME
CCom
CContext
CDeclaration
CElems
CENTERALIGN
certlm
certmgr
cfp
CHANGECBCHAIN
changecursor
CHILDACTIVATE
CHILDWINDOW
CHOOSEFONT
cidl
cim
CImage
cla
CLASSDC
classguid
classmethod
CLASSNOTAVAILABLE
claude
CLEARTYPE
clickable
clickonce
clientside
CLIPBOARDUPDATE
CLIPCHILDREN
CLIPSIBLINGS
closesocket
CLSCTX
CLSIDs
Clsids
Clusion
cmder
CMDNOTFOUNDMODULEINTERFACE
cmdpal
CMIC
CMINVOKECOMMANDINFO
CMINVOKECOMMANDINFOEX
CMock
CMONITORS
cmph
CNF
coclass
codereview
Codespaces
COINIT
colid
colorconv
colorformat
colorhistory
colorhistorylimit
COLORKEY
colorref
comctl
comdlg
comexp
cominterop
commandpalette
commoncontrols
compmgmt
COMPOSITIONFULL
CONFIGW
CONFLICTINGMODIFIERKEY
CONFLICTINGMODIFIERSHORTCUT
CONOUT
contentfiles
CONTEXTHELP
CONTEXTMENUHANDLER
contractversion
CONTROLPARENT
Convs
cooldown
copiedcolorrepresentation
COPYPEN
COREWINDOW
cotaskmem
COULDNOT
countof
cpcontrols
cph
cplusplus
CPower
cpptools
cppvsdbg
cppwinrt
createdump
CREATEPROCESS
CREATESCHEDULEDTASK
CREATESTRUCT
CREATEWINDOWFAILED
CRECT
CRH
critsec
Crossdevice
CSearch
CSettings
cso
CSRW
CStyle
cswin
CTest
CTEXT
CTLCOLORSTATIC
CURRENTDIR
CURSORINFO
cursorpos
CURSORSHOWING
cursorwrap
customaction
CUSTOMACTIONTEST
CVal
cvd
CVirtual
CXSCREEN
CXSMICON
CXVIRTUALSCREEN
CYSCREEN
CYSMICON
CYVIRTUALSCREEN
Dac
dacl
datareader
datatracker
Dayof
dbcc
DBID
DBLCLKS
DBLEPSILON
DBPROP
DBPROPIDSET
DBPROPSET
DBT
DCBA
DCOM
DComposition
DCR
DDEIf
Deact
debugbreak
decryptor
Dedup
DEFAULTBOOTSTRAPPERINSTALLFOLDER
DEFAULTCOLOR
DEFAULTFLAGS
DEFAULTICON
defaultlib
DEFAULTONLY
DEFAULTSIZE
defaulttonearest
DEFAULTTONULL
DEFAULTTOPRIMARY
DEFERERASE
DEFPUSHBUTTON
deinitialization
DELA
DELETEDKEYIMAGE
DELETESCANS
DEMOTYPE
DENORMAL
depersist
deprioritized
DESELECTOTHERS
DESIGNINFO
DESKTOPABSOLUTEEDITING
DESKTOPABSOLUTEPARSING
desktopshorcutinstalled
devblogs
devdocs
devenv
DEVICEINTERFACE
devicetype
DEVINTERFACE
devmgmt
DEVMODE
DEVMODEW
DEVNODES
devpal
DEVTYP
dfx
DIALOGEX
diffs
digicert
DINORMAL
DISABLEASACTIONKEY
DISABLENOSCROLL
diskmgmt
DISPLAYCHANGE
DISPLAYFLAGS
DISPLAYFREQUENCY
displayname
DISPLAYORIENTATION
divyan
DLGFRAME
dlib
dllhost
dllmain
Dmdo
DNLEN
DONOTROUND
DONTVALIDATEPATH
dotnet
DPICHANGED
DPIs
DPSAPI
DQTAT
DQTYPE
DRAWCLIPBOARD
DRAWFRAME
drawingcolor
dreamsofameaningfullife
drivedetectionwarning
DROPFILES
DSTINVERT
DUMMYUNIONNAME
DVASPECT
DVASPECTINFO
DVD
dvr
DVTARGETDEVICE
dwl
dwm
dwmapi
DWMCOLORIZATIONCOLORCHANGED
DWMCOMPOSITIONCHANGED
DWMNCRENDERINGCHANGED
Dwmp
DWMSENDICONICLIVEPREVIEWBITMAP
DWMSENDICONICTHUMBNAIL
DWMWA
DWMWCP
DWMWINDOWATTRIBUTE
DWMWINDOWMAXIMIZEDCHANGE
DWORDLONG
dworigin
dwrite
dxgi
easeofaccess
ecount
EDITKEYBOARD
EDITSHORTCUTS
EDITTEXT
EFile
ENABLEDELAYEDEXPANSION
ENABLEDPOPUP
ENABLETAB
ENABLETEMPLATE
encodedlaunch
encryptor
ENDSESSION
ENSUREVISIBLE
ENTERSIZEMOVE
ENU
EPO
epu
ERASEBKGND
EREOF
EResize
ERRORIMAGE
ERRORTITLE
ESettings
esrp
ETDT
etl
etw
eula
eurochange
eventvwr
evt
EWXFORCE
EWXFORCEIFHUNG
EWXLOGOFF
EWXPOWEROFF
EWXREBOOT
EWXSHUTDOWN
examplehandler
examplepowertoy
EXAND
EXCLUDEFROMCAPTURE
executionpolicy
exename
EXITSIZEMOVE
exlist
EXPCMDFLAGS
EXPCMDSTATE
explr
exsb
exstyle
EXTENDEDKEY
EXTENDEDVERBS
extensionsdk
EXTRALIGHT
EXTRINSICPROPERTIES
eyetracker
FANCYZONESDRAWLAYOUTTEST
FANCYZONESEDITOR
FARPROC
fdw
fdx
FErase
fesf
FFFF
fffffffzzz
FInc
FFh
Figma
FILEEXPLORER
FILEFLAGS
FILEFLAGSMASK
FILELOCKSMITHCONTEXTMENU
FILELOCKSMITHEXT
FILELOCKSMITHLIBINTEROP
filemgmt
FILEMUSTEXIST
FILEOP
FILEOPENDIALOGOPTIONS
FILEOS
FILESUBTYPE
FILESYSPATH
Filetime
FILEVERSION
FILTERMODE
FInc
findfast
FIXEDFILEINFO
FIXEDSYS
flac
flyouts
FMask
fmtid
FOF
WANTNUKEWARNING
FOFX
FOLDERID
folderpath
FONTTYPE
FORCEFILESYSTEM
FORCEMINIMIZE
FORMATDLGORD
formatetc
FORPARSING
frm
FROMTOUCH
fsmgmt
FZE
gacutil
Gaeilge
Gaidhlig
GC'ed
GCLP
gdi
gdiplus
GDIPVER
GDISCALED
GETCLIENTAREAANIMATION
GETCURSEL
GETDESKWALLPAPER
GETDLGCODE
GETDPISCALEDSIZE
getfilesiginforedist
GETHOTKEY
GETICON
GETMINMAXINFO
GETNONCLIENTMETRICS
GETPROPERTYSTOREFLAGS
GETSCREENSAVERRUNNING
GETSECKEY
GETSTICKYKEYS
GETTEXTLENGTH
GHND
GMEM
GNumber
gpedit
gpo
GPOCA
gpp
gpu
gradians
GRGX
GSM
gtm
guiddata
GUITHREADINFO
GValue
gwl
GWLP
GWLSTYLE
hangeul
Hanzi
Hardlines
hardlinks
HARDWAREINPUT
Hashset
hashtag
HASHVAL
HASSTRINGS
HASSUBCOMMANDS
hbitmap
hbm
hbmp
hbr
HBRBACKGROUND
hbrush
hcblack
HCRYPTHASH
HCRYPTPROV
hcursor
hcwhite
hdc
HDEVNOTIFY
hdr
hdrop
hdwwiz
Helpline
helptext
hgdiobj
HGFE
hglobal
hhk
hhx
Hiber
Hiberboot
HIBYTE
hicon
HIDEWINDOW
Hif
highcontrast
highlightbackground
highlightthickness
HIMAGELIST
himl
hinst
HIWORD
HKC
HKCC
HKCOMB
HKCR
HKCU
hkey
HKLM
HKM
HKPD
HKU
HMD
hmenu
hmodule
hmonitor
homies
homljgmgpmcbpjbnjpfijnhipfkiclkd
HORZRES
HORZSIZE
Hostbackdropbrush
hotkeycontrol
HOTKEYF
hotkeys
hotlight
hotspot
HPAINTBUFFER
HRAWINPUT
hres
hresult
hrgn
HROW
hsb
HSCROLL
hsi
HTCLIENT
hthumbnail
HTOUCHINPUT
HTTRANSPARENT
HVal
HValue
Hvci
hwb
HWHEEL
HWINEVENTHOOK
hwnd
HWNDFIRST
HWNDLAST
HWNDNEXT
HWNDPARENT
HWNDPREV
hyjiacan
IAI
icf
ICONERROR
ICONLOCATION
IDCANCEL
IDD
idk
idl
idlist
IDOK
IDR
IDXGI
ietf
IEXPLORE
IFACEMETHOD
IFACEMETHODIMP
IGNOREUNKNOWN
IGo
iid
Iindex
Ijwhost
IMAGEHLP
IMAGERESIZERCONTEXTMENU
IMAGERESIZEREXT
imageresizerinput
imageresizersettings
imagingdevices
ime
imgflip
inbox
INCONTACT
Indo
inetcpl
Infobar
INFOEXAMPLE
Infotip
initialfile
INITDIALOG
INITGUID
INITTOLOGFONTSTRUCT
INLINEPREFIX
INPC
inproc
INPUTHARDWARE
INPUTKEYBOARD
INPUTLANGCHANGED
INPUTMOUSE
INPUTSINK
INPUTTYPE
INSTALLDESKTOPSHORTCUT
INSTALLFOLDER
INSTALLFOLDERTOBOOTSTRAPPERINSTALLFOLDER
INSTALLFOLDERTOPREVIOUSINSTALLFOLDER
INSTALLLOCATION
INSTALLMESSAGE
INSTALLPROPERTY
INSTALLSTARTMENUSHORTCUT
INSTALLSTATE
Inste
Interlop
INTRESOURCE
INVALIDARG
invalidoperatioexception
ipcmanager
IPREVIEW
irprops
isbi
iss
issecret
ISSEPARATOR
ith
ITHUMBNAIL
IUI
IWIC
jfif
jgeosdfsdsgmkedfgdfgdfgbkmhcgcflmi
jjw
jobject
JOBOBJECT
jpe
jpnime
Jsons
jsonval
jxr
keybd
KEYBDDATA
KEYBDINPUT
keyboardeventhandlers
keyboardmanagercommon
KEYBOARDMANAGEREDITOR
KEYBOARDMANAGEREDITORLIBRARYWRAPPER
keyboardmanagerstate
keyboardmanagerui
keyboardtester
KEYEVENTF
KEYIMAGE
keynum
keyremaps
keyvault
KILLFOCUS
killrunner
kmph
Kybd
lastcodeanalysissucceeded
LASTEXITCODE
LAYOUTRTL
LCIDTo
Lclean
Ldone
Ldr
LEFTSCROLLBAR
LEFTTEXT
leftclick
LError
LEVELID
LExit
lhwnd
LIBID
LIMITSIZE
LIMITTEXT
lindex
linkid
LINKOVERLAY
LINQTo
listview
LLKH
llkhf
LMEM
LMENU
LOADFROMFILE
LOBYTE
localappdata
localpackage
LOCALSYSTEM
LOCATIONCHANGE
LOGFONTW
logon
LOGPIXELSX
LOGPIXELSY
longdate
lowlevel
LOWORD
lparam
LPBITMAPINFOHEADER
LPCFHOOKPROC
lpch
LPCITEMIDLIST
LPCLSID
lpcmi
LPCMINVOKECOMMANDINFO
LPCREATESTRUCT
LPCRECT
LPCTSTR
lpdw
lpfn
LPINPUT
LPITEMIDLIST
lpmi
LPMINMAXINFO
LPMONITORINFO
LPOSVERSIONINFOEXW
LPQUERY
lprc
LPrivate
LPSAFEARRAY
lpstr
lpsz
LPTHREAD
LPTOP
lptpm
LPTR
LPTSTR
lpv
LPW
lpwcx
lpwndpl
LReader
LRESULT
LSTATUS
lstrcmp
lstrcmpi
lstrcpyn
lstrlen
LTEXT
LTRREADING
luid
LUMA
lusrmgr
LVal
LWA
lwin
LZero
MAGTRANSFORM
MAKEINTRESOURCE
MAKEINTRESOURCEA
MAKEINTRESOURCEW
MAKELANGID
MAKELONG
MAKELPARAM
MAKEWPARAM
manifestdependency
MAPPEDTOSAMEKEY
MAPTOSAMESHORTCUT
MAPVK
MARKDOWNPREVIEWHANDLERCPP
MAXDWORD
MAXSHORTCUTSIZE
maxversiontested
MBM
MBR
Mbuttondown
mcp
MDICHILD
MDL
mdtext
mdtxt
mdwn
measuretool
mccs
meme
memicmp
MENUITEMINFO
MENUITEMINFOW
MERGECOPY
MERGEPAINT
Metacharacter
metadatamatters
Metadatas
Metacharacter
metafile
metapackage
mfc
Mgmt
Microwaved
midl
mii
mindaro
Minimizable
MINIMIZEEND
MINIMIZESTART
MINMAXINFO
minwindef
Mip
Miracast
mkdn
mlcfg
mmc
mmcexe
MMdd
mmi
mmsys
mobileredirect
mockapi
MODALFRAME
modelcontextprotocol
MODESPRUNED
MONITORENUMPROC
MONITORINFO
MONITORINFOEX
MONITORINFOEXW
monitorinfof
MOUSEACTIVATE
mousecrosshairs
MOUSEDATA
MOUSEEVENTF
MOUSEHWHEEL
MOUSEINPUT
MOVESIZEEND
MOVESIZESTART
MRM
MRT
mru
msc
mscorlib
msctls
msdata
MSDL
MSGFLT
MSHCTX
MSHLFLAGS
msiexec
MSIFASTINSTALL
MSIHANDLE
MSIRESTARTMANAGERCONTROL
msixbundle
MSIXCA
MSLLHOOKSTRUCT
Mso
msrc
msstore
mstsc
msvcp
MT
MTND
multimonitor
MULTIPLEUSE
multizone
muxc
mvvm
MVVMTK
MWBEx
MYICON
myorg
myrepo
NAMECHANGE
namespaceanddescendants
nao
NCACTIVATE
ncc
NCCALCSIZE
NCCREATE
NCDESTROY
NCHITTEST
NCLBUTTONDBLCLK
NCLBUTTONDOWN
NCLBUTTONUP
NCMBUTTONDBLCLK
NCMBUTTONDOWN
NCMBUTTONUP
NCMOUSELEAVE
NCMOUSEMOVE
ncpa
NCPAINT
NCRENDERING
ndp
NEEDDISPATCH
netcoreapp
netcpl
netframework
netsetup
netsh
newcolor
NEWDIALOGSTYLE
NEWFILE
newitem
newpath
newplus
NEWPLUSCONTEXTMENU
NEWPLUSSHELLEXTENSIONWIN
newrow
nicksnettravels
NIF
NLog
NLSTEXT
NMAKE
NNN
NOACTIVATE
NOAGGREGATION
NOASYNC
NOCHANGEDIR
NOCLIP
NOCLOSEPROCESS
NOCOALESCE
NOCOMM
NOCONFIRMMKDIR
NOCOPYBITS
NOCOPYSECURITYATTRIBS
NOCRLF
nodeca
NODRAWCAPTION
NODRAWICON
NOINHERITLAYOUT
NOINTERFACE
NOINVERT
NOLINKINFO
NOMCX
NOMINMAX
NOMIRRORBITMAP
NONANTIALIASED
nonclient
NONCLIENTMETRICSW
NONELEVATED
nonspace
nonstd
NOOWNERZORDER
NOPARENTNOTIFY
NOPREFIX
NOREDIRECTIONBITMAP
NOREDRAW
NOREMOVE
norename
NOREPEAT
NOREPOSITION
norestart
NORMALDISPLAY
NORMALUSER
NOSEARCH
NOSENDCHANGING
NOSIZE
notdefault
Nosize
NOTHOUSANDS
NOTICKS
NOTIFICATIONSDLL
NOTIFYICONDATA
NOTIFYICONDATAW
NOTIMPL
NOTRACK
NOTSRCCOPY
NOTSRCERASE
NOTXORPEN
NOZORDER
NPH
npmjs
NResize
NTAPI
ntdll
NTSTATUS
NTSYSAPI
nullability
NULLCURSOR
nullonfailure
numberbox
nwc
ocr
Ocrsettings
odbccp
OEMCONVERT
officehubintl
OFN
ofs
OICI
OICIIO
oldcolor
olditem
oldpath
oldtheme
oleaut
OLECHAR
openas
opencode
OPENFILENAME
opensource
openurl
openxmlformats
OPTIMIZEFORINVOKE
ORPHANEDDIALOGTITLE
ORSCANS
oss
OSVERSIONINFO
OSVERSIONINFOEX
OSVERSIONINFOEXW
OSVERSIONINFOW
osvi
OUTOFCONTEXT
Outptr
outsettings
OVERLAPPEDWINDOW
Oversampling
OVERWRITEPROMPT
OWNDC
OWNERDRAWFIXED
Packagemanager
PACL
padx
pady
PAI
PAINTSTRUCT
PALETTEWINDOW
PARENTNOTIFY
PARENTRELATIVEEDITING
PARENTRELATIVEFORADDRESSBAR
PARENTRELATIVEPARSING
parray
PARTIALCONFIRMATIONDIALOGTITLE
PATCOPY
PATHMUSTEXIST
PATINVERT
PATPAINT
pbc
pbi
PBlob
pcb
pcch
pcelt
pch
pchast
PCIDLIST
PCTSTR
PCWSTR
PDEVMODE
PDFs
pdisp
PDLL
pdo
pdto
pdtobj
pdw
Peb
PElems
Pels
PELSHEIGHT
PELSWIDTH
PERCEIVEDFLAG
perfmon
pesi
pevent
PEXCEPTION
pfn
pfo
pft
pgp
pguid
phbm
phbmp
phwnd
pici
pidl
PIDLIST
pinfo
pinvoke
pipename
PKBDLLHOOKSTRUCT
plib
ploc
ploca
plocm
pluginsmodel
PMAGTRANSFORM
PMSIHANDLE
pnid
PNMLINK
Poc
Podcasts
POINTERID
POINTERUPDATE
Pokedex
Popups
POPUPWINDOW
POSITIONITEM
powerocr
POWERBROADCAST
powerdisplay
POWERDISPLAYMODULEINTERFACE
POWERRENAMECONTEXTMENU
powerrenameinput
POWERRENAMETEST
POWERTOYNAME
powertoyssetup
powertoysusersetup
Powrprof
ppenum
ppidl
pprm
pproc
ppshv
ppsi
ppsid
ppsrm
ppsrree
ppstm
ppsz
pptal
ppv
prc
Prefixer
prependpath
prepopulate
prevhost
previewer
PREVIEWHANDLERFRAMEINFO
PREVIOUSINSTALLFOLDER
PREVIOUSVERSIONSINSTALLED
prevpane
prg
prgh
prgms
pri
PRINTCLIENT
printmanagement
prm
proactively
PROCESSENTRY
PROCESSKEY
PROCESSTRACE
procmon
PRODEXT
PRODUCTVERSION
Progman
programdata
projectname
PROPERTYKEY
PROPVARIANT
PRTL
prvpane
psapi
pscid
PSECURITY
psfgao
psfi
PSMODULEPATH
psrm
psrree
pstatstg
pstm
PStr
pstream
pstrm
PSYSTEM
psz
ptb
ptc
PTCHAR
ptcontrols
ptd
PTOKEN
PToy
ptstr
pui
PWAs
pwcs
PWSTR
pwsz
pwtd
qit
QITAB
QITABENT
qoi
Quarternary
QUERYENDSESSION
QUERYOPEN
QUEUESYNC
QUNS
RAII
RAlt
randi
Rasterize
RAWINPUTDEVICE
RAWINPUTHEADER
RAWMODE
RAWPATH
rbhid
rclsid
RCZOOMIT
rdp
RDW
READMODE
READOBJECTS
recents
RECTDESTINATION
rectp
RECTSOURCE
recyclebin
Redist
Reencode
REFCLSID
REFIID
REGCLS
regfile
REGISTERCLASSFAILED
REGISTRYHEADER
REGISTRYPREVIEWEXT
registryroot
regkey
regroot
REINSTALLMODE
reloadable
Relogger
remappings
REMAPSUCCESSFUL
REMAPUNSUCCESSFUL
Remotable
remotedesktop
remoteip
Removelnk
renamable
RENAMEONCOLLISION
reparented
reparenting
reportfileaccesses
requery
requerying
rescap
resgen
resheader
resizers
RESIZETOFIT
resmimetype
RESOURCEID
RESTORETOMAXIMIZED
RETURNONLYFSDIRS
RGBQUAD
rgbs
rgelt
rgf
rgh
rgn
rgs
RIDEV
RIGHTSCROLLBAR
riid
RKey
RNumber
rollups
rop
ROUNDSMALL
rpcrt
RRF
rsop
Rsp
rstringalnum
rstringalpha
rstringdigit
RTLREADING
runas
rundll
rungameid
RUNLEVEL
runtimeclass
runtimeconfig
runtimepack
ruuid
rvm
rwin
sacl
safeprojectname
SAMEKEYPREVIOUSLYMAPPED
SAMESHORTCUTPREVIOUSLYMAPPED
SAVEFAILED
scanled
schedtasks
SCID
Scode
SCREENFONTS
screensaver
screenshots
scrollviewer
sddl
SDKDDK
sdns
searchterm
SEARCHUI
SECONDARYDISPLAY
secpol
SEEMASKINVOKEIDLIST
SELCHANGE
SENDCHANGE
sendvirtualinput
serverside
SETBUDDYINT
SETCONTEXT
SETCURSEL
setcursor
SETFOCUS
SETFOREGROUND
SETHOTKEY
SETICON
SETLOWPOWERACTIVE
SETPOWEROFFACTIVE
SETRANGE
SETREDRAW
SETRULES
SETSCREENSAVEACTIVE
SETSTICKYKEYS
SETTEXT
SETTINGCHANGE
SETTINGSCHANGED
settingsheader
settingshotkeycontrol
setvariable
SETWORKAREA
SFBS
sfgao
SFGAOF
SHACF
SHANDLE
sharepoint
SHCNE
SHCNF
SHCONTF
shellapi
SHELLDETAILS
SHELLDLL
shellex
SHELLEXECUTEINFO
SHELLEXECUTEINFOW
SHFILEINFO
SHFILEOPSTRUCT
SHGDN
SHGDNF
SHGFI
shinfo
shlwapi
shobjidl
SHORTCUTATLEAST
SHORTCUTMAXONEACTIONKEY
SHORTCUTNOREPEATEDMODIFIER
SHORTCUTONEACTIONKEY
SHORTCUTSTARTWITHMODIFIER
shortdate
SHORTPATH
shortsplit
showcolorname
SHOWDEFAULT
SHOWELEVATIONPROMPT
SHOWMAGNIFIEDCURSOR
SHOWMAXIMIZED
SHOWMINIMIZED
SHOWMINNOACTIVE
SHOWNA
SHOWNOACTIVATE
SHOWNORMAL
SHOWWINDOW
shtypes
sia
SIATTRIBFLAGS
SICHINT
SIDs
siex
sigdn
SIGNINGSCENARIO
SINGLEKEY
sipolicy
SIZEBOX
Sizename
SIZENESW
SIZENS
SIZENWSE
SIZEWE
SKEXP
SKIPOWNPROCESS
sku
SLGP
sln
SMALLICON
smartphone
SMTO
SNAPPROCESS
snwprintf
softline
SOURCECLIENTAREAONLY
sourced
sourcedoc
SOURCEHEADER
sourcesdirectory
spdisp
spdlog
spdo
spesi
splitwstring
Spongebob
spongebot
spsi
spsia
spsrm
spsv
SRCAND
SRCCOPY
SRCERASE
Srch
SRCINVERT
SRCPAINT
SResize
srme
srre
srw
srwlock
sse
ssf
STACKFRAME
stackoverflow
STARTF
startupapps
STARTUPINFO
STARTUPINFOEX
STARTUPINFOW
startupscreen
STATFLAG
STATSTG
stdafx
STDAPI
stdc
stdcpp
stdcpplatest
STDMETHODCALLTYPE
STDMETHODIMP
STGC
STGM
STGMEDIUM
STICKYKEYS
sticpl
storelogo
stprintf
streamjsonrpc
STRINGIZE
stringtable
stringval
Strm
strret
stscanf
sttngs
Stubless
STYLECHANGED
STYLECHANGING
subkeys
sublang
SUBMODULEUPDATE
subresource
suntimes
swp
sug
Superbar
sut
svchost
SVGIn
SVGIO
svgz
SVSI
SWFO
swp
SWPNOSIZE
SWPNOZORDER
SWRESTORE
symbolrequestprod
SYMCACHE
SYMED
SYMOPT
SYNCPAINT
SYSCHAR
SYSCOLORCHANGE
SYSCOMMAND
SYSDEADCHAR
sysdm
SYSICONINDEX
SYSKEY
syskeydown
SYSKEYUP
SYSLIB
sysmenu
systemai
SYSTEMAPPS
SYSTEMMODAL
SYSTEMTIME
TARGETAPPHEADER
targetentrypoint
TARGETHEADER
targetver
taskkill
taskschd
TCHAR
TCIF
TCITEM
TCN
tcs
tcscat
tcschr
tcscmp
tcscpy
tcsdup
tcslen
tcsrchr
tdbuild
telephon
templatenamespace
testprocess
TEXCOORD
TEXTINCLUDE
tfopen
tgz
themeresources
THH
THISCOMPONENT
throughs
TILEDWINDOW
TILLSON
timedate
timediff
timespan
timeutil
TITLEBARINFO
Titlecase
tkcontrols
tkconverters
tlb
tlbimp
tlc
TPMLEFTALIGN
TPMRETURNCMD
TNP
Toggleable
Toolhelp
toolwindow
TOPDOWNDIB
TOUCHEVENTF
TOUCHINPUT
TRACEHANDLE
tracelogging
tracerpt
trackbar
trafficmanager
transicc
TRAYMOUSEMESSAGE
triaging
trl
trx
tsa
tstoi
TWF
tymed
TYPEKEYBOARD
TYPEMOUSE
TYPESHORTCUT
UAC
UACUI
UAL
uap
UBR
UCallback
ucrt
ucrtd
uefi
uesc
UFlags
UHash
UIA
UIEx
ULONGLONG
Ultrawide
UMax
UMin
ums
uncompilable
UNCPRIORITY
UNDNAME
UNICODETEXT
uninstalls
Uniquifies
unitconverter
unittests
UNLEN
UNORM
unremapped
unvirtualized
unwide
unzoom
UOffset
UOI
UPDATENOW
updown
UPGRADINGPRODUCTCODE
Uptool
urld
Usb
USEDEFAULT
USEFILEATTRIBUTES
USESHOWWINDOW
USESTDHANDLES
USRDLL
UType
uuidv
uwp
uxtheme
vabdq
validmodulename
valuegenerator
vcamp
vcgtq
VCINSTALLDIR
Vcpkg
VCRT
vcruntime
vcvars
VDesktop
vdupq
VERBSONLY
VERBW
VERIFYCONTEXT
VERSIONINFO
VERTRES
VERTSIZE
VFT
vget
vgetq
VIRTKEY
VIRTUALDESK
VISEGRADRELAY
visiblecolorformats
visualeffects
vkey
vmovl
VMs
vorrq
VOS
vpaddlq
vqsubq
vreinterpretq
VSC
VSCBD
vscdb
vsconfig
VSCROLL
vsetq
VSINSTALLDIR
VSM
vso
vsonline
vstemplate
vstest
VSTHRD
vstprintf
VSTT
vswhere
Vtbl
WANTPALM
wbem
WBounds
Wca
WCE
wcex
WClass
wcsicmp
wcsncpy
wcsnicmp
WDA
wdm
wdp
wdupenv
webbrowsers
webdev
webpage
websites
wekyb
wgpocpl
WIC
wic
wifi
winapi
winappsdk
windir
WINDOWCREATED
WINDOWINFO
WINDOWNAME
WINDOWPLACEMENT
WINDOWPOSCHANGED
WINDOWPOSCHANGING
WINDOWSBUILDNUMBER
windowssearch
windowssettings
WINDOWSTYLES
WINDOWSTYLESICON
winerror
WINEVENT
winget
wingetcreate
Winhook
WINL
winlogon
winmd
WINNT
winres
winrt
winsdk
winsta
WINTHRESHOLD
WINVER
winxamlmanager
withinrafael
Withscript
wixproj
wixtoolset
WIXUI
WKSG
Wlkr
wmain
Wman
WMICIM
wmimgmt
wmp
WMSYSCOMMAND
wnd
WNDCLASS
WNDCLASSEX
WNDCLASSEXW
WNDCLASSW
wnode
WORKSPACESEDITOR
WORKSPACESLAUNCHER
WORKSPACESSNAPSHOTTOOL
WORKSPACESWINDOWARRANGER
wox
wparam
wpf
wpftmp
wpfui
wpr
wprp
wql
wregex
WReserved
WResize
WRITEOBJECTS
Wrk
wrl
wscui
wsh
wstr
wsz
WTA
WTNCA
wtoi
WTS
WTSAT
Wubi
WUX
Wwanpp
XAxis
xclip
XDocument
XElement
xfd
XFile
XIncrement
XNamespace
Xoshiro
XPels
XPixel
XResource
xsi
XStr
xstyler
XUP
XVIRTUALSCREEN
xxxxxx
YAxis
ycombinator
YIncrement
yinle
yinyue
YPels
YResolution
YStr
YVIRTUALSCREEN
ZEROINIT
zonable
zoneset
Zoneszonabletester
Zoomin
zoomit
ZOOMITX
AAAAs
ABORTIFHUNG
acfs
ACIE
ACR
ACTIVATEOPTIONS
ADate
ADMINS
advancedpaste
advapi
agentskills
AHK
AIUI
Allmodule
ALLNOISE
AOklab
aot
APMPOWERSTATUSCHANGE
APMRESUMEAUTOMATIC
APMRESUMESUSPEND
appext
appsfeatures
appxpackage
Aquadrant
ARTIFACTSTAGINGDIRECTORY
Ashcraft
ASUS
AUO
authenticode
azureaiinference
azureinference
azureopenai
Backlight
backticks
Badflags
Badmode
Badparam
BCIE
BIGGERSIZEOK
binskim
blittable
blt
bluelightreduction
bluelightreductionstate
BOklab
Bootstrappers
breadcrumb
BUNDLEINFO
BYCOMMAND
Canvascustomlayout
carlos
Carlseibert
caub
CBN
CDPX
Cds
cer
chatasweetie
checkmarks
Chunghwa
CIBUILD
CIELCh
classguid
classmethod
claude
CLEARTYPE
clientedge
clp
CMN
CODENAME
Coen
cognitiveservices
colorref
commandnotfound
COMPOSITIONDISABLED
constexpr
contentdialog
Convs
coppied
copyable
coreclr
Corpor
covrun
Cowait
cpptools
cppvsdbg
creativecommons
cropandlock
CROPTOSQUARE
crt
csdevkit
CSOT
CURSORSHOWING
cursorwrap
CUSTOMFORMATPLACEHOLDER
CWMO
Czechia
DAffine
DAFFINETRANSFORM
dbcc
DBT
DCapabilities
ddc
debouncer
Deduplicator
DEFAULTSIZE
defaulttonearest
DESKTOPHORZRES
DESKTOPVERTRES
devenv
DEVICEINTERFACE
devicetype
DEVINTERFACE
DEVNODES
DEVTYP
dfx
diffs
digicert
DINORMAL
displayconfig
diu
dlgmodalframe
downsampled
downsampling
downscale
DPMS
DString
DSVG
dto
dutil
dwflags
Dxva
eab
EAccess
edid
eep
EInvalid
eku
emojis
ENot
ENTRYW
environmentvariables
EProvider
etd
EXECUTEDEFAULT
exf
exprtk
fdw
fdx
FErase
fesf
FFFF
FFh
Figma
fileexploreraddons
fileexplorerpreview
filelocksmith
FInc
findmymouse
FNumber
foundrylocal
framechanged
FRestore
fsanitize
ftps
fuzzingtesting
fxf
gameid
geolocator
GETLBTEXT
gfx
gitmodules
googleai
googlegemini
Gotchas
grctlext
Gridcustomlayout
Hann
Hantai
HDEVNOTIFY
hgdiobj
HHmmssfff
HICONSM
hkmng
HMON
HOOKPROC
hostsfileeditor
Hostx
hotfixes
HPhysical
hredraw
HSpeed
HSync
hutchinsoniana
HWP
ICONONLY
IDOn
ifd
IIM
ILD
inapp
inlines
Inno
Innolux
installdir
intput
invokecommand
ipreviewhandlervisualssetfont
IPTC
irow
isfinite
issuecomment
istep
IUWP
IVO
jeli
JOBOBJECT
Kantai
keycap
keyring
KVM
kvp
LARGEICON
lbl
Lbuttondown
LCh
lcid
lcl
LEFTALIGN
leftclick
Lenovo
LFU
LGD
LIBFUZZER
lightswitch
LIVEDRAW
livezoom
lng
LOCKTYPE
LOGMSG
lon
lpch
LPrivate
lquadrant
makeappx
makepri
Malware
maximizebox
mber
Mbuttondown
mccs
mcp
Metacharacter
metadatamatters
middleclickaction
MIIM
mikeclayton
mikehall
minimizebox
modelcontextprotocol
mousehighlighter
mousejump
mousepointer
mouseutils
MSAL
msdia
MSIs
mstsc
mswhql
muxx
muxxc
muxxh
MVPs
myorg
myrepo
Nanjing
NEWFILEHEADER
nightlight
nodiscard
nologo
nomove
nosize
notopmost
Notupdated
notwindows
nowarn
NPU
ntfs
nullref
ollama
onebranch
onnx
OOBEUI
openrdp
openurl
Optronics
outputtype
PARENTRELATIVE
PARENTRELATIVEFORUI
PBP
pbrush
PDBs
pdmodels
phicon
PHL
Photoshop
pii
pkgfamily
PKI
PMs
Pomodoro
POWERBROADCAST
powerdisplay
POWERDISPLAYMODULEINTERFACE
ppwsz
Premul
primaryclickaction
processthreadsapi
prot
pscustomobject
Psr
pvct
qdc
QDS
QNN
quickaccent
RAquadrant
rasterization
rasterizing
Rbuttondown
rdp
regsvr
releaseblog
remotedesktop
RENDERFULLCONTENT
rguid
rhk
rollups
rtb
samsung
sancov
screenruler
secondaryclickaction
securestring
selfhost
settingscard
sharpfuzz
shcore
SHELLICONSIZE
SHIL
shk
Signedness
signtool
SIIGBF
slnf
slnx
smileys
snk
Ssn
sszzz
staticedge
staticmethod
steamapps
STGMREAD
streamable
STRSAFE
stuttery
subresource
swp
SWPNOSIZE
SWPNOZORDER
sysmenu
systemai
TARG
taskbar
TESTONLY
TEXTBOXNEWLINE
textextractor
textvariable
tgamma
THEMECHANGED
thickframe
Tianma
tmain
tskill
tweakable
UBreak
ubrk
UError
uild
uitests
UITo
Ultrawide
UMax
UMin
unins
Uninstaller
unsubscribes
upscaling
USEINSTALLERFORTEST
uxt
VARTYPE
vcenter
vcp
vcpname
vesa
viewmodels
virama
vnd
vredraw
VSpeed
VSync
WASDK
WCRAPI
wft
wikimedia
wikipedia
windowedge
WINDOWSAPPRUNTIME
windowsml
winexe
winforms
wingetpkgs
winml
wmi
wmsg
wndproc
wom
worktree
xap
XButton
Xbuttondown
xcopy
XDeployment
xdf
XDimension
XLoc
xmp
XPos
XSpeed
XTimer
XXL
YDimension
YPos
YSpeed
YTimer
zamora
zonability
Zorder
================================================
FILE: .github/actions/spell-check/line_forbidden.patterns
================================================
# 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
# Were you debugging using a framework with `fit()`?
# 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 skip all the other tests.
#\bfit\(
# English does not use a hyphen between adverbs and nouns
# https://twitter.com/nyttypos/status/1894815686192685239
(?:^|\s)[A-Z]?[a-z]+ly-(?=[a-z]{3,})(?:[.,?!]?\s|$)
# Smart quotes should match
\s’[^.?!‘’]+’[^.?!‘’]+‘[^.?!‘’]+’|\s‘[^.?!‘’]+’[^.?!‘’]+’[^.?!‘’]+’|\s”[^.?!“”]+”[^.?!“”]+“[^.?!“”]+”|\s“[^.?!“”]+”[^.?!“”]+”[^.?!“”]+”
# Don't use `requires that` + `to be`
# https://twitter.com/nyttypos/status/1894816551435641027
\brequires that \w+\b[^.]+to be\b
# A fully parenthetical sentence’s period goes inside the parentheses, not outside.
# https://twitter.com/nyttypos/status/1898844061873639490
\([A-Z][a-z]{2,}(?: [a-z]+){3,}\)\.\s
# Complete sentences shouldn't be in the middle of another sentence as a parenthetical.
(?<!\.)(?<!\betc)\.\),
# Complete sentences in parentheticals should not have a space before the period.
\s\.\)(?!.*\}\})
# This probably indicates Mojibake https://en.wikipedia.org/wiki/Mojibake
# You probably should try to unbake this content
Ã(?:Â[¤¶¥]|[£¢])|Ã
# Should be `HH:MM:SS`
\bHH:SS:MM\b
# Should be `86400` (seconds in a standard day)
\b84600\b(?:.*\bday\b)
# Should probably be `2006-01-02` (yyyy-mm-dd)
# Assuming that the time is being passed to https://go.dev/src/time/format.go
\b2006-02-01\b
# Should probably be `YYYYMMDD`
\b[Yy]{4}[Dd]{2}[Mm]{2}(?!.*[Yy]{4}[Dd]{2}[Mm]{2}).*$
# Should be `a priori` or `and prior`
(?i)(?<!posteriori)\sand priori\s
# Should be `a`
\san (?=(?:[b-df-gj-npqtv-xz]|h(?!our|tml|ttp)|r(?!c\b)|s(?!sh|vg))[a-z])
# Articles generally shouldn't be used without a noun and a verb
# - Perhaps you're missing a verb between the noun and the second article.
# - Or, perhaps you should remove the first verb and treat the intervening word as a verb?
# - In some cases you should add a `,` between the noun and the second article.
\s(?:an?|the(?! action))\s(?!way|wh|how\b)[A-Za-z][a-z]+[a-qs-z]\s(?:a(?! bit)n?|the)\s
# Should only be one of `a`, `an`, or `the`
\b(?:(?:an?|the)\s+){2,}\b
# Should be a list `something, a second thing, or a third thing` or `something, a thing to do a thing`
# -- This rule is experimental, if you find it has a high false-positive rate, please let the maintainer know
#(?:^|[?!.] )[^()?!;,.]+, a(?:\s+(?!to\b)\w+)+?\s+an?\b
# Should only be `are` or `can`, not both
\b(?:(?:are|can)\s+){2,}\b
# Should probably be `ABCDEFGHIJKLMNOPQRSTUVWXYZ`
(?i)(?!ABCDEFGHIJKLMNOPQRSTUVWXYZ)ABC[A-Z]{21}YZ
# Should be `an`
#(?<!\b[Ii] |\.)\bam\b
# Should be `anymore`
\bany more[,.]
# Should be `Ask`
(?:^|[.?]\s+)As\s+[A-Z][a-z]{2,}\s[^.?]*?(?:how|if|wh\w+)\b
# Should be `at one fell swoop`
# and only when talking about killing, not some other completion
# Act 4 Scene 3, Macbeth
# https://www.opensourceshakespeare.org/views/plays/play_view.php?WorkID=macbeth&Act=4&Scene=3&Scope=scene
\bin one fell s[lw]?oop\b
# Should be `'`
(?i)\b(?:(?:i|s?he|they|what|who|you)[`"]ll|(?:are|ca|did|do|does|ha[ds]|have|is|should|were|wo|would)n[`"]t|(?:s?he|let|that|there|what|where|who)[`"]s|(?:i|they|we|what|who|you)[`"]ve)\b
# Should be `background` / `intro text` / `introduction` / `prologue` unless it's a brand or relates to _subterfuge_
(?i)\bpretext\b
# Should be `bearer`
\b(?<=the )burden(?= of bad news\b)
# Should be `bona`
# unless talking about bones
\bbone(?= fide\b)
# Should be `branches`
# ... unless it's really about the meal that replaces breakfast and lunch.
\b[Bb]runches\b
# Should be `briefcase`
\bbrief-case\b
# Should be `by far` or `far and away`
\bby far and away\b
# Should be `by and large`
\bby in large\b
# Should be `bytes`
# unless talking about sports where a team gets to skip a game, or
# saying `goodbyes` (even this is questionable)
(?<!\\)\bbyes\b
# Should be `can, not only ..., ... also...`
\bcan not only.*can also\b
# Should be `cannot` (or `can't`)
# See https://www.grammarly.com/blog/cannot-or-can-not/
# > Don't use `can not` when you mean `cannot`. The only time you're likely to see `can not` written as separate words is when the word `can` happens to precede some other phrase that happens to start with `not`.
# > `Can't` is a contraction of `cannot`, and it's best suited for informal writing.
# > In formal writing and where contractions are frowned upon, use `cannot`.
# > It is possible to write `can not`, but you generally find it only as part of some other construction, such as `not only . . . but also.`
# - if you encounter such a case, add a pattern for that case to patterns.txt.
\b[Cc]an not\b(?! only\b)
# Should be `chart`
(?i)\bhelm\b.*\bchard\b
# Do not use `(click) here` links
# For more information, see:
# * https://www.w3.org/QA/Tips/noClickHere
# * https://webaim.org/techniques/hypertext/link_text
# * https://granicus.com/blog/why-click-here-links-are-bad/
# * https://heyoka.medium.com/dont-use-click-here-f32f445d1021
(?i)(?:>|\[)(?:(?:click |)here|this(?=\]\([^\)]+:/)|link|(?:read |)more(?!</value))(?:</|\]\()
# Including "image of" or "picture of" in alt text is unnecessary.
\balt=['"](?:an? |)(?:image|picture) of
# Alt text should be short
\balt=(?:'[^']{126,}'|"[^"]{126,}")
# Should be `effect`
(?<=\btake )affect\b
# Should be `-endian`
\b(?i)(?<=big|little) endian\b
# Should be `equals` to `is equal to`
\bequals to\b
# Should be `ECMA` 262 (JavaScript)
(?i)\bTS\/EMCA\b|\bEMCA(?: \d|\s*Script)|\bEMCA\b(?=.*\bTS\b)
# Should be `ECMA` 340 (Near Field Communications)
(?i)EMCA[- ]340
# Should be `fall back`
\bfallback(?= to)\b
# Should be `for`, `for, to` or `to`
\b(?:for to|to for)\b
# Should be `GitHub`
(?<![&*.]|// |\b(?:from|import|type) )\bGithub\b(?![{()])
# Should be `GitLab`
(?<![&*.]|// |\b(?:from|import|type) )\bGitlab\b(?![{()])
# Should be `heartrending` unless talking about drawing hearts
\b(?i)heart[- ]rendering\b(?![^.?!]*(?:hearts|quirk))
# Should probably be `https://`...
# Markdown generally doesn't assume that links are to urls
\]\(www\.\w
# Should be `intents and purposes`
(?<=[Ff]or all )intensive purposes\b
# Should be `JavaScript`
\bJavascript\b
# Should be `macOS` or `Mac OS X` or ...
\bMacOS\b
# Should be `Microsoft`
\bMicroSoft\b
# Should be `OAuth`
(?:^|[^-/*$])[ '"]oAuth(?: [a-z]|\d+ |[^ a-zA-Z0-9:;_.()])
# Should be `RabbitMQ`
\bRabbitmq\b
# Should be `TensorFlow`
\bTensorflow\b
# Should be `TypeScript`
\bTypescript\b
# Should be `another`
\ban[- ]other(?!-)\b
# Should be `case-(in)sensitive`
\bcase (?:in|)sensitive\b
# Should be `coinciding`
\bco-inciding\b
# Should be `deprecation warning(s)`
\b[Dd]epreciation [Ww]arnings?\b
# Should be `greater than`
\bgreater then\b
# Should be `has`
\b[Ii]t only have\b
# Should be `here-in`, `the`, `them`, `this`, `these` or reworded in some other way
\bthe here(?:\.|,| (?!and|defined))
# Should be `going to bed` or `going to a bad`
\bgoing to bad(?!-)\b
# Should be `greater than`
#\bhigher than\b
# Should be `ID` (unless it's a flag/property)
#(?<![-\.])\bId\b(?![(])
# Should be `in front of`
\bin from of\b
# Should be `into`
# when not phrasal and when `in order to` would be wrong:
# https://thewritepractice.com/into-vs-in-to/
\sin to\s(?!if\b)
# Should be `use`
\sin used by\b
# Should be `in-depth` if used as an adjective (but `in depth` when used as an adverb)
\bin depth\s(?!rather\b)\w{6,}
# Should be `in-flight` or `on the fly` (unless actually talking about airline flights)
\bon[- ]flight\b(?!=\s+(?:(?:\w{2}|)\d+|availability|booking|computer|data|delay|departure|management|performance|radar|reservation|scheduling|software|status|ticket|time|type|.*(?:hotel|taxi)))
# Should be `is obsolete`
\bis obsolescent\b
# Should be `it's` or `its`
(?<![.'])\bits['’]
# Should be `its`
\bit's(?= (?:child|only purpose|own(?:er|)|parent|sibling)\b)
# Should be `for its` (possessive) or `because it is`
\bfor it(?:'s| is)\b
# Should be `lends`
\bleads(?= credence)
# Should be `log in`
\blogin to the
# Should be `long-standing`
\blong standing\b
# Should be `lose`
(?<=\bwill )loose\b
# `apt-key` is deprecated
# ... instead you should be writing a pair of files:
# ... * the gpg key added to a distinct key ring file based on your project/distro/key...
# ... * the sources.list in a district file -- not simply appended to `/etc/apt/sources.list` -- (there is a newer format [DEB822](https://manpages.debian.org/bookworm/dpkg-dev/deb822.5.en.html)) that references the gpg key.
# Consider:
# ````sh
# curl http://download.something.example.com/$DISTRO/Release.key | \
# gpg --dearmor --yes --output /usr/share/keyrings/something-distro.gpg
# echo "deb [signed-by=/usr/share/keyrings/something-distro.gpg] http://download.something.example.com/repositories/home:/$DISTRO ./" \
# >> /etc/apt/sources.list.d/something-distro.list
# ````
\bapt-key add\b
# Should be `nearby`
\bnear by\b
# Should probably be a person named `Nick` or the abbreviation `NIC`
\bNic\b
# Should be `not supposed`
\bsupposed not\b
# Should be `Once this` or `On this` or even `One that`. Rarely `One, this`
[?!.] One this\b
# Should probably be `much more`
\bmore much\b
# Should be `perform its`
\bperform it's\b
# Should be `opt-in`
(?<!\scan|for)(?<!\smust)(?<!\sif)\sopt in\s
# Should be `out-of-date` if acting as an adjective before a noun
\bout of date(?= \w{3,}\b)
# Should be `less than`
\bless then\b
# Should be `load balancer`
\b[Ll]oud balancer
# Should be `moot`
\bmute point\b
# Should be `one of`
(?<!-)\bon of\b
# Should be `on the other hand`
\b(?i)on another hand\b
# Reword to `on at runtime` or `enabled at launch`
# The former if you mean it can be changed dynamically.
# The latter if you mean that it can be changed without recompiling but not after the program starts.
\bswitched on runtime\b
# Should be `Of course,`
[?.!]\s+Of course\s(?=[-\w\s]+[.?;!,])
# Most people only have two hands. Reword.
\b(?i)on the third hand\b
# Should be `Open Graph`
# unless talking about a specific Open Graph implementation:
# - Java
# - Node
# - Py
# - Ruby
\bOpenGraph\b
# Should be `OpenShift`
\bOpenshift\b
# Should be `otherwise`
\bother[- ]wise\b
# Should be `; otherwise` or `. Otherwise`
# https://study.com/learn/lesson/otherwise-in-a-sentence.html
, [Oo]therwise\b
# Should probably be `Otherwise,`
(?<=\. )Otherwise\s
# Should be `or (more|less)`
\bore (?:more|less)\b
# Should be `or`
\b(?i)true of .*false\b
# Should be `pale`
\b(?<=beyond the )pail\b
# Should be reworded.
# `passthrough` is an adjective
# `pass-through` could be a noun
# `pass through` would be a verb phrase
\b(?i)passthrough(?= an?\b)
# Should be `rather than`
\brather then\b
# Should be `Red Hat`
\bRed[Hh]at\b
# Should be `regardless, ...` or `regardless of (whether)`
\b[Rr]egardless if you\b
# Should be `self-signed`
\bself signed\b
# Should be `SendGrid`
\bSendgrid\b
# Should be `set up` (`setup` is a noun / `set up` is a verb)
\b[Ss]etup(?= (?:an?|the)\b)
# Should be `state`
\bsate(?=\b|[A-Z])|(?<=[a-z])Sate(?=\b|[A-Z])|(?<=[A-Z]{2})Sate(?=\b|[A-Z])
# Should be `this`
\b[Tt]oday(?= morning\b)
# Should be `let's` or `let us`
\b[Ll]ets (?=throw\.)
# Should be `no longer needed`
\bno more needed\b(?! than\b)
# Should be `<see|look> below for the`
(?i)\bfind below the\b
# Should be `then any` unless there's a comparison before the `,`
, than any\b
# Should be `did not exist`
\bwere not existent\b
# Should be `nonexistent`
\bnon existing\b
# Should be `nonexistent`
\b[Nn]o[nt][- ]existent\b
# Should be `our`
\bspending out time\b
# Should be `@brief` / `@details` / `@param` / `@return` / `@retval`
(?:^\s*|(?:\*|//|/*)\s+`)[\\@](?:breif|(?:detail|detials)|(?:params(?!\.)|prama?)|ret(?:uns?)|retvl)\b
# Should be `more than` or `more, then`
\bmore then\b
# Should be `Pipeline`/`pipeline`
(?:(?<=\b|[A-Z])p|P)ipeLine(?:\b|(?=[A-Z]))
# Should be `preexisting`
[Pp]re[- ]existing
# Should be `preempt`
[Pp]re[- ]empt\b
# Should be `preemptively`
[Pp]re[- ]emptively
# Should be `prepopulate`
[Pp]re[- ]populate
# Should be `prerequisite`
[Pp]re[- ]requisite
# Should be `QuickTime`
\bQuicktime\b
# Should be `recently changed` or `recent changes`
[Rr]ecent changed
# Should be `reentrancy`
[Rr]e[- ]entrancy
# Should be `reentrant`
[Rr]e[- ]entrant
# Should be `room for`
\brooms for (?!lease|rent|sale)
# Should be `socioeconomic`
# https://dictionary.cambridge.org/us/dictionary/english/socioeconomic
socio-economic
# Should be `strong suit`
\b(?:my|his|her|their) strong suite\b
# Should probably be `temperatures` unless actually talking about thermal drafts (things birds may fly on)
\bthermals\b
# Should be `there are` or `they are` (or `they're`)
(?i)\btheir are\b
# Should be `understand`
\bunder stand\b
# Should be `URI` or `uri` unless it refers to a person named `Uri` (or a flag)
#(?<![-\.])\bUri\b(?![(])
# Should be `true`
(?i)(?<![\[\]()])\brue(?:= or false)
# Should be `it uses is`
/\bis uses is\b/
# Should be `uses it as`
(?:^|\. |and )uses is as (?!an?\b|follows|livestock|[^.]+\s+as\b)
# Should be `was`
\bhas been(?= removed in v?\d)
# Should be `where`
\bwere they are\b
# Should be `why`
, way(?= is [^.]*\?)
# should be `vCenter`
\bV[Cc]enter\b
# Should be `VM`
\bVm\b
# Should be `walkthrough(s)`
\bwalk-throughs?\b
# Should be `want`
\bdon't ant\b
# Should be `we'll`
\bwe 'll\b
# Should be `week`
# unless you're really talking about people or pointers
\bevery weak[.,?!]
# Should be `well`
\b[Yy]ou(?:'re| are) doing good\b
# Should be `whereas`
\bwhere as\b
# Should be `WinGet`
\bWinget\b
# Should be `without` (unless `out` is a modifier of the next word)
\bwith out\b(?!-)
# Should be `work around`
\b[Ww]orkaround(?= an?\b)
# Should be `workarounds`
#\bwork[- ]arounds\b
# Should be `workaround`
(?:(?:[Aa]|[Tt]he|ugly)\swork[- ]around\b|\swork[- ]around\s+for)
# Should be `worst`
(?i)worse-case
# Should be `you are not` or reworded
\byour not\b
# Should be `(coarse|fine)-grained`
\b(?:coarse|fine) grained\b
# Homoglyph (Cyrillic) should be `A`/`B`/`C`/`E`/`H`/`I`/`I`/`J`/`K`/`M`/`O`/`P`/`S`/`T`/`Y`
# It's possible that your content is intentionally mixing Cyrillic and Latin scripts, but if it isn't, you definitely want to correct this.
(?<=[A-Z]{2})[АВСЕНІӀЈКМОРЅТУ]|[АВСЕНІӀЈКМОРЅТУ](?=[A-Z]+(?:\b|[a-z]+)|[a-z]+(?:[^a-z]|$))
# Homoglyph (Cyrillic) should be `a`/`b`/`c`/`e`/`o`/`p`/`x`/`y`
# It's possible that your content is intentionally mixing Cyrillic and Latin scripts, but if it isn't, you definitely want to correct this.
[авсеорху](?=[A-Za-z]{2,})|(?<=[A-Za-z]{2})[авсеорху]|(?<=[A-Za-z])[авсеорху](?=[A-Za-z])
# Should be `neither/nor` -- or reword
#(?<!do )\bnot\b([^.?!"/(](?!neither|,.*?,))+\bnor\b
# Should be `neither/nor` (plus rewording the beginning)
# This is probably a double negative...
\bnot\b[^.?!"/(]*\bneither\b[^.?!"/(]*\bnor\b
# In English, duplicated words are generally mistakes
# There are a few exceptions (e.g. "that that").
# If the highlighted doubled word pair is in:
# * code, write a pattern to mask it.
# * prose, have someone read the English before you dismiss this error.
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s
================================================
FILE: .github/actions/spell-check/patterns.txt
================================================
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
# 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.*$
# Gaelic
Gàidhlig
Ov_erwrite
# languageHashTable
"\w+(?:-\w+|)"\s+=\s+@\(".*"\)
# Regular expression with `\b`
\\b(?=[a-z]\S*\{)
# long lorem
L"Lorem.*"
# tabs in c#
\$"\\t
# Hexadecimal character pattern in code
\\x[0-9a-fA-F]{4}
fontFamily": ".*"
D[23]D(?=[A-Z][a-z])
(?<=[a-z])3D(?=[A-Z])
\.monitorId = \{ .*\}
json::value\(L"\S+"
# windows line breaks in strings
\\r\\n(?=[A-Za-z])
# power shell gallery website
\bpowershellgallery.com/[-_a-zA-Z0-9()=./%]*
# uuid: (or CompGUIDPrefix)
L?(["']|[-<({>]|\b)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{10,12}(?:\g{-1}|[<})>])
(?:L"[abAB]+", ){3}L"[abAB]+"
\. (?: @[-A-Za-z\d]+\b(?!\.[A-Z]),?)+
auto deviceId = L".*"
deviceId(?:\.id|) = L".*"
StringComparer.OrdinalIgnoreCase\) \{.*\}
# namespaces
\b[a-z]+::
"Author": ".+"
(?:Include|Link)=".*?"
# You could ignore `xmlns`, but it's probably better to enforce rules about them...
#\s(?:xmlns:[a-z]+(?:[A-Z][a-z]+|)=|[a-z]+(?:[A-Z][a-z]+):(?=[a-z]+=))
# UnitTests
\[DataRow\(.*\)\]
# AdditionalDependencies
<AdditionalDependencies>.*<
# the last line of mimetype="application/x-microsoft.net.object.bytearray.base64" things in .resx files
^\s*[-a-zA-Z=;:/0-9+]*[-a-zA-Z;:/0-9+][-a-zA-Z=;:/0-9+]*=$
# Automatically suggested patterns
# hit-count: 5402 file-count: 1339
# IServiceProvider / isAThing
(?:(?:\b|_|(?<=[a-z]))[IT]|(?:\b|_)(?:nsI|isA))(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b))
# hit-count: 2073 file-count: 842
# #includes
^\s*#include\s*(?:<.*?>|".*?")
# hit-count: 1639 file-count: 855
# C# includes
^\s*using [^;]+;
# hit-count: 1491 file-count: 693
# microsoft
\b(?:https?://|)(?:(?:(?:blogs|download\.visualstudio|docs|msdn2?|research)\.|)microsoft|blogs\.msdn)\.co(?:m|\.\w\w)/[-_a-zA-Z0-9()=./%]*
# hit-count: 398 file-count: 133
# hex digits including css/html color classes:
(?:[\\0][xX]|\\u\{?|[uU]\+|#x?|%23|&H)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b
# hit-count: 339 file-count: 146
# hex runs
\b[0-9a-fA-F]{16,}\b
# hit-count: 253 file-count: 100
# GitHub SHAs (markdown)
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)
# hit-count: 241 file-count: 37
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
# hit-count: 141 file-count: 6
# Contributor / Project
\[[^\]\s]+\]\(https://github\.com/[^)]+\)(?: -(?: [A-Z]\S+)+|)|\[[^\]]+\]\(https://github\.com/(?:[^/\s"]+/?){1,2}\)
https://github.com/(?:[-\w]+/?){1,2}
# hit-count: 131 file-count: 125
# Repeated letters
\b([a-z])\g{-1}{2,}\b
# hit-count: 99 file-count: 97
# w3
\bw3\.org/[-0-9a-zA-Z/#.]+
# hit-count: 59 file-count: 11
# Markdown anchor links
\(#\S*?[a-zA-Z]\S*?\)
# hit-count: 29 file-count: 23
# stackexchange -- https://stackexchange.com/feeds/sites
\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)
# hit-count: 24 file-count: 11
# Library prefix
# e.g., `lib`+`archive`, `lib`+`raw`, `lib`+`unwind`
# (ignores some words that happen to start with `lib`)
(?:\b|_)[Ll]ib(?:re(?=office)|)(?!era[lt]|ero|erty|rar(?:i(?:an|es)|y))(?=[a-z])
# hit-count: 20 file-count: 2
# Intel intrinsics
_mm\d*_(?!dd)\w+
# hit-count: 15 file-count: 8
# Wikipedia
\ben\.wikipedia\.org/wiki/[-\w%.#]+
# hit-count: 14 file-count: 10
# vs devops
\bvisualstudio.com(?::443|)/[-\w/?=%&.]*
# hit-count: 8 file-count: 2
# copyright
Copyright (?:\([Cc]\)|)(?:[-\d, ]|and)+(?: [A-Z][a-z]+ [A-Z][a-z]+,?)+
# hit-count: 8 file-count: 1
# css fonts
\bfont(?:-family|):[^;}]+
aka\.ms/[a-zA-Z0-9]+
# hit-count: 8 file-count: 1
# kubernetes crd patterns
^\s*pattern: .*$
# hit-count: 5 file-count: 3
# URL escaped characters
%[0-9A-F][A-F](?=[A-Za-z])
# hit-count: 3 file-count: 3
# githubusercontent
/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]*
# hit-count: 2 file-count: 2
# medium
\bmedium\.com/@?[^/\s"]+/[-\w:/*.]+
# hit-count: 2 file-count: 1
# 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?&=_%]*
# hit-count: 2 file-count: 1
# GitHub actions
\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+
# hit-count: 1 file-count: 1
# curl arguments
\b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
# hit-count: 1 file-count: 1
# tar arguments
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
# #pragma lib
^\s*#pragma comment\(lib, ".*?"\)
# UnitTests
\[DataRow\(.*\)\]
# AdditionalDependencies
<AdditionalDependencies>.*<
# the last line of mimetype="application/x-microsoft.net.object.bytearray.base64" things in .resx files
^\s*[-a-zA-Z=;:/0-9+]*[-a-zA-Z;:/0-9+][-a-zA-Z=;:/0-9+]*=$
RegExp\(@?([`'"]).*?\g{-1}\)|(?:escapes|regEx):\s*(?:/.*/|([`'"]).*?\g{-1})|return/.*?/
# 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(?:g(?=[a-z])|)|[Ss]ign)(?:ed|ing)?) in to\b
# to opt in
\bto opt in\b
# pass(ed|ing) in
\bpass(?:ed|ing) in\b
# acceptable duplicates
# ls directory listings
[-bcdlpsw](?:[-r][-w][-SsTtx]){3}[\.+*]?\s+\d+\s+\S+\s+\S+\s+[.\d]+(?:[KMGT]|)\s+
# mount
\bmount\s+-t\s+(\w+)\s+\g{-1}\b
# C types and repeated CSS values
\s(auto|buffalo|center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?:\s\g{-1})+\s
# C enum and struct
\b(?:enum|struct)\s+(\w+)\s+\g{-1}\b
# go templates
\s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml):
# doxygen / javadoc / .net
(?:[\\@](?:brief|defgroup|groupname|link|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+(?:static|override|readonly|required|virtual))*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s
# macOS file path
(?:Contents\W+|(?!iOS)/)MacOS\b
# Python package registry has incorrect spelling for macOS / Mac OS X
"Operating System :: MacOS :: MacOS X"
# "company" in Germany
\bGmbH\b
# IntelliJ
\bIntelliJ\b
# 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}\.$
# Compile flag added to Cpp.Build.props
_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b
# hit-count: 1 file-count: 1
# Amazon
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
# hit-count: 3 file-count: 3
# imgur
\bimgur\.com/[^.]+
# Process Process (typename varname)
Process Process
# ZoomIt menu items with accelerator keys
E&xit
St&yle
# This matches a relative clause where the relative pronoun "that" is omitted.
# Example: "Gets or sets the window the TitleBar should configure."
\bthe\s+\w+\s+the\b
# Usernames with numbers
# 0x6f677548 is user name but user folder causes a flag
\bx6f677548\b
# Windows API constants and hardware interface terms
\bCOINIT[_A-Z]*\b
\bEOAC[_A-Z]*\b
\b(?:RPC_C_AUTHN_)?WINNT\b
\bUPDATEREGISTRY\b
\b(?:CDS_)?UPDATEREGISTRY\b
# Display interface terms (HDMI, DVI, DisplayPort)
\b(?:HDMI|DVI|DisplayPort)(?:-\d+)?\b
# 2D Region struct names
\bDisplayConfig2?D?Region\b
# Microsoft Store URLs and product IDs
ms-windows-store://\S+
# ANSI color codes
(?:\\(?:u00|x)1[Bb]|\\03[1-7]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+)*m
================================================
FILE: .github/actions/spell-check/reject.txt
================================================
^attache$
^bellows?$
benefitting
occurences?
^dependan.*
^develope$
^developement$
^developpe
^Devers?$
^devex
^devide
^Devinn?[ae]
^devisal
^devisor
^diables?$
^oer$
Sorce
^[Ss]pae.*
^Teh$
^untill$
^untilling$
^venders?$
^wether.*
================================================
FILE: .github/copilot-instructions.md
================================================
---
description: 'PowerToys AI contributor guidance'
---
# PowerToys – Copilot Instructions
Concise guidance for AI contributions. For complete details, see [AGENTS.md](../AGENTS.md).
## Key Rules
- Atomic PRs: one logical change, no drive-by refactors
- Add tests when changing behavior
- Keep hot paths quiet (no logging in hooks/tight loops)
## Style Enforcement
- C#: `src/.editorconfig`, StyleCop.Analyzers
- C++: `src/.clang-format`
- XAML: XamlStyler
## When to Ask for Clarification
- Ambiguous spec after scanning docs
- Cross-module impact unclear
- Security, elevation, or installer changes
## Component-Specific Instructions
These are auto-applied based on file location:
- [Runner & Settings UI](.github/instructions/runner-settings-ui.instructions.md)
- [Common Libraries](.github/instructions/common-libraries.instructions.md)
## Detailed Documentation
- [Architecture](../doc/devdocs/core/architecture.md)
- [Coding Style](../doc/devdocs/development/style.md)
================================================
FILE: .github/copilot-workspace/policy.json
================================================
{
"allowPullRequests": false,
"allowComments": false
}
================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
================================================
FILE: .github/instructions/agent-skills.instructions.md
================================================
---
description: 'Guidelines for creating high-quality Agent Skills for GitHub Copilot'
applyTo: '**/.github/skills/**/SKILL.md, **/.claude/skills/**/SKILL.md'
---
# Agent Skills File Guidelines
Instructions for creating effective and portable Agent Skills that enhance GitHub Copilot with specialized capabilities, workflows, and bundled resources.
## What Are Agent Skills?
Agent Skills are self-contained folders with instructions and bundled resources that teach AI agents specialized capabilities. Unlike custom instructions (which define coding standards), skills enable task-specific workflows that can include scripts, examples, templates, and reference data.
Key characteristics:
- **Portable**: Works across VS Code, Copilot CLI, and Copilot coding agent
- **Progressive loading**: Only loaded when relevant to the user's request
- **Resource-bundled**: Can include scripts, templates, examples alongside instructions
- **On-demand**: Activated automatically based on prompt relevance
## Directory Structure
Skills are stored in specific locations:
| Location | Scope | Recommendation |
|----------|-------|----------------|
| `.github/skills/<skill-name>/` | Project/repository | Recommended for project skills |
| `.claude/skills/<skill-name>/` | Project/repository | Legacy, for backward compatibility |
| `~/.github/skills/<skill-name>/` | Personal (user-wide) | Recommended for personal skills |
| `~/.claude/skills/<skill-name>/` | Personal (user-wide) | Legacy, for backward compatibility |
Each skill **must** have its own subdirectory containing at minimum a `SKILL.md` file.
## Required SKILL.md Format
### Frontmatter (Required)
```yaml
---
name: webapp-testing
description: Toolkit for testing local web applications using Playwright. Use when asked to verify frontend functionality, debug UI behavior, capture browser screenshots, check for visual regressions, or view browser console logs. Supports Chrome, Firefox, and WebKit browsers.
license: Complete terms in LICENSE.txt
---
```
| Field | Required | Constraints |
|-------|----------|-------------|
| `name` | Yes | Lowercase, hyphens for spaces, max 64 characters (e.g., `webapp-testing`) |
| `description` | Yes | Clear description of capabilities AND use cases, max 1024 characters |
| `license` | No | Reference to LICENSE.txt (e.g., `Complete terms in LICENSE.txt`) or SPDX identifier |
### Description Best Practices
**CRITICAL**: The `description` field is the PRIMARY mechanism for automatic skill discovery. Copilot reads ONLY the `name` and `description` to decide whether to load a skill. If your description is vague, the skill will never be activated.
**What to include in description:**
1. **WHAT** the skill does (capabilities)
2. **WHEN** to use it (specific triggers, scenarios, file types, or user requests)
3. **Keywords** that users might mention in their prompts
**Good description:**
```yaml
description: Toolkit for testing local web applications using Playwright. Use when asked to verify frontend functionality, debug UI behavior, capture browser screenshots, check for visual regressions, or view browser console logs. Supports Chrome, Firefox, and WebKit browsers.
```
**Poor description:**
```yaml
description: Web testing helpers
```
The poor description fails because:
- No specific triggers (when should Copilot load this?)
- No keywords (what user prompts would match?)
- No capabilities (what can it actually do?)
### Body Content
The body contains detailed instructions that Copilot loads AFTER the skill is activated. Recommended sections:
| Section | Purpose |
|---------|---------|
| `# Title` | Brief overview of what this skill enables |
| `## When to Use This Skill` | List of scenarios (reinforces description triggers) |
| `## Prerequisites` | Required tools, dependencies, environment setup |
| `## Step-by-Step Workflows` | Numbered steps for common tasks |
| `## Troubleshooting` | Common issues and solutions table |
| `## References` | Links to bundled docs or external resources |
## Bundling Resources
Skills can include additional files that Copilot accesses on-demand:
### Supported Resource Types
| Folder | Purpose | Loaded into Context? | Example Files |
|--------|---------|---------------------|---------------|
| `scripts/` | Executable automation that performs specific operations | When executed | `helper.py`, `validate.sh`, `build.ts` |
| `references/` | Documentation the AI agent reads to inform decisions | Yes, when referenced | `api_reference.md`, `schema.md`, `workflow_guide.md` |
| `assets/` | **Static files used AS-IS** in output (not modified by the AI agent) | No | `logo.png`, `brand-template.pptx`, `custom-font.ttf` |
| `templates/` | **Starter code/scaffolds that the AI agent MODIFIES** and builds upon | Yes, when referenced | `viewer.html` (insert algorithm), `hello-world/` (extend) |
### Directory Structure Example
```
.github/skills/my-skill/
├── SKILL.md # Required: Main instructions
├── LICENSE.txt # Recommended: License terms (Apache 2.0 typical)
├── scripts/ # Optional: Executable automation
│ ├── helper.py # Python script
│ └── helper.ps1 # PowerShell script
├── references/ # Optional: Documentation loaded into context
│ ├── api_reference.md
│ ├── step1-setup.md # Detailed workflow (>3 steps)
│ └── step2-deployment.md
├── assets/ # Optional: Static files used AS-IS in output
│ ├── baseline.png # Reference image for comparison
│ └── report-template.html
└── templates/ # Optional: Starter code the AI agent modifies
├── scaffold.py # Code scaffold the AI agent customizes
└── config.template # Config template the AI agent fills in
```
> **LICENSE.txt**: When creating a skill, download the Apache 2.0 license text from https://www.apache.org/licenses/LICENSE-2.0.txt and save as `LICENSE.txt`. Update the copyright year and owner in the appendix section.
### Assets vs Templates: Key Distinction
**Assets** are static resources **consumed unchanged** in the output:
- A `logo.png` that gets embedded into a generated document
- A `report-template.html` copied as output format
- A `custom-font.ttf` applied to text rendering
**Templates** are starter code/scaffolds that **the AI agent actively modifies**:
- A `scaffold.py` where the AI agent inserts logic
- A `config.template` where the AI agent fills in values based on user requirements
- A `hello-world/` project directory that the AI agent extends with new features
**Rule of thumb**: If the AI agent reads and builds upon the file content → `templates/`. If the file is used as-is in output → `assets/`.
### Referencing Resources in SKILL.md
Use relative paths to reference files within the skill directory:
```markdown
## Available Scripts
Run the [helper script](./scripts/helper.py) to automate common tasks.
See [API reference](./references/api_reference.md) for detailed documentation.
Use the [scaffold](./templates/scaffold.py) as a starting point.
```
## Progressive Loading Architecture
Skills use three-level loading for efficiency:
| Level | What Loads | When |
|-------|------------|------|
| 1. Discovery | `name` and `description` only | Always (lightweight metadata) |
| 2. Instructions | Full `SKILL.md` body | When request matches description |
| 3. Resources | Scripts, examples, docs | Only when Copilot references them |
This means:
- Install many skills without consuming context
- Only relevant content loads per task
- Resources don't load until explicitly needed
## Content Guidelines
### Writing Style
- Use imperative mood: "Run", "Create", "Configure" (not "You should run")
- Be specific and actionable
- Include exact commands with parameters
- Show expected outputs where helpful
- Keep sections focused and scannable
### Script Requirements
When including scripts, prefer cross-platform languages:
| Language | Use Case |
|----------|----------|
| Python | Complex automation, data processing |
| pwsh | PowerShell Core scripting |
| Node.js | JavaScript-based tooling |
| Bash/Shell | Simple automation tasks |
Best practices:
- Include help/usage documentation (`--help` flag)
- Handle errors gracefully with clear messages
- Avoid storing credentials or secrets
- Use relative paths where possible
### When to Bundle Scripts
Include scripts in your skill when:
- The same code would be rewritten repeatedly by the agent
- Deterministic reliability is critical (e.g., file manipulation, API calls)
- Complex logic benefits from being pre-tested rather than generated each time
- The operation has a self-contained purpose that can evolve independently
- Testability matters — scripts can be unit tested and validated
- Predictable behavior is preferred over dynamic generation
Scripts enable evolution: even simple operations benefit from being implemented as scripts when they may grow in complexity, need consistent behavior across invocations, or require future extensibility.
### Security Considerations
- Scripts rely on existing credential helpers (no credential storage)
- Include `--force` flags only for destructive operations
- Warn users before irreversible actions
- Document any network operations or external calls
## Common Patterns
### Parameter Table Pattern
Document parameters clearly:
```markdown
| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `--input` | Yes | - | Input file or URL to process |
| `--action` | Yes | - | Action to perform |
| `--verbose` | No | `false` | Enable verbose output |
```
## Validation Checklist
Before publishing a skill:
- [ ] `SKILL.md` has valid frontmatter with `name` and `description`
- [ ] `name` is lowercase with hyphens, ≤64 characters
- [ ] `description` clearly states **WHAT** it does, **WHEN** to use it, and relevant **KEYWORDS**
- [ ] Body includes when to use, prerequisites, and step-by-step workflows
- [ ] SKILL.md body kept under 500 lines (split large content into `references/` folder)
- [ ] Large workflows (>5 steps) split into `references/` folder with clear links from SKILL.md
- [ ] Scripts include help documentation and error handling
- [ ] Relative paths used for all resource references
- [ ] No hardcoded credentials or secrets
## Workflow Execution Pattern
When executing multi-step workflows, create a TODO list where each step references the relevant documentation:
```markdown
## TODO
- [ ] Step 1: Configure environment - see [workflow-setup.md](./references/workflow-setup.md#environment)
- [ ] Step 2: Build project - see [workflow-setup.md](./references/workflow-setup.md#build)
- [ ] Step 3: Deploy to staging - see [workflow-deployment.md](./references/workflow-deployment.md#staging)
- [ ] Step 4: Run validation - see [workflow-deployment.md](./references/workflow-deployment.md#validation)
- [ ] Step 5: Deploy to production - see [workflow-deployment.md](./references/workflow-deployment.md#production)
```
This ensures traceability and allows resuming workflows if interrupted.
## Related Resources
- [Agent Skills Specification](https://agentskills.io/)
- [VS Code Agent Skills Documentation](https://code.visualstudio.com/docs/copilot/customization/agent-skills)
- [Reference Skills Repository](https://github.com/anthropics/skills)
- [Awesome Copilot Skills](https://github.com/github/awesome-copilot/blob/main/docs/README.skills.md)
================================================
FILE: .github/instructions/agents.instructions.md
================================================
---
description: 'Guidelines for creating custom agent files for GitHub Copilot'
applyTo: '**/*.agent.md'
---
# Custom Agent File Guidelines
Instructions for creating effective and maintainable custom agent files that provide specialized expertise for specific development tasks in GitHub Copilot.
## Project Context
- Target audience: Developers creating custom agents for GitHub Copilot
- File format: Markdown with YAML frontmatter
- File naming convention: lowercase with hyphens (e.g., `test-specialist.agent.md`)
- Location: `.github/agents/` directory (repository-level) or `agents/` directory (organization/enterprise-level)
- Purpose: Define specialized agents with tailored expertise, tools, and instructions for specific tasks
- Official documentation: https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents
## Required Frontmatter
Every agent file must include YAML frontmatter with the following fields:
```yaml
---
description: 'Brief description of the agent purpose and capabilities'
name: 'Agent Display Name'
tools: ['read', 'edit', 'search']
model: 'Claude Sonnet 4.5'
target: 'vscode'
infer: true
---
```
### Core Frontmatter Properties
#### **description** (REQUIRED)
- Single-quoted string, clearly stating the agent's purpose and domain expertise
- Should be concise (50-150 characters) and actionable
- Example: `'Focuses on test coverage, quality, and testing best practices'`
#### **name** (OPTIONAL)
- Display name for the agent in the UI
- If omitted, defaults to filename (without `.md` or `.agent.md`)
- Use title case and be descriptive
- Example: `'Testing Specialist'`
#### **tools** (OPTIONAL)
- List of tool names or aliases the agent can use
- Supports comma-separated string or YAML array format
- If omitted, agent has access to all available tools
- See "Tool Configuration" section below for details
#### **model** (STRONGLY RECOMMENDED)
- Specifies which AI model the agent should use
- Supported in VS Code, JetBrains IDEs, Eclipse, and Xcode
- Example: `'Claude Sonnet 4.5'`, `'gpt-4'`, `'gpt-4o'`
- Choose based on agent complexity and required capabilities
#### **target** (OPTIONAL)
- Specifies target environment: `'vscode'` or `'github-copilot'`
- If omitted, agent is available in both environments
- Use when agent has environment-specific features
#### **infer** (OPTIONAL)
- Boolean controlling whether Copilot can automatically use this agent based on context
- Default: `true` if omitted
- Set to `false` to require manual agent selection
#### **metadata** (OPTIONAL, GitHub.com only)
- Object with name-value pairs for agent annotation
- Example: `metadata: { category: 'testing', version: '1.0' }`
- Not supported in VS Code
#### **mcp-servers** (OPTIONAL, Organization/Enterprise only)
- Configure MCP servers available only to this agent
- Only supported for organization/enterprise level agents
- See "MCP Server Configuration" section below
## Tool Configuration
### Tool Specification Strategies
**Enable all tools** (default):
```yaml
# Omit tools property entirely, or use:
tools: ['*']
```
**Enable specific tools**:
```yaml
tools: ['read', 'edit', 'search', 'execute']
```
**Enable MCP server tools**:
```yaml
tools: ['read', 'edit', 'github/*', 'playwright/navigate']
```
**Disable all tools**:
```yaml
tools: []
```
### Standard Tool Aliases
All aliases are case-insensitive:
| Alias | Alternative Names | Category | Description |
|-------|------------------|----------|-------------|
| `execute` | shell, Bash, powershell | Shell execution | Execute commands in appropriate shell |
| `read` | Read, NotebookRead, view | File reading | Read file contents |
| `edit` | Edit, MultiEdit, Write, NotebookEdit | File editing | Edit and modify files |
| `search` | Grep, Glob, search | Code search | Search for files or text in files |
| `agent` | custom-agent, Task | Agent invocation | Invoke other custom agents |
| `web` | WebSearch, WebFetch | Web access | Fetch web content and search |
| `todo` | TodoWrite | Task management | Create and manage task lists (VS Code only) |
### Built-in MCP Server Tools
**GitHub MCP Server**:
```yaml
tools: ['github/*'] # All GitHub tools
tools: ['github/get_file_contents', 'github/search_repositories'] # Specific tools
```
- All read-only tools available by default
- Token scoped to source repository
**Playwright MCP Server**:
```yaml
tools: ['playwright/*'] # All Playwright tools
tools: ['playwright/navigate', 'playwright/screenshot'] # Specific tools
```
- Configured to access localhost only
- Useful for browser automation and testing
### Tool Selection Best Practices
- **Principle of Least Privilege**: Only enable tools necessary for the agent's purpose
- **Security**: Limit `execute` access unless explicitly required
- **Focus**: Fewer tools = clearer agent purpose and better performance
- **Documentation**: Comment why specific tools are required for complex configurations
## Sub-Agent Invocation (Agent Orchestration)
Agents can invoke other agents using `runSubagent` to orchestrate multi-step workflows.
### How It Works
Include `agent` in tools list to enable sub-agent invocation:
```yaml
tools: ['read', 'edit', 'search', 'agent']
```
Then invoke other agents with `runSubagent`:
```javascript
const result = await runSubagent({
description: 'What this step does',
prompt: `You are the [Specialist] specialist.
Context:
- Parameter: ${parameterValue}
- Input: ${inputPath}
- Output: ${outputPath}
Task:
1. Do the specific work
2. Write results to output location
3. Return summary of completion`
});
```
### Basic Pattern
Structure each sub-agent call with:
1. **description**: Clear one-line purpose of the sub-agent invocation
2. **prompt**: Detailed instructions with substituted variables
The prompt should include:
- Who the sub-agent is (specialist role)
- What context it needs (parameters, paths)
- What to do (concrete tasks)
- Where to write output
- What to return (summary)
### Example: Multi-Step Processing
```javascript
// Step 1: Process data
const processing = await runSubagent({
description: 'Transform raw input data',
prompt: `You are the Data Processor specialist.
Project: ${projectName}
Input: ${basePath}/raw/
Output: ${basePath}/processed/
Task:
1. Read all files from input directory
2. Apply transformations
3. Write processed files to output
4. Create summary: ${basePath}/processed/summary.md
Return: Number of files processed and any issues found`
});
// Step 2: Analyze (depends on Step 1)
const analysis = await runSubagent({
description: 'Analyze processed data',
prompt: `You are the Data Analyst specialist.
Project: ${projectName}
Input: ${basePath}/processed/
Output: ${basePath}/analysis/
Task:
1. Read processed files from input
2. Generate analysis report
3. Write to: ${basePath}/analysis/report.md
Return: Key findings and identified patterns`
});
```
### Key Points
- **Pass variables in prompts**: Use `${variableName}` for all dynamic values
- **Keep prompts focused**: Clear, specific tasks for each sub-agent
- **Return summaries**: Each sub-agent should report what it accomplished
- **Sequential execution**: Use `await` to maintain order when steps depend on each other
- **Error handling**: Check results before proceeding to dependent steps
### ⚠️ Tool Availability Requirement
**Critical**: If a sub-agent requires specific tools (e.g., `edit`, `execute`, `search`), the orchestrator must include those tools in its own `tools` list. Sub-agents cannot access tools that aren't available to their parent orchestrator.
**Example**:
```yaml
# If your sub-agents need to edit files, execute commands, or search code
tools: ['read', 'edit', 'search', 'execute', 'agent']
```
The orchestrator's tool permissions act as a ceiling for all invoked sub-agents. Plan your tool list carefully to ensure all sub-agents have the tools they need.
### ⚠️ Important Limitation
**Sub-agent orchestration is NOT suitable for large-scale data processing.** Avoid using `runSubagent` when:
- Processing hundreds or thousands of files
- Handling large datasets
- Performing bulk transformations on big codebases
- Orchestrating more than 5-10 sequential steps
Each sub-agent call adds latency and context overhead. For high-volume processing, implement logic directly in a single agent instead. Use orchestration only for coordinating specialized tasks on focused, manageable datasets.
## Agent Prompt Structure
The markdown content below the frontmatter defines the agent's behavior, expertise, and instructions. Well-structured prompts typically include:
1. **Agent Identity and Role**: Who the agent is and its primary role
2. **Core Responsibilities**: What specific tasks the agent performs
3. **Approach and Methodology**: How the agent works to accomplish tasks
4. **Guidelines and Constraints**: What to do/avoid and quality standards
5. **Output Expectations**: Expected output format and quality
### Prompt Writing Best Practices
- **Be Specific and Direct**: Use imperative mood ("Analyze", "Generate"); avoid vague terms
- **Define Boundaries**: Clearly state scope limits and constraints
- **Include Context**: Explain domain expertise and reference relevant frameworks
- **Focus on Behavior**: Describe how the agent should think and work
- **Use Structured Format**: Headers, bullets, and lists make prompts scannable
## Variable Definition and Extraction
Agents can define dynamic parameters to extract values from user input and use them throughout the agent's behavior and sub-agent communications. This enables flexible, context-aware agents that adapt to user-provided data.
### When to Use Variables
**Use variables when**:
- Agent behavior depends on user input
- Need to pass dynamic values to sub-agents
- Want to make agents reusable across different contexts
- Require parameterized workflows
- Need to track or reference user-provided context
**Examples**:
- Extract project name from user prompt
- Capture certification name for pipeline processing
- Identify file paths or directories
- Extract configuration options
- Parse feature names or module identifiers
### Variable Declaration Pattern
Define variables section early in the agent prompt to document expected parameters:
```markdown
# Agent Name
## Dynamic Parameters
- **Parameter Name**: Description and usage
- **Another Parameter**: How it's extracted and used
## Your Mission
Process [PARAMETER_NAME] to accomplish [task].
```
### Variable Extraction Methods
#### 1. **Explicit User Input**
Ask the user to provide the variable if not detected in the prompt:
```markdown
## Your Mission
Process the project by analyzing your codebase.
### Step 1: Identify Project
If no project name is provided, **ASK THE USER** for:
- Project name or identifier
- Base path or directory location
- Configuration type (if applicable)
Use this information to contextualize all subsequent tasks.
```
#### 2. **Implicit Extraction from Prompt**
Automatically extract variables from the user's natural language input:
```javascript
// Example: Extract certification name from user input
const userInput = "Process My Certification";
// Extract key information
const certificationName = extractCertificationName(userInput);
// Result: "My Certification"
const basePath = `certifications/${certificationName}`;
// Result: "certifications/My Certification"
```
#### 3. **Contextual Variable Resolution**
Use file context or workspace information to derive variables:
```markdown
## Variable Resolution Strategy
1. **From User Prompt**: First, look for explicit mentions in user input
2. **From File Context**: Check current file name or path
3. **From Workspace**: Use workspace folder or active project
4. **From Settings**: Reference configuration files
5. **Ask User**: If all else fails, request missing information
```
### Using Variables in Agent Prompts
#### Variable Substitution in Instructions
Use template variables in agent prompts to make them dynamic:
```markdown
# Agent Name
## Dynamic Parameters
- **Project Name**: ${projectName}
- **Base Path**: ${basePath}
- **Output Directory**: ${outputDir}
## Your Mission
Process the **${projectName}** project located at `${basePath}`.
## Process Steps
1. Read input from: `${basePath}/input/`
2. Process files according to project configuration
3. Write results to: `${outputDir}/`
4. Generate summary report
## Quality Standards
- Maintain project-specific coding standards for **${projectName}**
- Follow directory structure: `${basePath}/[structure]`
```
#### Passing Variables to Sub-Agents
When invoking a sub-agent, pass all context through template variables in the prompt:
```javascript
// Extract and prepare variables
const basePath = `projects/${projectName}`;
const inputPath = `${basePath}/src/`;
const outputPath = `${basePath}/docs/`;
// Pass to sub-agent with all variables substituted
const result = await runSubagent({
description: 'Generate project documentation',
prompt: `You are the Documentation specialist.
Project: ${projectName}
Input: ${inputPath}
Output: ${outputPath}
Task:
1. Read source files from ${inputPath}
2. Generate comprehensive documentation
3. Write to ${outputPath}/index.md
4. Include code examples and usage guides
Return: Summary of documentation generated (file count, word count)`
});
```
The sub-agent receives all necessary context embedded in the prompt. Variables are resolved before sending the prompt, so the sub-agent works with concrete paths and values, not variable placeholders.
### Real-World Example: Code Review Orchestrator
Example of a simple orchestrator that validates code through multiple specialized agents:
```javascript
async function reviewCodePipeline(repositoryName, prNumber) {
const basePath = `projects/${repositoryName}/pr-${prNumber}`;
// Step 1: Security Review
const security = await runSubagent({
description: 'Scan for security vulnerabilities',
prompt: `You are the Security Reviewer specialist.
Repository: ${repositoryName}
PR: ${prNumber}
Code: ${basePath}/changes/
Task:
1. Scan code for OWASP Top 10 vulnerabilities
2. Check for injection attacks, auth flaws
3. Write findings to ${basePath}/security-review.md
Return: List of critical, high, and medium issues found`
});
// Step 2: Test Coverage Check
const coverage = await runSubagent({
description: 'Verify test coverage for changes',
prompt: `You are the Test Coverage specialist.
Repository: ${repositoryName}
PR: ${prNumber}
Changes: ${basePath}/changes/
Task:
1. Analyze code coverage for modified files
2. Identify untested critical paths
3. Write report to ${basePath}/coverage-report.md
Return: Current coverage percentage and gaps`
});
// Step 3: Aggregate Results
const finalReport = await runSubagent({
description: 'Compile all review findings',
prompt: `You are the Review Aggregator specialist.
Repository: ${repositoryName}
Reports: ${basePath}/*.md
Task:
1. Read all review reports from ${basePath}/
2. Synthesize findings into single report
3. Determine overall verdict (APPROVE/NEEDS_FIXES/BLOCK)
4. Write to ${basePath}/final-review.md
Return: Final verdict and executive summary`
});
return finalReport;
}
```
This pattern applies to any orchestration scenario: extract variables, call sub-agents with clear context, await results.
### Variable Best Practices
#### 1. **Clear Documentation**
Always document what variables are expected:
```markdown
## Required Variables
- **projectName**: The name of the project (string, required)
- **basePath**: Root directory for project files (path, required)
## Optional Variables
- **mode**: Processing mode - quick/standard/detailed (enum, default: standard)
- **outputFormat**: Output format - markdown/json/html (enum, default: markdown)
## Derived Variables
- **outputDir**: Automatically set to ${basePath}/output
- **logFile**: Automatically set to ${basePath}/.log.md
```
#### 2. **Consistent Naming**
Use consistent variable naming conventions:
```javascript
// Good: Clear, descriptive naming
const variables = {
projectName, // What project to work on
basePath, // Where project files are located
outputDirectory, // Where to save results
processingMode, // How to process (detail level)
configurationPath // Where config files are
};
// Avoid: Ambiguous or inconsistent
const bad_variables = {
name, // Too generic
path, // Unclear which path
mode, // Too short
config // Too vague
};
```
#### 3. **Validation and Constraints**
Document valid values and constraints:
```markdown
## Variable Constraints
**projectName**:
- Type: string (alphanumeric, hyphens, underscores allowed)
- Length: 1-100 characters
- Required: yes
- Pattern: `/^[a-zA-Z0-9_-]+$/`
**processingMode**:
- Type: enum
- Valid values: "quick" (< 5min), "standard" (5-15min), "detailed" (15+ min)
- Default: "standard"
- Required: no
```
## MCP Server Configuration (Organization/Enterprise Only)
MCP servers extend agent capabilities with additional tools. Only supported for organization and enterprise-level agents.
### Configuration Format
```yaml
---
name: my-custom-agent
description: 'Agent with MCP integration'
tools: ['read', 'edit', 'custom-mcp/tool-1']
mcp-servers:
custom-mcp:
type: 'local'
command: 'some-command'
args: ['--arg1', '--arg2']
tools: ["*"]
env:
ENV_VAR_NAME: ${{ secrets.API_KEY }}
---
```
### MCP Server Properties
- **type**: Server type (`'local'` or `'stdio'`)
- **command**: Command to start the MCP server
- **args**: Array of command arguments
- **tools**: Tools to enable from this server (`["*"]` for all)
- **env**: Environment variables (supports secrets)
### Environment Variables and Secrets
Secrets must be configured in repository settings under "copilot" environment.
**Supported syntax**:
```yaml
env:
# Environment variable only
VAR_NAME: COPILOT_MCP_ENV_VAR_VALUE
# Variable with header
VAR_NAME: $COPILOT_MCP_ENV_VAR_VALUE
VAR_NAME: ${COPILOT_MCP_ENV_VAR_VALUE}
# GitHub Actions-style (YAML only)
VAR_NAME: ${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }}
VAR_NAME: ${{ var.COPILOT_MCP_ENV_VAR_VALUE }}
```
## File Organization and Naming
### Repository-Level Agents
- Location: `.github/agents/`
- Scope: Available only in the specific repository
- Access: Uses repository-configured MCP servers
### Organization/Enterprise-Level Agents
- Location: `.github-private/agents/` (then move to `agents/` root)
- Scope: Available across all repositories in org/enterprise
- Access: Can configure dedicated MCP servers
### Naming Conventions
- Use lowercase with hyphens: `test-specialist.agent.md`
- Name should reflect agent purpose
- Filename becomes default agent name (if `name` not specified)
- Allowed characters: `.`, `-`, `_`, `a-z`, `A-Z`, `0-9`
## Agent Processing and Behavior
### Versioning
- Based on Git commit SHAs for the agent file
- Create branches/tags for different agent versions
- Instantiated using latest version for repository/branch
- PR interactions use same agent version for consistency
### Name Conflicts
Priority (highest to lowest):
1. Repository-level agent
2. Organization-level agent
3. Enterprise-level agent
Lower-level configurations override higher-level ones with the same name.
### Tool Processing
- `tools` list filters available tools (built-in and MCP)
- No tools specified = all tools enabled
- Empty list (`[]`) = all tools disabled
- Specific list = only those tools enabled
- Unrecognized tool names are ignored (allows environment-specific tools)
### MCP Server Processing Order
1. Out-of-the-box MCP servers (e.g., GitHub MCP)
2. Custom agent MCP configuration (org/enterprise only)
3. Repository-level MCP configurations
Each level can override settings from previous levels.
## Agent Creation Checklist
### Frontmatter
- [ ] `description` field present and descriptive (50-150 chars)
- [ ] `description` wrapped in single quotes
- [ ] `name` specified (optional but recommended)
- [ ] `tools` configured appropriately (or intentionally omitted)
- [ ] `model` specified for optimal performance
- [ ] `target` set if environment-specific
- [ ] `infer` set to `false` if manual selection required
### Prompt Content
- [ ] Clear agent identity and role defined
- [ ] Core responsibilities listed explicitly
- [ ] Approach and methodology explained
- [ ] Guidelines and constraints specified
- [ ] Output expectations documented
- [ ] Examples provided where helpful
- [ ] Instructions are specific and actionable
- [ ] Scope and boundaries clearly defined
- [ ] Total content under 30,000 characters
### File Structure
- [ ] Filename follows lowercase-with-hyphens convention
- [ ] File placed in correct directory (`.github/agents/` or `agents/`)
- [ ] Filename uses only allowed characters
- [ ] File extension is `.agent.md`
### Quality Assurance
- [ ] Agent purpose is unique and not duplicative
- [ ] Tools are minimal and necessary
- [ ] Instructions are clear and unambiguous
- [ ] Agent has been tested with representative tasks
- [ ] Documentation references are current
- [ ] Security considerations addressed (if applicable)
## Common Agent Patterns
### Testing Specialist
**Purpose**: Focus on test coverage and quality
**Tools**: All tools (for comprehensive test creation)
**Approach**: Analyze, identify gaps, write tests, avoid production code changes
### Implementation Planner
**Purpose**: Create detailed technical plans and specifications
**Tools**: Limited to `['read', 'search', 'edit']`
**Approach**: Analyze requirements, create documentation, avoid implementation
### Code Reviewer
**Purpose**: Review code quality and provide feedback
**Tools**: `['read', 'search']` only
**Approach**: Analyze, suggest improvements, no direct modifications
### Refactoring Specialist
**Purpose**: Improve code structure and maintainability
**Tools**: `['read', 'search', 'edit']`
**Approach**: Analyze patterns, propose refactorings, implement safely
### Security Auditor
**Purpose**: Identify security issues and vulnerabilities
**Tools**: `['read', 'search', 'web']`
**Approach**: Scan code, check against OWASP, report findings
## Common Mistakes to Avoid
### Frontmatter Errors
- ❌ Missing `description` field
- ❌ Description not wrapped in quotes
- ❌ Invalid tool names without checking documentation
- ❌ Incorrect YAML syntax (indentation, quotes)
### Tool Configuration Issues
- ❌ Granting excessive tool access unnecessarily
- ❌ Missing required tools for agent's purpose
- ❌ Not using tool aliases consistently
- ❌ Forgetting MCP server namespace (`server-name/tool`)
### Prompt Content Problems
- ❌ Vague, ambiguous instructions
- ❌ Conflicting or contradictory guidelines
- ❌ Lack of clear scope definition
- ❌ Missing output expectations
- ❌ Overly verbose instructions (exceeding character limits)
- ❌ No examples or context for complex tasks
### Organizational Issues
- ❌ Filename doesn't reflect agent purpose
- ❌ Wrong directory (confusing repo vs org level)
- ❌ Using spaces or special characters in filename
- ❌ Duplicate agent names causing conflicts
## Testing and Validation
### Manual Testing
1. Create the agent file with proper frontmatter
2. Reload VS Code or refresh GitHub.com
3. Select the agent from the dropdown in Copilot Chat
4. Test with representative user queries
5. Verify tool access works as expected
6. Confirm output meets expectations
### Integration Testing
- Test agent with different file types in scope
- Verify MCP server connectivity (if configured)
- Check agent behavior with missing context
- Test error handling and edge cases
- Validate agent switching and handoffs
### Quality Checks
- Run through agent creation checklist
- Review against common mistakes list
- Compare with example agents in repository
- Get peer review for complex agents
- Document any special configuration needs
## Additional Resources
### Official Documentation
- [Creating Custom Agents](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/create-custom-agents)
- [Custom Agents Configuration](https://docs.github.com/en/copilot/reference/custom-agents-configuration)
- [Custom Agents in VS Code](https://code.visualstudio.com/docs/copilot/customization/custom-agents)
- [MCP Integration](https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/extend-coding-agent-with-mcp)
### Community Resources
- [Awesome Copilot Agents Collection](https://github.com/github/awesome-copilot/tree/main/agents)
- [Customization Library Examples](https://docs.github.com/en/copilot/tutorials/customization-library/custom-agents)
- [Your First Custom Agent Tutorial](https://docs.github.com/en/copilot/tutorials/customization-library/custom-agents/your-first-custom-agent)
### Related Files
- [Prompt Files Guidelines](./prompt.instructions.md) - For creating prompt files
- [Instructions Guidelines](./instructions.instructions.md) - For creating instruction files
## Version Compatibility Notes
### GitHub.com (Coding Agent)
- ✅ Fully supports all standard frontmatter properties
- ✅ Repository and org/enterprise level agents
- ✅ MCP server configuration (org/enterprise)
- ❌ Does not support `model`, `argument-hint`, `handoffs` properties
### VS Code / JetBrains / Eclipse / Xcode
- ✅ Supports `model` property for AI model selection
- ✅ Supports `argument-hint` and `handoffs` properties
- ✅ User profile and workspace-level agents
- ❌ Cannot configure MCP servers at repository level
- ⚠️ Some properties may behave differently
When creating agents for multiple environments, focus on common properties and test in all target environments. Use `target` property to create environment-specific agents when necessary.
================================================
FILE: .github/instructions/azure-devops-pipelines.instructions.md
================================================
---
description: 'Best practices for Azure DevOps Pipeline YAML files'
applyTo: '**/azure-pipelines.yml, **/azure-pipelines*.yml, **/*.pipeline.yml'
---
# Azure DevOps Pipeline YAML Best Practices
Guidelines for creating maintainable, secure, and efficient Azure DevOps pipelines in PowerToys.
## General Guidelines
- Use YAML syntax consistently with proper indentation (2 spaces)
- Always include meaningful names and display names for pipelines, stages, jobs, and steps
- Implement proper error handling and conditional execution
- Use variables and parameters to make pipelines reusable and maintainable
- Follow the principle of least privilege for service connections and permissions
- Include comprehensive logging and diagnostics for troubleshooting
## Pipeline Structure
- Organize complex pipelines using stages for better visualization and control
- Use jobs to group related steps and enable parallel execution when possible
- Implement proper dependencies between stages and jobs
- Use templates for reusable pipeline components
- Keep pipeline files focused and modular - split large pipelines into multiple files
## Build Best Practices
- Use specific agent pool versions and VM images for consistency
- Cache dependencies (npm, NuGet, Maven, etc.) to improve build performance
- Implement proper artifact management with meaningful names and retention policies
- Use build variables for version numbers and build metadata
- Include code quality gates (lint checks, testing, security scans)
- Ensure builds are reproducible and environment-independent
## Testing Integration
- Run unit tests as part of the build process
- Publish test results in standard formats (JUnit, VSTest, etc.)
- Include code coverage reporting and quality gates
- Implement integration and end-to-end tests in appropriate stages
- Use test impact analysis when available to optimize test execution
- Fail fast on test failures to provide quick feedback
## Security Considerations
- Use Azure Key Vault for sensitive configuration and secrets
- Implement proper secret management with variable groups
- Use service connections with minimal required permissions
- Enable security scans (dependency vulnerabilities, static analysis)
- Implement approval gates for production deployments
- Use managed identities when possible instead of service principals
## Deployment Strategies
- Implement proper environment promotion (dev → staging → production)
- Use deployment jobs with proper environment targeting
- Implement blue-green or canary deployment strategies when appropriate
- Include rollback mechanisms and health checks
- Use infrastructure as code (ARM, Bicep, Terraform) for consistent deployments
- Implement proper configuration management per environment
## Variable and Parameter Management
- Use variable groups for shared configuration across pipelines
- Implement runtime parameters for flexible pipeline execution
- Use conditional variables based on branches or environments
- Secure sensitive variables and mark them as secrets
- Document variable purposes and expected values
- Use variable templates for complex variable logic
## Performance Optimization
- Use parallel jobs and matrix strategies when appropriate
- Implement proper caching strategies for dependencies and build outputs
- Use shallow clone for Git operations when full history isn't needed
- Optimize Docker image builds with multi-stage builds and layer caching
- Monitor pipeline performance and optimize bottlenecks
- Use pipeline resource triggers efficiently
## Monitoring and Observability
- Include comprehensive logging throughout the pipeline
- Use Azure Monitor and Application Insights for deployment tracking
- Implement proper notification strategies for failures and successes
- Include deployment health checks and automated rollback triggers
- Use pipeline analytics to identify improvement opportunities
- Document pipeline behavior and troubleshooting steps
## Template and Reusability
- Create pipeline templates for common patterns
- Use extends templates for complete pipeline inheritance
- Implement step templates for reusable task sequences
- Use variable templates for complex variable logic
- Version templates appropriately for stability
- Document template parameters and usage examples
## Branch and Trigger Strategy
- Implement appropriate triggers for different branch types
- Use path filters to trigger builds only when relevant files change
- Configure proper CI/CD triggers for main/master branches
- Use pull request triggers for code validation
- Implement scheduled triggers for maintenance tasks
- Consider resource triggers for multi-repository scenarios
## Example Structure
```yaml
# azure-pipelines.yml
trigger:
branches:
include:
- main
- develop
paths:
exclude:
- docs/*
- README.md
variables:
- group: shared-variables
- name: buildConfiguration
value: 'Release'
stages:
- stage: Build
displayName: 'Build and Test'
jobs:
- job: Build
displayName: 'Build Application'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UseDotNet@2
displayName: 'Use .NET SDK'
inputs:
version: '8.x'
- task: DotNetCoreCLI@2
displayName: 'Restore dependencies'
inputs:
command: 'restore'
projects: '**/*.csproj'
- task: DotNetCoreCLI@2
displayName: 'Build application'
inputs:
command: 'build'
projects: '**/*.csproj'
arguments: '--configuration $(buildConfiguration) --no-restore'
- stage: Deploy
displayName: 'Deploy to Staging'
dependsOn: Build
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
jobs:
- deployment: DeployToStaging
displayName: 'Deploy to Staging Environment'
environment: 'staging'
strategy:
runOnce:
deploy:
steps:
- download: current
displayName: 'Download drop artifact'
artifact: drop
- task: AzureWebApp@1
displayName: 'Deploy to Azure Web App'
inputs:
azureSubscription: 'staging-service-connection'
appType: 'webApp'
appName: 'myapp-staging'
package: '$(Pipeline.Workspace)/drop/**/*.zip'
```
## Common Anti-Patterns to Avoid
- Hardcoding sensitive values directly in YAML files
- Using overly broad triggers that cause unnecessary builds
- Mixing build and deployment logic in a single stage
- Not implementing proper error handling and cleanup
- Using deprecated task versions without upgrade plans
- Creating monolithic pipelines that are difficult to maintain
- Not using proper naming conventions for clarity
- Ignoring pipeline security best practices
================================================
FILE: .github/instructions/common-libraries.instructions.md
================================================
---
description: 'Guidelines for shared libraries including logging, IPC, settings, DPI, telemetry, and utilities consumed by multiple modules'
applyTo: 'src/common/**'
---
# Common Libraries – Shared Code Guidance
Guidelines for modifying shared code in `src/common/`. Changes here can have wide-reaching impact across the entire PowerToys codebase.
## Scope
- Logging infrastructure (`src/common/logger/`)
- IPC primitives and named pipe utilities
- Settings serialization and management
- DPI awareness and scaling utilities
- Telemetry helpers
- General utilities (JSON parsing, string helpers, etc.)
## Guidelines
### API Stability
- Avoid breaking public headers/APIs; if changed, search & update all callers
- Coordinate ABI-impacting struct/class layout changes; keep binary compatibility
- When modifying public interfaces, grep the entire codebase for usages
### Performance
- Watch perf in hot paths (hooks, timers, serialization)
- Avoid avoidable allocations in frequently called code
- Profile changes that touch performance-sensitive areas
### Dependencies
- Ask before adding third-party deps or changing serialization formats
- New dependencies must be MIT-licensed or approved by PM team
- Add any new external packages to `NOTICE.md`
### Logging
- C++ logging uses spdlog (`Logger::info`, `Logger::warn`, `Logger::error`, `Logger::debug`)
- Initialize with `init_logger()` early in startup
- Keep hot paths quiet – no logging in tight loops or hooks
## Acceptance Criteria
- No unintended ABI breaks
- No noisy logs in hot paths
- New non-obvious symbols briefly commented
- All callers updated when interfaces change
## Code Style
- **C++**: Follow `.clang-format` in `src/`; use Modern C++ patterns per C++ Core Guidelines
- **C#**: Follow `src/.editorconfig`; enforce StyleCop.Analyzers
## Validation
- Build: `tools\build\build.cmd` from `src/common/` folder
- Verify no ABI breaks: grep for changed function/struct names across codebase
- Check logs: ensure no new logging in performance-critical paths
================================================
FILE: .github/instructions/instructions.instructions.md
================================================
---
description: 'Guidelines for creating high-quality custom instruction files for GitHub Copilot'
applyTo: '**/*.instructions.md'
---
# Custom Instructions File Guidelines
Instructions for creating effective and maintainable custom instruction files that guide GitHub Copilot in generating domain-specific code and following project conventions.
## Project Context
- Target audience: Developers and GitHub Copilot working with domain-specific code
- File format: Markdown with YAML frontmatter
- File naming convention: lowercase with hyphens (e.g., `react-best-practices.instructions.md`)
- Location: `.github/instructions/` directory
- Purpose: Provide context-aware guidance for code generation, review, and documentation
## Required Frontmatter
Every instruction file must include YAML frontmatter with the following fields:
```yaml
---
description: 'Brief description of the instruction purpose and scope'
applyTo: 'glob pattern for target files (e.g., **/*.ts, **/*.py)'
---
```
### Frontmatter Guidelines
- **description**: Single-quoted string, 1-500 characters, clearly stating the purpose
- **applyTo**: Glob pattern(s) specifying which files these instructions apply to
- Single pattern: `'**/*.ts'`
- Multiple patterns: `'**/*.ts, **/*.tsx, **/*.js'`
- Specific files: `'src/**/*.py'`
- All files: `'**'`
## File Structure
A well-structured instruction file should include the following sections:
### 1. Title and Overview
- Clear, descriptive title using `#` heading
- Brief introduction explaining the purpose and scope
- Optional: Project context section with key technologies and versions
### 2. Core Sections
Organize content into logical sections based on the domain:
- **General Instructions**: High-level guidelines and principles
- **Best Practices**: Recommended patterns and approaches
- **Code Standards**: Naming conventions, formatting, style rules
- **Architecture/Structure**: Project organization and design patterns
- **Common Patterns**: Frequently used implementations
- **Security**: Security considerations (if applicable)
- **Performance**: Optimization guidelines (if applicable)
- **Testing**: Testing standards and approaches (if applicable)
### 3. Examples and Code Snippets
Provide concrete examples with clear labels:
```markdown
### Good Example
\`\`\`language
// Recommended approach
code example here
\`\`\`
### Bad Example
\`\`\`language
// Avoid this pattern
code example here
\`\`\`
```
### 4. Validation and Verification (Optional but Recommended)
- Build commands to verify code
- Lint checks and formatting tools
- Testing requirements
- Verification steps
## Content Guidelines
### Writing Style
- Use clear, concise language
- Write in imperative mood ("Use", "Implement", "Avoid")
- Be specific and actionable
- Avoid ambiguous terms like "should", "might", "possibly"
- Use bullet points and lists for readability
- Keep sections focused and scannable
### Best Practices
- **Be Specific**: Provide concrete examples rather than abstract concepts
- **Show Why**: Explain the reasoning behind recommendations when it adds value
- **Use Tables**: For comparing options, listing rules, or showing patterns
- **Include Examples**: Real code snippets are more effective than descriptions
- **Stay Current**: Reference current versions and best practices
- **Link Resources**: Include official documentation and authoritative sources
### Common Patterns to Include
1. **Naming Conventions**: How to name variables, functions, classes, files
2. **Code Organization**: File structure, module organization, import order
3. **Error Handling**: Preferred error handling patterns
4. **Dependencies**: How to manage and document dependencies
5. **Comments and Documentation**: When and how to document code
6. **Version Information**: Target language/framework versions
## Patterns to Follow
### Bullet Points and Lists
```markdown
## Security Best Practices
- Always validate user input before processing
- Use parameterized queries to prevent SQL injection
- Store secrets in environment variables, never in code
- Implement proper authentication and authorization
- Enable HTTPS for all production endpoints
```
### Tables for Structured Information
```markdown
## Common Issues
| Issue | Solution | Example |
| ---------------- | ------------------- | ----------------------------- |
| Magic numbers | Use named constants | `const MAX_RETRIES = 3` |
| Deep nesting | Extract functions | Refactor nested if statements |
| Hardcoded values | Use configuration | Store API URLs in config |
```
### Code Comparison
```markdown
### Good Example - Using TypeScript interfaces
\`\`\`typescript
interface User {
id: string;
name: string;
email: string;
}
function getUser(id: string): User {
// Implementation
}
\`\`\`
### Bad Example - Using any type
\`\`\`typescript
function getUser(id: any): any {
// Loses type safety
}
\`\`\`
```
### Conditional Guidance
```markdown
## Framework Selection
- **For small projects**: Use Minimal API approach
- **For large projects**: Use controller-based architecture with clear separation
- **For microservices**: Consider domain-driven design patterns
```
## Patterns to Avoid
- **Overly verbose explanations**: Keep it concise and scannable
- **Outdated information**: Always reference current versions and practices
- **Ambiguous guidelines**: Be specific about what to do or avoid
- **Missing examples**: Abstract rules without concrete code examples
- **Contradictory advice**: Ensure consistency throughout the file
- **Copy-paste from documentation**: Add value by distilling and providing context
## Testing Your Instructions
Before finalizing instruction files:
1. **Test with Copilot**: Try the instructions with actual prompts in VS Code
2. **Verify Examples**: Ensure code examples are correct and run without errors
3. **Check Glob Patterns**: Confirm `applyTo` patterns match intended files
## Example Structure
Here's a minimal example structure for a new instruction file:
```markdown
---
description: 'Brief description of purpose'
applyTo: '**/*.ext'
---
# Technology Name Development
Brief introduction and context.
## General Instructions
- High-level guideline 1
- High-level guideline 2
## Best Practices
- Specific practice 1
- Specific practice 2
## Code Standards
### Naming Conventions
- Rule 1
- Rule 2
### File Organization
- Structure 1
- Structure 2
## Common Patterns
### Pattern 1
Description and example
\`\`\`language
code example
\`\`\`
### Pattern 2
Description and example
## Validation
- Build command: `command to verify`
- Lint checks: `command to lint`
- Testing: `command to test`
```
## Maintenance
- Review instructions when dependencies or frameworks are updated
- Update examples to reflect current best practices
- Remove outdated patterns or deprecated features
- Add new patterns as they emerge in the community
- Keep glob patterns accurate as project structure evolves
## Additional Resources
- [Custom Instructions Documentation](https://code.visualstudio.com/docs/copilot/customization/custom-instructions)
- [Awesome Copilot Instructions](https://github.com/github/awesome-copilot/tree/main/instructions)
================================================
FILE: .github/instructions/prompt.instructions.md
================================================
---
description: 'Guidelines for creating high-quality prompt files for GitHub Copilot'
applyTo: '**/*.prompt.md'
---
# Copilot Prompt Files Guidelines
Instructions for creating effective and maintainable prompt files that guide GitHub Copilot in delivering consistent, high-quality outcomes across any repository.
## Scope and Principles
- Target audience: maintainers and contributors authoring reusable prompts for Copilot Chat.
- Goals: predictable behaviour, clear expectations, minimal permissions, and portability across repositories.
- Primary references: VS Code documentation on prompt files and organization-specific conventions.
## Frontmatter Requirements
Every prompt file should include YAML frontmatter with the following fields:
### Required/Recommended Fields
| Field | Required | Description |
|-------|----------|-------------|
| `description` | Recommended | A short description of the prompt (single sentence, actionable outcome) |
| `name` | Optional | The name shown after typing `/` in chat. Defaults to filename if not specified |
| `agent` | Recommended | The agent to use: `ask`, `edit`, `agent`, or a custom agent name. Defaults to current agent |
| `model` | Optional | The language model to use. Defaults to currently selected model |
| `tools` | Optional | List of tool/tool set names available for this prompt |
| `argument-hint` | Optional | Hint text shown in chat input to guide user interaction |
### Guidelines
- Use consistent quoting (single quotes recommended) and keep one field per line for readability and version control clarity
- If `tools` are specified and current agent is `ask` or `edit`, the default agent becomes `agent`
- Preserve any additional metadata (`language`, `tags`, `visibility`, etc.) required by your organization
## File Naming and Placement
- Use kebab-case filenames ending with `.prompt.md` and store them under `.github/prompts/` unless your workspace standard specifies another directory.
- Provide a short filename that communicates the action (for example, `generate-readme.prompt.md` rather than `prompt1.prompt.md`).
## Body Structure
- Start with an `#` level heading that matches the prompt intent so it surfaces well in Quick Pick search.
- Organize content with predictable sections. Recommended baseline: `Mission` or `Primary Directive`, `Scope & Preconditions`, `Inputs`, `Workflow` (step-by-step), `Output Expectations`, and `Quality Assurance`.
- Adjust section names to fit the domain, but retain the logical flow: why → context → inputs → actions → outputs → validation.
- Reference related prompts or instruction files using relative links to aid discoverability.
## Input and Context Handling
- Use `${input:variableName[:placeholder]}` for required values and explain when the user must supply them. Provide defaults or alternatives where possible.
- Call out contextual variables such as `${selection}`, `${file}`, `${workspaceFolder}` only when they are essential, and describe how Copilot should interpret them.
- Document how to proceed when mandatory context is missing (for example, “Request the file path and stop if it remains undefined”).
## Tool and Permission Guidance
- Limit `tools` to the smallest set that enables the task. List them in the preferred execution order when the sequence matters.
- If the prompt inherits tools from a chat mode, mention that relationship and state any critical tool behaviours or side effects.
- Warn about destructive operations (file creation, edits, terminal commands) and include guard rails or confirmation steps in the workflow.
## Instruction Tone and Style
- Write in direct, imperative sentences targeted at Copilot (for example, “Analyze”, “Generate”, “Summarize”).
- Keep sentences short and unambiguous, following Google Developer Documentation translation best practices to support localization.
- Avoid idioms, humor, or culturally specific references; favor neutral, inclusive language.
## Output Definition
- Specify the format, structure, and location of expected results (for example, “Create an architecture decision record file using the template below, such as `docs/architecture-decisions/record-XXXX.md`).
- Include success criteria and failure triggers so Copilot knows when to halt or retry.
- Provide validation steps—manual checks, automated commands, or acceptance criteria lists—that reviewers can execute after running the prompt.
## Examples and Reusable Assets
- Embed Good/Bad examples or scaffolds (Markdown templates, JSON stubs) that the prompt should produce or follow.
- Maintain reference tables (capabilities, status codes, role descriptions) inline to keep the prompt self-contained. Update these tables when upstream resources change.
- Link to authoritative documentation instead of duplicating lengthy guidance.
## Quality Assurance Checklist
- [ ] Frontmatter fields are complete, accurate, and least-privilege.
- [ ] Inputs include placeholders, default behaviours, and fallbacks.
- [ ] Workflow covers preparation, execution, and post-processing without gaps.
- [ ] Output expectations include formatting and storage details.
- [ ] Validation steps are actionable (commands, diff checks, review prompts).
- [ ] Security, compliance, and privacy policies referenced by the prompt are current.
- [ ] Prompt executes successfully in VS Code (`Chat: Run Prompt`) using representative scenarios.
## Maintenance Guidance
- Version-control prompts alongside the code they affect; update them when dependencies, tooling, or review processes change.
- Review prompts periodically to ensure tool lists, model requirements, and linked documents remain valid.
- Coordinate with other repositories: when a prompt proves broadly useful, extract common guidance into instruction files or shared prompt packs.
## Additional Resources
- [Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files#_prompt-file-format)
- [Awesome Copilot Prompt Files](https://github.com/github/awesome-copilot/tree/main/prompts)
- [Tool Configuration](https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode#_agent-mode-tools)
================================================
FILE: .github/instructions/runner-settings-ui.instructions.md
================================================
---
description: 'Guidelines for Runner and Settings UI components that communicate via named pipes and manage module lifecycle'
applyTo: 'src/runner/**,src/settings-ui/**'
---
# Runner & Settings UI – Core Components Guidance
Guidelines for modifying the Runner (tray/module loader) and Settings UI (configuration app). These components communicate via Windows Named Pipes using JSON messages.
## Runner (`src/runner/`)
### Scope
- Module bootstrap, hotkey management, settings bridge, update/elevation handling
### Guidelines
- If IPC/JSON contracts change, mirror updates in `src/settings-ui/**`
- Keep module discovery in `src/runner/main.cpp` in sync when adding/removing modules
- Keep startup lean: avoid blocking/network calls in early init path
- Preserve GPO & elevation behaviors; confirm no regression in policy handling
- Ask before modifying update workflow or elevation logic
### Acceptance Criteria
- Stable startup, consistent contracts, no unnecessary logging noise
## Settings UI (`src/settings-ui/`)
### Scope
- WinUI/WPF UI, communicates with Runner over named pipes; manages persisted settings schema
### Guidelines
- Don't break settings schema silently; add migration when shape changes
- If IPC/JSON contracts change, align with `src/runner/**` implementation
- Keep UI responsive: marshal to UI thread for UI-bound operations
- Reuse existing styles/resources; avoid duplicate theme keys
- Add/adjust migration or serialization tests when changing persisted settings
### Acceptance Criteria
- Schema integrity preserved, responsive UI, consistent contracts, no style duplication
## Shared Concerns
### IPC Contract Changes
When modifying the JSON message format between Runner and Settings UI:
1. Update both `src/runner/` and `src/settings-ui/` in the same PR
2. Preserve backward compatibility where possible
3. Add migration logic for settings schema changes
4. Test both directions of communication
### Code Style
- **C++ (Runner)**: Follow `.clang-format` in `src/`
- **C# (Settings UI)**: Follow `src/.editorconfig`, use StyleCop.Analyzers
- **XAML**: Use XamlStyler or run `.\.pipelines\applyXamlStyling.ps1 -Main`
## Validation
- Build Runner: `tools\build\build.cmd` from `src/runner/`
- Build Settings UI: `tools\build\build.cmd` from `src/settings-ui/`
- Test IPC: Launch both Runner and Settings UI, verify communication works
- Schema changes: Run serialization tests if settings shape changed
================================================
FILE: .github/instructions/typescript-mcp-server.instructions.md
================================================
---
description: 'Instructions for building Model Context Protocol (MCP) servers using the TypeScript SDK'
applyTo: '**/*.ts, **/*.js, **/package.json'
---
# TypeScript MCP Server Development
## Instructions
- Use the **@modelcontextprotocol/sdk** npm package: `npm install @modelcontextprotocol/sdk`
- Import from specific paths: `@modelcontextprotocol/sdk/server/mcp.js`, `@modelcontextprotocol/sdk/server/stdio.js`, etc.
- Use `McpServer` class for high-level server implementation with automatic protocol handling
- Use `Server` class for low-level control with manual request handlers
- Use **zod** for input/output schema validation: `npm install zod@3`
- Always provide `title` field for tools, resources, and prompts for better UI display
- Use `registerTool()`, `registerResource()`, and `registerPrompt()` methods (recommended over older APIs)
- Define schemas using zod: `{ inputSchema: { param: z.string() }, outputSchema: { result: z.string() } }`
- Return both `content` (for display) and `structuredContent` (for structured data) from tools
- For HTTP servers, use `StreamableHTTPServerTransport` with Express or similar frameworks
- For local integrations, use `StdioServerTransport` for stdio-based communication
- Create new transport instances per request to prevent request ID collisions (stateless mode)
- Use session management with `sessionIdGenerator` for stateful servers
- Enable DNS rebinding protection for local servers: `enableDnsRebindingProtection: true`
- Configure CORS headers and expose `Mcp-Session-Id` for browser-based clients
- Use `ResourceTemplate` for dynamic resources with URI parameters: `new ResourceTemplate('resource://{param}', { list: undefined })`
- Support completions for better UX using `completable()` wrapper from `@modelcontextprotocol/sdk/server/completable.js`
- Implement sampling with `server.server.createMessage()` to request LLM completions from clients
- Use `server.server.elicitInput()` to request additional user input during tool execution
- Enable notification debouncing for bulk updates: `debouncedNotificationMethods: ['notifications/tools/list_changed']`
- Dynamic updates: call `.enable()`, `.disable()`, `.update()`, or `.remove()` on registered items to emit `listChanged` notifications
- Use `getDisplayName()` from `@modelcontextprotocol/sdk/shared/metadataUtils.js` for UI display names
- Test servers with MCP Inspector: `npx @modelcontextprotocol/inspector`
## Best Practices
- Keep tool implementations focused on single responsibilities
- Provide clear, descriptive titles and descriptions for LLM understanding
- Use proper TypeScript types for all parameters and return values
- Implement comprehensive error handling with try-catch blocks
- Return `isError: true` in tool results for error conditions
- Use async/await for all asynchronous operations
- Close database connections and clean up resources properly
- Validate input parameters before processing
- Use structured logging for debugging without polluting stdout/stderr
- Consider security implications when exposing file system or network access
- Implement proper resource cleanup on transport close events
- Use environment variables for configuration (ports, API keys, etc.)
- Document tool capabilities and limitations clearly
- Test with multiple clients to ensure compatibility
## Common Patterns
### Basic Server Setup (HTTP)
```typescript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
import express from 'express';
const server = new McpServer({
name: 'my-server',
version: '1.0.0'
});
const app = express();
app.use(express.json());
app.post('/mcp', async (req, res) => {
const transport = new StreamableHTTPServerTransport({
sessionIdGenerator: undefined,
enableJsonResponse: true
});
res.on('close', () => transport.close());
await server.connect(transport);
await transport.handleRequest(req, res, req.body);
});
app.listen(3000);
```
### Basic Server Setup (stdio)
```typescript
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new McpServer({
name: 'my-server',
version: '1.0.0'
});
// ... register tools, resources, prompts ...
const transport = new StdioServerTransport();
await server.connect(transport);
```
### Simple Tool
```typescript
import { z } from 'zod';
server.registerTool(
'calculate',
{
title: 'Calculator',
description: 'Perform basic calculations',
inputSchema: { a: z.number(), b: z.number(), op: z.enum(['+', '-', '*', '/']) },
outputSchema: { result: z.number() }
},
async ({ a, b, op }) => {
const result = op === '+' ? a + b : op === '-' ? a - b :
op === '*' ? a * b : a / b;
const output = { result };
return {
content: [{ type: 'text', text: JSON.stringify(output) }],
structuredContent: output
};
}
);
```
### Dynamic Resource
```typescript
import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
server.registerResource(
'user',
new ResourceTemplate('users://{userId}', { list: undefined }),
{
title: 'User Profile',
description: 'Fetch user profile data'
},
async (uri, { userId }) => ({
contents: [{
uri: uri.href,
text: `User ${userId} data here`
}]
})
);
```
### Tool with Sampling
```typescript
server.registerTool(
'summarize',
{
title: 'Text Summarizer',
description: 'Summarize text using LLM',
inputSchema: { text: z.string() },
outputSchema: { summary: z.string() }
},
async ({ text }) => {
const response = await server.server.createMessage({
messages: [{
role: 'user',
content: { type: 'text', text: `Summarize: ${text}` }
}],
maxTokens: 500
});
const summary = response.content.type === 'text' ?
response.content.text : 'Unable to summarize';
const output = { summary };
return {
content: [{ type: 'text', text: JSON.stringify(output) }],
structuredContent: output
};
}
);
```
### Prompt with Completion
```typescript
import { completable } from '@modelcontextprotocol/sdk/server/completable.js';
server.registerPrompt(
'review',
{
title: 'Code Review',
description: 'Review code with specific focus',
argsSchema: {
language: completable(z.string(), value =>
['typescript', 'python', 'javascript', 'java']
.filter(l => l.startsWith(value))
),
code: z.string()
}
},
({ language, code }) => ({
messages: [{
role: 'user',
content: {
type: 'text',
text: `Review this ${language} code:\n\n${code}`
}
}]
})
);
```
### Error Handling
```typescript
server.registerTool(
'risky-operation',
{
title: 'Risky Operation',
description: 'An operation that might fail',
inputSchema: { input: z.string() },
outputSchema: { result: z.string() }
},
async ({ input }) => {
try {
const result = await performRiskyOperation(input);
const output = { result };
return {
content: [{ type: 'text', text: JSON.stringify(output) }],
structuredContent: output
};
} catch (err: unknown) {
const error = err as Error;
return {
content: [{ type: 'text', text: `Error: ${error.message}` }],
isError: true
};
}
}
);
```
================================================
FILE: .github/policies/resourceManagement.yml
================================================
id:
name: GitOps.PullRequestIssueManagement
description: GitOps.PullRequestIssueManagement primitive
owner:
resource: repository
disabled: false
where:
configuration:
resourceManagementConfiguration:
scheduledSearches:
- description:
frequencies:
- hourly:
hour: 6
filters:
- isIssue
- isOpen
- hasLabel:
label: Needs-Author-Feedback
- hasLabel:
label: Status-No recent activity
- noActivitySince:
days: 5
actions:
- closeIssue
- description:
frequencies:
- hourly:
hour: 6
filters:
- isIssue
- isOpen
- hasLabel:
label: Needs-Author-Feedback
- noActivitySince:
days: 5
- isNotLabeledWith:
label: Status-No recent activity
actions:
- addLabel:
label: Status-No recent activity
- addReply:
reply: This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **5 days**. It will be closed if no further activity occurs **within 5 days of this comment**.
- description:
frequencies:
- hourly:
hour: 6
filters:
- isIssue
- isOpen
- hasLabel:
label: Resolution-Duplicate
- noActivitySince:
days: 1
actions:
- addReply:
reply: This issue has been marked as duplicate and has not had any activity for **1 day**. It will be closed for housekeeping purposes.
- closeIssue
eventResponderTasks:
- if:
- payloadType: Issue_Comment
- isAction:
action: Created
- isActivitySender:
issueAuthor: True
- hasLabel:
label: Needs-Author-Feedback
- isOpen
then:
- addLabel:
label: Needs-Triage
- removeLabel:
label: Needs-Author-Feedback
- addLabel:
label: Needs-Team-Response
description:
- if:
- payloadType: Issues
- not:
isAction:
action: Closed
- hasLabel:
label: Status-No recent activity
then:
- removeLabel:
label: Status-No recent activity
description:
- if:
- payloadType: Issue_Comment
- hasLabel:
label: Status-No recent activity
then:
- removeLabel:
label: Status-No recent activity
description:
- if:
- payloadType: Pull_Request
then:
- inPrLabel:
label: Status-In progress
description:
- if:
- payloadType: Issue_Comment
then:
- cleanEmailReply
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/(bugreport|reportbug)'
isRegex: True
- or:
- activitySenderHasAssociation:
association: Member
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Collaborator
then:
- removeLabel:
label: Needs-Triage
- addLabel:
label: Needs-Author-Feedback
- addReply:
reply: Hi there!<br/><br/>We need a bit more information to really debug this issue. Can you add a "Report Bug" zip file here? You right click on our system tray icon and just go to report bug. Then drag the zipfile from your desktop onto the GitHub comment box in this issue. Thanks! <br/>
- removeLabel:
label: Needs-Team-Response
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/feedback[H|h]ub'
isRegex: True
- or:
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Member
- activitySenderHasAssociation:
association: Collaborator
then:
- addReply:
reply: Hi! We've identified this issue that best is suited for Windows Feedback Hub. To do this on Windows, WinKey+F will bring it up!
- closeIssue
- removeLabel:
label: Needs-Triage
- removeLabel:
label: Needs-Team-Response
- addLabel:
label: Resolution-Please File on Feedback Hub
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/dup(licate|e)?(\s+of)?\s+(\#[\d]+|https)'
isRegex: True
- or:
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Member
- activitySenderHasAssociation:
association: Collaborator
then:
- addReply:
reply: Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
- closeIssue
- removeLabel:
label: Needs-Triage
- removeLabel:
label: Needs-Team-Response
- addLabel:
label: Resolution-Duplicate
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/needinfo'
isRegex: True
- or:
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Member
- activitySenderHasAssociation:
association: Collaborator
then:
- removeLabel:
label: Needs-Triage
- removeLabel:
label: Needs-Team-Response
- addLabel:
label: Needs-Author-Feedback
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/helped'
isRegex: True
- or:
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Member
- activitySenderHasAssociation:
association: Collaborator
then:
- removeLabel:
label: Needs-Triage
- removeLabel:
label: Needs-Team-Response
- addLabel:
label: Resolution-Helped User
- addReply:
reply: This issue is now marked as resolved. If you have any follow-up questions, please don't hesitate to ask. You can find out more about PowerToys functionalities in our [end-user documentation](https://aka.ms/powertoy-docs).
- closeIssue
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/loc\b'
isRegex: True
- or:
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Member
then:
- removeLabel:
label: Needs-Triage
- addLabel:
label: Loc-Sent To Team
- addReply:
reply: Hi! Thanks for making us aware of the problem. We raised the issue with our internal localization team. This issue should be fixed hopefully in the next version of PowerToys.
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: '\/need-monitor-info'
isRegex: True
- hasLabel:
label: Product-Cursor Wrap
- or:
- activitySenderHasAssociation:
association: Owner
- activitySenderHasAssociation:
association: Member
- activitySenderHasAssociation:
association: Collaborator
then:
- removeLabel:
label: Needs-Triage
- removeLabel:
label: Needs-Team-Response
- addLabel:
label: Needs-Author-Feedback
- addReply:
reply: "To help debug your layout, please run [this script](https://github.com/microsoft/PowerToys/blob/main/src/modules/MouseUtils/CursorWrap/CursorWrapTests/Capture-MonitorLayout.ps1) and attach the generated JSON output to this thread.\n\nThis allows us to better understand the issue and investigate potential fixes."
description:
- if:
- payloadType: Issue_Comment
- commentContains:
pattern: "I(( would|'d) (like|love|be happy)| want) (to help|helping|to contribute|contributing|to implement|implementing|to fix|fixing)"
isRegex: True
then:
- addReply:
reply: Hi! Your last comment indicates to our system, that you might want to contribute to this feature/fix this bug. Thank you! Please make us aware on our ["Would you like to contribute to PowerToys?" thread](https://github.com/microsoft/PowerToys/issues/28769), as we don't see all the comments. <br /><br />_I'm a bot (beep!) so please excuse any mistakes I may make_
description:
- if:
- payloadType: Issues
- isAction:
action: Opened
- bodyContains:
pattern: 'Area\(s\) with issue\?\s*\nWorkspaces'
isRegex: True
then:
- addLabel:
label: Product-Workspaces
description:
onFailure:
onSuccess:
================================================
FILE: .github/prompts/create-commit-title.prompt.md
================================================
---
agent: 'agent'
description: 'Generate an 80-character git commit title for the local diff'
---
# Generate Commit Title
## Purpose
Provide a single-line, ready-to-paste git commit title (<= 80 characters) that reflects the most important local changes since `HEAD`.
## Input to collect
- Run exactly one command to view the local diff:
```@terminal
git diff HEAD
```
## How to decide the title
1. From the diff, find the dominant area (e.g., `src/modules/*`, `doc/devdocs/**`) and the change type (bug fix, docs update, config tweak).
2. Draft an imperative, plain-ASCII title that:
- Mentions the primary component when obvious (e.g., `FancyZones:` or `Docs:`)
- Stays within 80 characters and has no trailing punctuation
## Final output
- Reply with only the commit title on a single line—no extra text.
## PR title convention (when asked)
Use Conventional Commits style:
`<type>(<scope>): <summary>`
**Allowed types**
- feat, fix, docs, refactor, perf, test, build, ci, chore
**Scope rules**
- Use a short, PowerToys-focused scope (one word preferred). Common scopes:
- Core: `runner`, `settings-ui`, `common`, `docs`, `build`, `ci`, `installer`, `gpo`, `dsc`
- Modules: `fancyzones`, `powerrename`, `awake`, `colorpicker`, `imageresizer`, `keyboardmanager`, `mouseutils`, `peek`, `hosts`, `file-locksmith`, `screen-ruler`, `text-extractor`, `cropandlock`, `paste`, `powerlauncher`
- If unclear, pick the closest module or subsystem; omit only if unavoidable
**Summary rules**
- Imperative, present tense (“add”, “update”, “remove”, “fix”)
- Keep it <= 72 characters when possible; be specific, avoid “misc changes”
**Examples**
- `feat(fancyzones): add canvas template duplication`
- `fix(mouseutils): guard crosshair toggle when dpi info missing`
- `docs(runner): document tray icon states`
- `build(installer): align wix v5 suffix flag`
- `ci(ci): cache pipeline artifacts for x64`
================================================
FILE: .github/prompts/create-pr-summary.prompt.md
================================================
---
agent: 'agent'
description: 'Generate a PowerToys-ready pull request description from the local diff'
---
# Generate PR Summary
**Goal:** Produce a ready-to-paste PR title and description that follows PowerToys conventions by comparing the current branch against a user-selected target branch.
**Repo guardrails:**
- Treat `.github/pull_request_template.md` as the single source of truth; load it at runtime instead of embedding hardcoded content in this prompt.
- Preserve section order from the template but only surface checklist lines that are relevant for the detected changes, filling them with `[x]`/`[ ]` as appropriate.
- Cite touched paths with inline backticks, matching the guidance in `.github/copilot-instructions.md`.
- Call out test coverage explicitly: list automated tests run (unit/UI) or state why they are not applicable.
**Workflow:**
1. Determine the target branch from user context; default to `main` when no branch is supplied.
2. Run `git status --short` once to surface uncommitted files that may influence the summary.
3. Run `git diff <target-branch>...HEAD` a single time to review the detailed changes. Only when confidence stays low dig deeper with focused calls such as `git diff <target-branch>...HEAD -- <path>`.
4. From the diff, capture impacted areas, key file changes, behavioral risks, migrations, and noteworthy edge cases.
5. Confirm validation: list tests executed with results or state why tests were skipped in line with repo guidance.
6. Load `.github/pull_request_template.md`, mirror its section order, and populate it with the gathered facts. Include only relevant checklist entries, marking them `[x]/[ ]` and noting any intentional omissions as "N/A".
7. Present the filled template inside a fenced ```markdown code block with no extra commentary so it is ready to paste into a PR, clearly flagging any placeholders that still need user input.
8. Prepend the PR title above the filled template, applying the Conventional Commit type/scope rules from `.github/prompts/create-commit-title.prompt.md`; pick the dominant component from the diff and keep the title concise and imperative.
================================================
FILE: .github/prompts/fix-issue.prompt.md
================================================
---
agent: 'agent'
description: 'Execute the fix for a GitHub issue using the previously generated implementation plan'
---
# Fix GitHub Issue
## Dependencies
Source review prompt (for generating the implementation plan if missing):
- .github/prompts/review-issue.prompt.md
Required plan file (single source of truth):
- Generated Files/issueReview/{{issue_number}}/implementation-plan.md
## Dependency Handling
1) If `implementation-plan.md` exists → proceed.
2) If missing → run the review prompt:
- Invoke: `.github/prompts/review-issue.prompt.md`
- Pass: `issue_number={{issue_number}}`
- Then re-check for `implementation-plan.md`.
3) If still missing → stop and generate:
- `Generated Files/issueFix/{{issue_number}}/manual-steps.md` containing:
“implementation-plan.md not found; please run .github/prompts/review-issue.prompt.md for #{{issue_number}}.”
# GOAL
For **#{{issue_number}}**:
- Use implementation-plan.md as the single authority.
- Apply code and test changes directly in the repository.
- Produce a PR-ready description.
# OUTPUT FILES
1) Generated Files/issueFix/{{issue_number}}/pr-description.md
2) Generated Files/issueFix/{{issue_number}}/manual-steps.md # only if human interaction or external setup is required
# EXECUTION RULES
1) Read implementation-plan.md and execute:
- Layers & Files → edit/create as listed
- Pattern Choices → follow repository conventions
- Fundamentals (perf, security, compatibility, accessibility)
- Logging & Exceptions
- Telemetry (only if explicitly included in the plan)
- Risks & Mitigations
- Tests to Add
2) Locate affected files via `rg` or `git grep`.
3) Add/update tests to enforce the fixed behavior.
4) If any ambiguity exists, add:
// TODO(Human input needed): <clarification needed>
5) Verify locally: build & tests run successfully.
# pr-description.md should include:
- Title: `Fix: <short summary> (#{{issue_number}})`
- What changed and why the fix works
- Files or modules touched
- Risks & mitigations (implemented)
- Tests added/updated and how to run them
- Telemetry behavior (if applicable)
- Validation / reproduction steps
- `Closes #{{issue_number}}`
# manual-steps.md (only if needed)
- List required human actions: secrets, config, approvals, missing info, or code comments requiring human decisions.
# IMPORTANT
- Apply code and tests directly; do not produce patch files.
- Follow implementation-plan.md as the source of truth.
- Insert comments for human review where a decision or input is required.
- Use repository conventions and deterministic, minimal changes.
# FINALIZE
- Write pr-description.md
- Write manual-steps.md only if needed
- Print concise success message or note items requiring human interaction
================================================
FILE: .github/prompts/fix-pr-active-comments.prompt.md
================================================
---
description: 'Fix active pull request comments with scoped changes'
name: 'fix-pr-active-comments'
agent: 'agent'
argument-hint: 'PR number or active PR URL'
---
# Fix Active PR Comments
## Mission
Resolve active pull request comments by applying only simple fixes. For complex refactors, write a plan instead of changing code.
## Scope & Preconditions
- You must have an active pull request context or a provided PR number.
- Only implement simple changes. Do not implement large refactors.
- If required context is missing, request it and stop.
## Inputs
- Required: ${input:pr_number:PR number or URL}
- Optional: ${input:comment_scope:files or areas to focus on}
- Optional: ${input:fixing_guidelines:additional fixing guidelines from the user}
## Workflow
1. Locate all active (unresolved) PR review comments for the given PR.
2. For each comment, classify the change scope:
- Simple change: limited edits, localized fix, low risk, no broad redesign.
- Large refactor: multi-file redesign, architecture change, or risky behavior change.
3. For each large refactor request:
- Do not modify code.
- Write a planning document to Generated Files/prReview/${input:pr_number}/fixPlan/.
4. For each simple change request:
- Implement the fix with minimal edits.
- Run quick checks if needed.
- Commit and push the change.
5. For comments that seem invalid, unclear, or not applicable (even if simple):
- Do not change code.
- Add the item to a summary table in Generated Files/prReview/${input:pr_number}/fixPlan/overview.md.
- Consult back to the end user in a friendly, polite tone.
6. Respond to each comment that you fixed:
- Reply in the active conversation.
- Use a polite or friendly tone.
- Keep the response under 200 words.
- Resolve the comment after replying.
## Output Expectations
- Simple fixes: code changes committed and pushed.
- Large refactors: a plan file saved to Generated Files/prReview/${input:pr_number}/fixPlan/.
- Invalid or unclear comments: captured in Generated Files/prReview/${input:pr_number}/fixPlan/overview.md.
- Each fixed comment has a reply under 200 words and is resolved.
## Plan File Template
Use this template for each large refactor item:
# Fix Plan: <short title>
## Context
- Comment link:
- Impacted areas:
## Overview Table Template
Use this table in Generated Files/prReview/${input:pr_number}/fixPlan/overview.md:
| Comment link | Summary | Reason not applied | Suggested follow-up |
| --- | --- | --- | --- |
| | | | |
## Quality Assurance
- Verify plan file path exists.
- Ensure no code changes were made for large refactor items.
- Confirm replies are under 200 words and comments are resolved.
================================================
FILE: .github/prompts/fix-spelling.prompt.md
================================================
---
agent: 'agent'
description: 'Resolve Code scanning / check-spelling comments on the active PR'
---
# Fix Spelling Comments
**Goal:** Clear every outstanding GitHub pull request comment created by the `Code scanning / check-spelling` workflow by explicitly allowing intentional terms.
**Guardrails:**
- Update only discussion threads authored by `github-actions` or `github-actions[bot]` that mention `Code scanning results / check-spelling`.
- Prefer improving the wording in the originally flagged file when it clarifies intent without changing meaning; if the wording is already clear/standard for the context, handle it via `.github/actions/spell-check/expect.txt` and reuse existing entries.
- Limit edits to the flagged text and `.github/actions/spell-check/expect.txt`; leave all other files and topics untouched.
**Prerequisites:**
- Install GitHub CLI if it is not present: `winget install GitHub.cli`.
- Run `gh auth login` once before the first CLI use.
**Workflow:**
1. Determine the active pull request with a single `gh pr view --json number` call (default to the current branch).
2. Fetch all PR discussion data once via `gh pr view --json comments,reviews` and filter to check-spelling comments authored by `github-actions` or `github-actions[bot]` that are not minimized; when several remain, process only the most recent comment body.
3. For each flagged token, first consider tightening or rephrasing the original text to avoid the false positive while keeping the meaning intact; if the existing wording is already normal and professional for the context, proceed to allowlisting instead of changing it.
4. When allowlisting, review `.github/actions/spell-check/expect.txt` for an equivalent term (for example an existing lowercase variant); when found, reuse that normalized term rather than adding a new entry, even if the flagged token differs only by casing. Only add a new entry after confirming no equivalent already exists.
5. Add any remaining missing token to `.github/actions/spell-check/expect.txt`, keeping surrounding formatting intact.
================================================
FILE: .github/prompts/review-issue.prompt.md
================================================
---
agent: 'agent'
description: 'Review a GitHub issue, score it (0-100), and generate an implementation plan'
---
# Review GitHub Issue
## Goal
For **#{{issue_number}}** produce:
1) `Generated Files/issueReview/{{issue_number}}/overview.md`
2) `Generated Files/issueReview/{{issue_number}}/implementation-plan.md`
## Inputs
Figure out required inputs {{issue_number}} from the invocation context; if anything is missing, ask for the value or note it as a gap.
# CONTEXT (brief)
Ground evidence using `gh issue view {{issue_number}} --json number,title,body,author,createdAt,updatedAt,state,labels,milestone,reactions,comments,linkedPullRequests`, download images via MCP `github_issue_images` to better understand the issue context. Finally, use MCP `github_issue_attachments` to download logs with parameter `extractFolder` as `Generated Files/issueReview/{{issue_number}}/logs`, and analyze the downloaded logs if available to identify relevant issues. Locate the source code in the current workspace (use `rg`/`git grep` as needed). Link related issues and PRs.
## When to call MCP tools
If the following MCP "github-artifacts" tools are available in the environment, use them:
- `github_issue_images`: use when the issue/PR likely contains screenshots or other visual evidence (UI bugs, glitches, design problems).
- `github_issue_attachments`: use when the issue/PR mentions attached ZIPs (PowerToysReport_*.zip, logs.zip, debug.zip) or asks to analyze logs/diagnostics. Always provide `extractFolder` as `Generated Files/issueReview/{{issue_number}}/logs`
If these tools are not available (not listed by the runtime), start the MCP server "github-artifacts" first.
# OVERVIEW.MD
## Summary
Issue, state, milestone, labels. **Signals**: 👍/❤️/👎, comment count, last activity, linked PRs.
## At-a-Glance Score Table
Present all ratings in a compact table for quick scanning:
| Dimension | Score | Assessment | Key Drivers |
|-----------|-------|------------|-------------|
| **A) Business Importance** | X/100 | Low/Medium/High | Top 2 factors with scores |
| **B) Community Excitement** | X/100 | Low/Medium/High | Top 2 factors with scores |
| **C) Technical Feasibility** | X/100 | Low/Medium/High | Top 2 factors with scores |
| **D) Requirement Clarity** | X/100 | Low/Medium/High | Top 2 factors with scores |
| **Overall Priority** | X/100 | Low/Medium/High/Critical | Average or weighted summary |
| **Effort Estimate** | X days (T-shirt) | XS/S/M/L/XL/XXL/Epic | Type: bug/feature/chore |
| **Similar Issues Found** | X open, Y closed | — | Quick reference to related work |
| **Potential Assignees** | @username, @username | — | Top contributors to module |
**Assessment bands**: 0-25 Low, 26-50 Medium, 51-75 High, 76-100 Critical
## Ratings (0–100) — add evidence & short rationale
### A) Business Importance
- Labels (priority/security/regression): **≤35**
- Milestone/roadmap: **≤25**
- Customer/contract impact: **≤20**
- Unblocks/platform leverage: **≤20**
### B) Community Excitement
- 👍+❤️ normalized: **≤45**
- Comment volume & unique participants: **≤25**
- Recent activity (≤30d): **≤15**
- Duplicates/related issues: **≤15**
### C) Technical Feasibility
- Contained surface/clear seams: **≤30**
- Existing patterns/utilities: **≤25**
- Risk (perf/sec/compat) manageable: **≤25**
- Testability & CI support: **≤20**
### D) Requirement Clarity
- Behavior/repro/constraints: **≤60**
- Non-functionals (perf/sec/i18n/a11y): **≤25**
- Decision owners/acceptance signals: **≤15**
## Effort
Days + **T-shirt** (XS 0.5–1d, S 1–2, M 2–4, L 4–7, XL 7–14, XXL 14–30, Epic >30).
Type/level: bug/feature/chore/docs/refactor/test-only; severity/value tier.
## Suggested Actions
Provide actionable recommendations for issue triage and assignment:
### A) Requirement Clarification (if Clarity score <50)
**When Requirement Clarity (Dimension D) is Medium or Low:**
- Identify specific gaps in issue description: missing repro steps, unclear expected behavior, undefined acceptance criteria, missing non-functional requirements
- Draft 3-5 clarifying questions to post as issue comment
- Suggest additional information needed: screenshots, logs, environment details, OS version, PowerToys version, error messages
- If behavior is ambiguous, propose 2-3 interpretation scenarios and ask reporter to confirm
- Example questions:
- "Can you provide exact steps to reproduce this issue?"
- "What is the expected behavior vs. what you're actually seeing?"
- "Does this happen on Windows 10, 11, or both?"
- "Can you attach a screenshot or screen recording?"
### B) Correct Label Suggestions
- Analyze issue type, module, and severity to suggest missing or incorrect labels
- Recommend labels from: `Issue-Bug`, `Issue-Feature`, `Issue-Docs`, `Issue-Task`, `Priority-High`, `Priority-Medium`, `Priority-Low`, `Needs-Triage`, `Needs-Author-Feedback`, `Product-<ModuleName>`, etc.
- If Requirement Clarity is low (<50), add `Needs-Author-Feedback` label
- If current labels are incorrect or incomplete, provide specific label changes with rationale
### C) Find Similar Issues & Past Fixes
- Search for similar issues using `gh issue list --search "keywords" --state all --json number,title,state,closedAt`
- Identify patterns: duplicate issues, related bugs, or simil
Showing preview only (440K chars total). Download the full file or copy to clipboard to get everything.
gitextract_logsomee/ ├── .config/ │ ├── configuration.vsEnterprise.winget │ ├── configuration.vsProfessional.winget │ ├── configuration.winget │ └── dotnet-tools.json ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── documentation-issue.yml │ │ ├── feature_request.yml │ │ └── translation_issue.yml │ ├── actions/ │ │ └── spell-check/ │ │ ├── README.md │ │ ├── advice.md │ │ ├── allow/ │ │ │ ├── code.txt │ │ │ ├── names.txt │ │ │ └── zoomit.txt │ │ ├── candidate.patterns │ │ ├── excludes.txt │ │ ├── expect.txt │ │ ├── line_forbidden.patterns │ │ ├── patterns.txt │ │ └── reject.txt │ ├── copilot-instructions.md │ ├── copilot-workspace/ │ │ └── policy.json │ ├── dependabot.yml │ ├── instructions/ │ │ ├── agent-skills.instructions.md │ │ ├── agents.instructions.md │ │ ├── azure-devops-pipelines.instructions.md │ │ ├── common-libraries.instructions.md │ │ ├── instructions.instructions.md │ │ ├── prompt.instructions.md │ │ ├── runner-settings-ui.instructions.md │ │ └── typescript-mcp-server.instructions.md │ ├── policies/ │ │ └── resourceManagement.yml │ ├── prompts/ │ │ ├── create-commit-title.prompt.md │ │ ├── create-pr-summary.prompt.md │ │ ├── fix-issue.prompt.md │ │ ├── fix-pr-active-comments.prompt.md │ │ ├── fix-spelling.prompt.md │ │ ├── review-issue.prompt.md │ │ └── review-pr.prompt.md │ ├── pull_request_template.md │ ├── review-tools/ │ │ ├── Get-GitHubPrFilePatch.ps1 │ │ ├── Get-GitHubRawFile.ps1 │ │ ├── Get-PrIncrementalChanges.ps1 │ │ ├── Test-IncrementalReview.ps1 │ │ └── review-tools.instructions.md │ ├── skills/ │ │ ├── release-note-generation/ │ │ │ ├── LICENSE.txt │ │ │ ├── SKILL.md │ │ │ ├── references/ │ │ │ │ ├── SampleOutput.md │ │ │ │ ├── step1-collection.md │ │ │ │ ├── step2-labeling.md │ │ │ │ ├── step3-review-grouping.md │ │ │ │ └── step4-summarization.md │ │ │ └── scripts/ │ │ │ ├── apply-labels.ps1 │ │ │ ├── collect-or-apply-milestones.ps1 │ │ │ ├── diff_prs.ps1 │ │ │ ├── dump-prs-since-commit.ps1 │ │ │ ├── find-commit-by-title.ps1 │ │ │ └── group-prs-by-label.ps1 │ │ ├── winmd-api-search/ │ │ │ ├── LICENSE.txt │ │ │ ├── SKILL.md │ │ │ └── scripts/ │ │ │ ├── Invoke-WinMdQuery.ps1 │ │ │ ├── Update-WinMdCache.ps1 │ │ │ └── cache-generator/ │ │ │ ├── CacheGenerator.csproj │ │ │ ├── Directory.Build.props │ │ │ ├── Directory.Build.targets │ │ │ ├── Directory.Packages.props │ │ │ └── Program.cs │ │ └── wpf-to-winui3-migration/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── imaging-migration.md │ │ ├── namespace-api-mapping.md │ │ ├── powertoys-patterns.md │ │ ├── threading-and-windowing.md │ │ └── xaml-migration.md │ └── workflows/ │ ├── automatic-issue-deduplication.yml │ ├── dependency-review.yml │ ├── manual-batch-issue-deduplication.yml │ ├── msstore-submissions.yml │ ├── package-submissions.yml │ └── spelling2.yml ├── .gitignore ├── .gitmodules ├── .pipelines/ │ ├── 272MSSharedLibSN2048.snk │ ├── CIPolicy.xml │ ├── ESRPSigning_DSC.json │ ├── ESRPSigning_cmdpal_msix_content.json │ ├── ESRPSigning_core.json │ ├── ESRPSigning_sdk.json │ ├── InstallWinAppDriver.ps1 │ ├── UpdateVersions.ps1 │ ├── applyXamlStyling.ps1 │ ├── generateDscManifests.ps1 │ ├── installPowertoys.ps1 │ ├── loc/ │ │ └── loc.yml │ ├── packages.config │ ├── release-nuget.config │ ├── tsa.json │ ├── v2/ │ │ ├── ci-nightly.yml │ │ ├── ci-test-with-canary-webview2.yml │ │ ├── ci-using-the-latest-winappsdk.yml │ │ ├── ci.yml │ │ ├── oneFuzz.yml │ │ ├── release.yml │ │ └── templates/ │ │ ├── job-build-project.yml │ │ ├── job-build-sdk.yml │ │ ├── job-build-ui-tests.yml │ │ ├── job-fuzz.yml │ │ ├── job-publish-symbols-using-symbolrequestprod-api.yml │ │ ├── job-test-project.yml │ │ ├── pipeline-ci-build.yml │ │ ├── pipeline-ui-tests-automation.yml │ │ ├── pipeline-ui-tests-full-build.yml │ │ ├── pipeline-ui-tests-official-build.yml │ │ ├── steps-build-installer-vnext.yml │ │ ├── steps-download-artifacts-with-azure-cli.yml │ │ ├── steps-ensure-dotnet-version.yml │ │ ├── steps-ensure-nuget-version.yml │ │ ├── steps-esrp-sign-files-authenticode.yml │ │ ├── steps-esrp-signing.yml │ │ ├── steps-fetch-and-prepare-localizations.yml │ │ ├── steps-restore-nuget.yml │ │ ├── steps-setup-versioning.yml │ │ ├── steps-update-winappsdk-and-restore-nuget.yml │ │ └── variables-nuget-package-version.yml │ ├── verifyAndSetLatestVCToolsVersion.ps1 │ ├── verifyArm64Configuration.ps1 │ ├── verifyCommonProps.ps1 │ ├── verifyDepsJsonLibraryVersions.ps1 │ ├── verifyNoticeMdAgainstNugetPackages.ps1 │ ├── verifyNugetPackages.ps1 │ ├── verifyPossibleAssetConflicts.ps1 │ ├── versionAndSignCheck.ps1 │ └── versionSetting.ps1 ├── .vscode/ │ ├── launch.json │ ├── mcp.json │ ├── settings.json │ └── tasks.json ├── .vsconfig ├── AGENTS.md ├── CODE_OF_CONDUCT.md ├── COMMUNITY.md ├── CONTRIBUTING.md ├── Cpp.Build.props ├── CppRuleSet.ruleset ├── DATA_AND_PRIVACY.md ├── Directory.Build.props ├── Directory.Build.targets ├── Directory.Packages.props ├── LICENSE ├── NOTICE.md ├── PowerToys.slnx ├── README.md ├── SECURITY.md ├── SUPPORT.md ├── deps/ │ ├── expected.props │ └── spdlog.props ├── doc/ │ ├── devdocs/ │ │ ├── akaLinks.md │ │ ├── cli-conventions.md │ │ ├── commands.md │ │ ├── common/ │ │ │ ├── FilePreviewCommon.md │ │ │ ├── common.md │ │ │ ├── context-menus.md │ │ │ ├── monaco-editor.md │ │ │ └── readme.md │ │ ├── core/ │ │ │ ├── architecture.md │ │ │ ├── installer.md │ │ │ ├── runner.md │ │ │ └── settings/ │ │ │ ├── communication-with-modules.md │ │ │ ├── compatibility-legacy-settings.md │ │ │ ├── dsc-configure.md │ │ │ ├── gpo-integration.md │ │ │ ├── hotkeycontrol.md │ │ │ ├── project-overview.md │ │ │ ├── readme.md │ │ │ ├── runner-ipc.md │ │ │ ├── settings-implementation.md │ │ │ ├── settings-utilities.md │ │ │ ├── telemetry.md │ │ │ ├── ui-architecture.md │ │ │ └── viewmodels.md │ │ ├── development/ │ │ │ ├── debugging.md │ │ │ ├── dev-with-vscode.md │ │ │ ├── guidelines.md │ │ │ ├── localization.md │ │ │ ├── logging.md │ │ │ ├── new-powertoy.md │ │ │ ├── style.md │ │ │ ├── test-winget-install-locally.md │ │ │ └── ui-tests.md │ │ ├── disk-usage-footprint.md │ │ ├── embedded-msix.md │ │ ├── events.md │ │ ├── guidance.md │ │ ├── logging.md │ │ ├── modules/ │ │ │ ├── advancedpaste.md │ │ │ ├── alwaysontop.md │ │ │ ├── awake.md │ │ │ ├── colorpicker.md │ │ │ ├── commandnotfound.md │ │ │ ├── cropandlock.md │ │ │ ├── environmentvariables.md │ │ │ ├── fancyzones-tools.md │ │ │ ├── fancyzones.md │ │ │ ├── fileexploreraddons.md │ │ │ ├── filelocksmith.md │ │ │ ├── hostsfileeditor.md │ │ │ ├── imageresizer.md │ │ │ ├── interface.md │ │ │ ├── keyboardmanager/ │ │ │ │ ├── README.md │ │ │ │ ├── debug.md │ │ │ │ ├── keyboardeventhandlers.md │ │ │ │ ├── keyboardmanager.md │ │ │ │ ├── keyboardmanagercommon.md │ │ │ │ └── keyboardmanagerui.md │ │ │ ├── launcher/ │ │ │ │ ├── architecture.md │ │ │ │ ├── debugging.md │ │ │ │ ├── new-plugin-checklist.md │ │ │ │ ├── plugins/ │ │ │ │ │ ├── calculator.md │ │ │ │ │ ├── community.unitconverter.md │ │ │ │ │ ├── community.valuegenerator.md │ │ │ │ │ ├── folder.md │ │ │ │ │ ├── history.md │ │ │ │ │ ├── indexer.md │ │ │ │ │ ├── onenote.md │ │ │ │ │ ├── overview.md │ │ │ │ │ ├── program.md │ │ │ │ │ ├── registry.md │ │ │ │ │ ├── shell.md │ │ │ │ │ ├── system.md │ │ │ │ │ ├── timedate.md │ │ │ │ │ ├── uri.md │ │ │ │ │ ├── websearch.md │ │ │ │ │ ├── windowssettings.md │ │ │ │ │ └── windowwalker.md │ │ │ │ ├── project_structure.md │ │ │ │ ├── readme.md │ │ │ │ └── telemetry.md │ │ │ ├── lightswitch.md │ │ │ ├── mouseutils/ │ │ │ │ ├── findmymouse.md │ │ │ │ ├── mousehighlighter.md │ │ │ │ ├── mousejump.md │ │ │ │ ├── mousepointer.md │ │ │ │ └── readme.md │ │ │ ├── mousewithoutborders.md │ │ │ ├── newplus.md │ │ │ ├── peek/ │ │ │ │ └── readme.md │ │ │ ├── powerdisplay/ │ │ │ │ ├── design.md │ │ │ │ └── mccsParserDesign.md │ │ │ ├── powerrename.md │ │ │ ├── quickaccent.md │ │ │ ├── readme.md │ │ │ ├── registrypreview.md │ │ │ ├── screenruler.md │ │ │ ├── shortcut_guide.md │ │ │ ├── textextractor.md │ │ │ ├── workspaces.md │ │ │ └── zoomit.md │ │ ├── processes/ │ │ │ ├── gpo.md │ │ │ ├── release-process.md │ │ │ └── update-process.md │ │ ├── readme.md │ │ ├── run-as-admin-detection.md │ │ └── tools/ │ │ ├── bug-report-tool.md │ │ ├── build-tools.md │ │ ├── clean-up-tool.md │ │ ├── debugging-tools.md │ │ ├── fuzzingtesting.md │ │ ├── monitor-info-report.md │ │ ├── readme.md │ │ ├── styles-report-tool.md │ │ └── verification-scripts.md │ ├── dsc/ │ │ ├── modules/ │ │ │ ├── AdvancedPaste.md │ │ │ ├── AlwaysOnTop.md │ │ │ ├── App.md │ │ │ ├── Awake.md │ │ │ ├── ColorPicker.md │ │ │ ├── CropAndLock.md │ │ │ ├── EnvironmentVariables.md │ │ │ ├── FancyZones.md │ │ │ ├── FileLocksmith.md │ │ │ ├── FindMyMouse.md │ │ │ ├── Hosts.md │ │ │ ├── ImageResizer.md │ │ │ ├── KeyboardManager.md │ │ │ ├── MeasureTool.md │ │ │ ├── MouseHighlighter.md │ │ │ ├── MouseJump.md │ │ │ ├── MousePointerCrosshairs.md │ │ │ ├── Peek.md │ │ │ ├── PowerAccent.md │ │ │ ├── PowerOCR.md │ │ │ ├── PowerRename.md │ │ │ ├── RegistryPreview.md │ │ │ ├── ShortcutGuide.md │ │ │ ├── Workspaces.md │ │ │ └── ZoomIt.md │ │ ├── overview.md │ │ └── settings-resource.md │ ├── gpo/ │ │ └── README.md │ ├── images/ │ │ └── icons/ │ │ └── PowerToys icon/ │ │ └── AI/ │ │ └── PowerToys_UWP_Assets.ai │ ├── planning/ │ │ ├── FancyZonesBacklog.md │ │ ├── PowerToysBacklog.md │ │ ├── ShortcutGuideBacklog.md │ │ └── awake.md │ ├── specs/ │ │ ├── FancyZones-DCR.md │ │ ├── SCOOBE.md │ │ ├── readme.md │ │ └── settings-search.md │ ├── thirdPartyRunPlugins.md │ └── unofficialInstallMethods.md ├── installer/ │ ├── License.rtf │ ├── PowerToysSetup.slnx │ ├── PowerToysSetupCustomActionsVNext/ │ │ ├── CustomAction.cpp │ │ ├── CustomAction.def │ │ ├── PowerToysSetupCustomActionsVNext.vcxproj │ │ ├── PowerToysSetupCustomActionsVNext.vcxproj.filters │ │ ├── RcResource.h │ │ ├── Resource.rc │ │ ├── packages.config │ │ ├── pch.cpp │ │ ├── pch.h │ │ └── resource.h │ ├── PowerToysSetupVNext/ │ │ ├── AdvancedPaste.wxs │ │ ├── Awake.wxs │ │ ├── BaseApplications.wxs │ │ ├── CmdPal.wxs │ │ ├── ColorPicker.wxs │ │ ├── Common.wxi │ │ ├── Core.wxs │ │ ├── CustomDialogs/ │ │ │ ├── PTInstallDirDlg.wxs │ │ │ ├── PTLicenseDlg.wxs │ │ │ └── WixUI_PTInstallDir.wxs │ │ ├── Directory.Build.props │ │ ├── DscResources.wxs │ │ ├── EnvironmentVariables.wxs │ │ ├── FileExplorerPreview.wxs │ │ ├── FileLocksmith.wxs │ │ ├── Hosts.wxs │ │ ├── ImageResizer.wxs │ │ ├── KeyboardManager.wxs │ │ ├── LightSwitch.wxs │ │ ├── MouseWithoutBorders.wxs │ │ ├── NewPlus.wxs │ │ ├── Peek.wxs │ │ ├── PowerDisplay.wxs │ │ ├── PowerRename.wxs │ │ ├── PowerToys.wxs │ │ ├── PowerToysBootstrapperVNext.wixproj │ │ ├── PowerToysInstallerVNext.wixproj │ │ ├── Product.wxs │ │ ├── RegistryPreview.wxs │ │ ├── Resources.wxs │ │ ├── RtfTheme.xml │ │ ├── Run.wxs │ │ ├── Settings.wxs │ │ ├── ShortcutGuide.wxs │ │ ├── SilentFilesInUseBA/ │ │ │ ├── SilentFilesInUseBAFunction.vcxproj │ │ │ ├── SilentFilesInUseBAFunctions.cpp │ │ │ ├── bafunctions.cpp │ │ │ ├── bafunctions.def │ │ │ ├── pch.h │ │ │ └── resource.h │ │ ├── Tools.wxs │ │ ├── WinAppSDK.wxs │ │ ├── WinUI3Applications.wxs │ │ ├── Workspaces.wxs │ │ ├── generateAllFileComponents.ps1 │ │ ├── generateMonacoWxs.ps1 │ │ ├── packages.config │ │ ├── publish.cmd │ │ └── terminate_powertoys.cmd │ └── README.md ├── nuget.config ├── packages.config ├── src/ │ ├── .clang-format │ ├── .editorconfig │ ├── ActionRunner/ │ │ ├── Resources.resx │ │ ├── actionRunner.base.rc │ │ ├── actionRunner.cpp │ │ ├── actionRunner.vcxproj │ │ ├── packages.config │ │ └── resource.base.h │ ├── CmdPalVersion.props │ ├── Common.Dotnet.AotCompatibility.props │ ├── Common.Dotnet.CsWinRT.props │ ├── Common.Dotnet.FuzzTest.props │ ├── Common.Dotnet.PrepareGeneratedFolder.targets │ ├── Common.SelfContained.props │ ├── Monaco/ │ │ ├── customLanguages/ │ │ │ ├── gitignore.js │ │ │ ├── reg.js │ │ │ └── srt.js │ │ ├── customTokenThemeRules.js │ │ ├── generateLanguagesJson.html │ │ ├── index.html │ │ ├── monacoSRC/ │ │ │ └── min/ │ │ │ └── vs/ │ │ │ ├── base/ │ │ │ │ ├── common/ │ │ │ │ │ └── worker/ │ │ │ │ │ ├── simpleWorker.nls.de.js │ │ │ │ │ ├── simpleWorker.nls.es.js │ │ │ │ │ ├── simpleWorker.nls.fr.js │ │ │ │ │ ├── simpleWorker.nls.it.js │ │ │ │ │ ├── simpleWorker.nls.ja.js │ │ │ │ │ ├── simpleWorker.nls.js │ │ │ │ │ ├── simpleWorker.nls.ko.js │ │ │ │ │ ├── simpleWorker.nls.ru.js │ │ │ │ │ ├── simpleWorker.nls.zh-cn.js │ │ │ │ │ └── simpleWorker.nls.zh-tw.js │ │ │ │ └── worker/ │ │ │ │ └── workerMain.js │ │ │ ├── basic-languages/ │ │ │ │ ├── abap/ │ │ │ │ │ └── abap.js │ │ │ │ ├── apex/ │ │ │ │ │ └── apex.js │ │ │ │ ├── azcli/ │ │ │ │ │ └── azcli.js │ │ │ │ ├── bat/ │ │ │ │ │ └── bat.js │ │ │ │ ├── bicep/ │ │ │ │ │ └── bicep.js │ │ │ │ ├── cameligo/ │ │ │ │ │ └── cameligo.js │ │ │ │ ├── clojure/ │ │ │ │ │ └── clojure.js │ │ │ │ ├── coffee/ │ │ │ │ │ └── coffee.js │ │ │ │ ├── cpp/ │ │ │ │ │ └── cpp.js │ │ │ │ ├── csharp/ │ │ │ │ │ └── csharp.js │ │ │ │ ├── csp/ │ │ │ │ │ └── csp.js │ │ │ │ ├── css/ │ │ │ │ │ └── css.js │ │ │ │ ├── cypher/ │ │ │ │ │ └── cypher.js │ │ │ │ ├── dart/ │ │ │ │ │ └── dart.js │ │ │ │ ├── dockerfile/ │ │ │ │ │ └── dockerfile.js │ │ │ │ ├── ecl/ │ │ │ │ │ └── ecl.js │ │ │ │ ├── elixir/ │ │ │ │ │ └── elixir.js │ │ │ │ ├── flow9/ │ │ │ │ │ └── flow9.js │ │ │ │ ├── freemarker2/ │ │ │ │ │ └── freemarker2.js │ │ │ │ ├── fsharp/ │ │ │ │ │ └── fsharp.js │ │ │ │ ├── go/ │ │ │ │ │ └── go.js │ │ │ │ ├── graphql/ │ │ │ │ │ └── graphql.js │ │ │ │ ├── handlebars/ │ │ │ │ │ └── handlebars.js │ │ │ │ ├── hcl/ │ │ │ │ │ └── hcl.js │ │ │ │ ├── html/ │ │ │ │ │ └── html.js │ │ │ │ ├── ini/ │ │ │ │ │ └── ini.js │ │ │ │ ├── java/ │ │ │ │ │ └── java.js │ │ │ │ ├── javascript/ │ │ │ │ │ └── javascript.js │ │ │ │ ├── julia/ │ │ │ │ │ └── julia.js │ │ │ │ ├── kotlin/ │ │ │ │ │ └── kotlin.js │ │ │ │ ├── less/ │ │ │ │ │ └── less.js │ │ │ │ ├── lexon/ │ │ │ │ │ └── lexon.js │ │ │ │ ├── liquid/ │ │ │ │ │ └── liquid.js │ │ │ │ ├── lua/ │ │ │ │ │ └── lua.js │ │ │ │ ├── m3/ │ │ │ │ │ └── m3.js │ │ │ │ ├── markdown/ │ │ │ │ │ └── markdown.js │ │ │ │ ├── mdx/ │ │ │ │ │ └── mdx.js │ │ │ │ ├── mips/ │ │ │ │ │ └── mips.js │ │ │ │ ├── msdax/ │ │ │ │ │ └── msdax.js │ │ │ │ ├── mysql/ │ │ │ │ │ └── mysql.js │ │ │ │ ├── objective-c/ │ │ │ │ │ └── objective-c.js │ │ │ │ ├── pascal/ │ │ │ │ │ └── pascal.js │ │ │ │ ├── pascaligo/ │ │ │ │ │ └── pascaligo.js │ │ │ │ ├── perl/ │ │ │ │ │ └── perl.js │ │ │ │ ├── pgsql/ │ │ │ │ │ └── pgsql.js │ │ │ │ ├── php/ │ │ │ │ │ └── php.js │ │ │ │ ├── pla/ │ │ │ │ │ └── pla.js │ │ │ │ ├── postiats/ │ │ │ │ │ └── postiats.js │ │ │ │ ├── powerquery/ │ │ │ │ │ └── powerquery.js │ │ │ │ ├── powershell/ │ │ │ │ │ └── powershell.js │ │ │ │ ├── protobuf/ │ │ │ │ │ └── protobuf.js │ │ │ │ ├── pug/ │ │ │ │ │ └── pug.js │ │ │ │ ├── python/ │ │ │ │ │ └── python.js │ │ │ │ ├── qsharp/ │ │ │ │ │ └── qsharp.js │ │ │ │ ├── r/ │ │ │ │ │ └── r.js │ │ │ │ ├── razor/ │ │ │ │ │ └── razor.js │ │ │ │ ├── redis/ │ │ │ │ │ └── redis.js │ │ │ │ ├── redshift/ │ │ │ │ │ └── redshift.js │ │ │ │ ├── restructuredtext/ │ │ │ │ │ └── restructuredtext.js │ │ │ │ ├── ruby/ │ │ │ │ │ └── ruby.js │ │ │ │ ├── rust/ │ │ │ │ │ └── rust.js │ │ │ │ ├── sb/ │ │ │ │ │ └── sb.js │ │ │ │ ├── scala/ │ │ │ │ │ └── scala.js │ │ │ │ ├── scheme/ │ │ │ │ │ └── scheme.js │ │ │ │ ├── scss/ │ │ │ │ │ └── scss.js │ │ │ │ ├── shell/ │ │ │ │ │ └── shell.js │ │ │ │ ├── solidity/ │ │ │ │ │ └── solidity.js │ │ │ │ ├── sophia/ │ │ │ │ │ └── sophia.js │ │ │ │ ├── sparql/ │ │ │ │ │ └── sparql.js │ │ │ │ ├── sql/ │ │ │ │ │ └── sql.js │ │ │ │ ├── st/ │ │ │ │ │ └── st.js │ │ │ │ ├── swift/ │ │ │ │ │ └── swift.js │ │ │ │ ├── systemverilog/ │ │ │ │ │ └── systemverilog.js │ │ │ │ ├── tcl/ │ │ │ │ │ └── tcl.js │ │ │ │ ├── twig/ │ │ │ │ │ └── twig.js │ │ │ │ ├── typescript/ │ │ │ │ │ └── typescript.js │ │ │ │ ├── vb/ │ │ │ │ │ └── vb.js │ │ │ │ ├── wgsl/ │ │ │ │ │ └── wgsl.js │ │ │ │ ├── xml/ │ │ │ │ │ └── xml.js │ │ │ │ └── yaml/ │ │ │ │ └── yaml.js │ │ │ ├── editor/ │ │ │ │ ├── editor.main.css │ │ │ │ ├── editor.main.js │ │ │ │ ├── editor.main.nls.de.js │ │ │ │ ├── editor.main.nls.es.js │ │ │ │ ├── editor.main.nls.fr.js │ │ │ │ ├── editor.main.nls.it.js │ │ │ │ ├── editor.main.nls.ja.js │ │ │ │ ├── editor.main.nls.js │ │ │ │ ├── editor.main.nls.ko.js │ │ │ │ ├── editor.main.nls.ru.js │ │ │ │ ├── editor.main.nls.zh-cn.js │ │ │ │ └── editor.main.nls.zh-tw.js │ │ │ ├── language/ │ │ │ │ ├── css/ │ │ │ │ │ ├── cssMode.js │ │ │ │ │ └── cssWorker.js │ │ │ │ ├── html/ │ │ │ │ │ ├── htmlMode.js │ │ │ │ │ └── htmlWorker.js │ │ │ │ ├── json/ │ │ │ │ │ ├── jsonMode.js │ │ │ │ │ └── jsonWorker.js │ │ │ │ └── typescript/ │ │ │ │ ├── tsMode.js │ │ │ │ └── tsWorker.js │ │ │ └── loader.js │ │ ├── monacoSpecialLanguages.js │ │ └── monaco_languages.json │ ├── Monaco.props │ ├── PackageIdentity/ │ │ ├── AppxManifest.xml │ │ ├── BuildSparsePackage.cmd │ │ ├── BuildSparsePackage.ps1 │ │ ├── Check-ProcessIdentity.ps1 │ │ ├── PackageIdentity.vcxproj │ │ ├── PackageIdentity.vcxproj.filters │ │ └── readme.md │ ├── README.md │ ├── Settings.XamlStyler │ ├── Solution.props │ ├── Update/ │ │ ├── PowerToys.Update.base.rc │ │ ├── PowerToys.Update.cpp │ │ ├── PowerToys.Update.vcxproj │ │ ├── Resources.resx │ │ ├── packages.config │ │ └── resource.base.h │ ├── Version.props │ ├── codeAnalysis/ │ │ ├── GlobalSuppressions.cs │ │ ├── Rules.ruleset │ │ ├── StyleCop.json │ │ └── format_sources.ps1 │ ├── common/ │ │ ├── COMUtils/ │ │ │ ├── COMUtils.cpp │ │ │ ├── COMUtils.h │ │ │ ├── COMUtils.vcxproj │ │ │ └── packages.config │ │ ├── CalculatorEngineCommon/ │ │ │ ├── Calculator.cpp │ │ │ ├── Calculator.h │ │ │ ├── Calculator.idl │ │ │ ├── CalculatorEngineCommon.def │ │ │ ├── CalculatorEngineCommon.rc │ │ │ ├── CalculatorEngineCommon.vcxproj │ │ │ ├── CalculatorEngineCommon.vcxproj.filters │ │ │ ├── ExprtkEvaluator.cpp │ │ │ ├── ExprtkEvaluator.h │ │ │ ├── PropertySheet.props │ │ │ ├── exprtk.hpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── readme.md │ │ │ └── resource.h │ │ ├── Common.Search/ │ │ │ ├── Common.Search.csproj │ │ │ ├── FuzzSearch/ │ │ │ │ ├── MatchOption.cs │ │ │ │ ├── MatchResult.cs │ │ │ │ ├── SearchPrecisionScore.cs │ │ │ │ └── StringMatcher.cs │ │ │ ├── GlobalSuppressions.cs │ │ │ └── stylecop.json │ │ ├── Common.UI/ │ │ │ ├── Common.UI.csproj │ │ │ ├── CustomLibraryThemeProvider.cs │ │ │ ├── NativeEventWaiter.cs │ │ │ ├── SettingsDeepLink.cs │ │ │ └── ThemeManager.cs │ │ ├── Common.UI.Controls/ │ │ │ ├── Common.UI.Controls.csproj │ │ │ ├── Controls/ │ │ │ │ ├── CheckBoxWithDescriptionControl/ │ │ │ │ │ └── CheckBoxWithDescriptionControl.cs │ │ │ │ ├── IsEnabledTextBlock/ │ │ │ │ │ ├── IsEnabledTextBlock.xaml │ │ │ │ │ └── IsEnabledTextBlock.xaml.cs │ │ │ │ ├── KeyVisual/ │ │ │ │ │ ├── KeyCharPresenter.xaml │ │ │ │ │ ├── KeyCharPresenter.xaml.cs │ │ │ │ │ ├── KeyVisual.xaml │ │ │ │ │ └── KeyVisual.xaml.cs │ │ │ │ └── ShortcutWithTextLabelControl/ │ │ │ │ ├── ShortcutWithTextLabelControl.xaml │ │ │ │ └── ShortcutWithTextLabelControl.xaml.cs │ │ │ ├── Converters/ │ │ │ │ └── BoolToKeyVisualStateConverter.cs │ │ │ └── Themes/ │ │ │ └── Generic.xaml │ │ ├── Display/ │ │ │ ├── Display.vcxproj │ │ │ ├── DisplayUtils.cpp │ │ │ ├── DisplayUtils.h │ │ │ ├── MonitorEnumerator.h │ │ │ ├── dpi_aware.cpp │ │ │ ├── dpi_aware.h │ │ │ ├── monitors.cpp │ │ │ ├── monitors.h │ │ │ └── packages.config │ │ ├── FilePreviewCommon/ │ │ │ ├── BgcodeBlockType.cs │ │ │ ├── BgcodeChecksumType.cs │ │ │ ├── BgcodeCompressionType.cs │ │ │ ├── BgcodeHelper.cs │ │ │ ├── BgcodeThumbnail.cs │ │ │ ├── BgcodeThumbnailFormat.cs │ │ │ ├── FilePreviewCommon.csproj │ │ │ ├── Formatters/ │ │ │ │ ├── FilePreviewJsonSerializerContext.cs │ │ │ │ ├── IFormatter.cs │ │ │ │ ├── JsonFormatter.cs │ │ │ │ └── XmlFormatter.cs │ │ │ ├── GcodeHelper.cs │ │ │ ├── GcodeThumbnail.cs │ │ │ ├── GcodeThumbnailFormat.cs │ │ │ ├── HTMLParsingExtension.cs │ │ │ ├── Helper.cs │ │ │ ├── MarkdownHelper.cs │ │ │ ├── MonacoHelper.cs │ │ │ └── QoiImage.cs │ │ ├── GPOWrapper/ │ │ │ ├── GPOWrapper.cpp │ │ │ ├── GPOWrapper.def │ │ │ ├── GPOWrapper.h │ │ │ ├── GPOWrapper.idl │ │ │ ├── GPOWrapper.rc │ │ │ ├── GPOWrapper.vcxproj │ │ │ ├── GPOWrapper.vcxproj.filters │ │ │ ├── PropertySheet.props │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ └── resource.h │ │ ├── GPOWrapperProjection/ │ │ │ ├── GPOWrapper.cs │ │ │ └── GPOWrapperProjection.csproj │ │ ├── LanguageModelProvider/ │ │ │ ├── FoundryLocal/ │ │ │ │ ├── FoundryCachedModel.cs │ │ │ │ ├── FoundryCatalogModel.cs │ │ │ │ ├── FoundryClient.cs │ │ │ │ ├── FoundryJsonContext.cs │ │ │ │ ├── ModelSettings.cs │ │ │ │ ├── PromptTemplate.cs │ │ │ │ └── Runtime.cs │ │ │ ├── FoundryLocalModelProvider.cs │ │ │ ├── HardwareAccelerator.cs │ │ │ ├── ILanguageModelProvider.cs │ │ │ ├── LanguageModelProvider.csproj │ │ │ └── ModelDetails.cs │ │ ├── ManagedCommon/ │ │ │ ├── ColorFormatHelper.cs │ │ │ ├── ColorNameHelper.cs │ │ │ ├── CommonResources.Designer.cs │ │ │ ├── CommonResources.resx │ │ │ ├── IdRecoveryHelper.cs │ │ │ ├── LanguageHelper.cs │ │ │ ├── Logger.cs │ │ │ ├── ManagedCommon.csproj │ │ │ ├── ModuleType.cs │ │ │ ├── NativeMethods.cs │ │ │ ├── OSVersionHelper.cs │ │ │ ├── PowerToysPathResolver.cs │ │ │ ├── RunnerHelper.cs │ │ │ ├── SerializationContext/ │ │ │ │ └── SourceGenerationContext.cs │ │ │ ├── StartupPosition.cs │ │ │ ├── Theme.cs │ │ │ ├── ThemeHelpers.cs │ │ │ ├── ThemeListener.cs │ │ │ └── WindowHelpers.cs │ │ ├── ManagedCsWin32/ │ │ │ ├── CLSID.cs │ │ │ ├── ComHelper.cs │ │ │ ├── IID.cs │ │ │ ├── Kernel32.cs │ │ │ ├── ManagedCsWin32.csproj │ │ │ ├── Ole32.cs │ │ │ └── Shell32.cs │ │ ├── ManagedTelemetry/ │ │ │ └── Telemetry/ │ │ │ ├── DataDiagnosticsSettings.cs │ │ │ ├── EtwTrace.cs │ │ │ ├── Events/ │ │ │ │ ├── DebugEvent.cs │ │ │ │ ├── EventBase.cs │ │ │ │ └── IEvent.cs │ │ │ ├── ManagedTelemetry.csproj │ │ │ └── PowerToysTelemetry.cs │ │ ├── PowerToys.ModuleContracts/ │ │ │ ├── IModuleService.cs │ │ │ ├── OperationResult.cs │ │ │ └── PowerToys.ModuleContracts.csproj │ │ ├── SettingsAPI/ │ │ │ ├── FileWatcher.cpp │ │ │ ├── FileWatcher.h │ │ │ ├── SettingsAPI.vcxproj │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── settings_helpers.cpp │ │ │ ├── settings_helpers.h │ │ │ ├── settings_objects.cpp │ │ │ └── settings_objects.h │ │ ├── Telemetry/ │ │ │ ├── EtwTrace/ │ │ │ │ ├── EtwTrace.cpp │ │ │ │ ├── EtwTrace.h │ │ │ │ ├── EtwTrace.vcxproj │ │ │ │ ├── EtwTrace.vcxproj.filters │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── PowerToys.wprp │ │ │ ├── ProjectTelemetry.h │ │ │ ├── TelemetryBase.cs │ │ │ ├── TraceBase.h │ │ │ ├── TraceLoggingDefines.h │ │ │ └── readme.md │ │ ├── Themes/ │ │ │ ├── Themes.vcxproj │ │ │ ├── icon_helpers.cpp │ │ │ ├── icon_helpers.h │ │ │ ├── packages.config │ │ │ ├── theme_helpers.cpp │ │ │ ├── theme_helpers.h │ │ │ ├── theme_listener.cpp │ │ │ ├── theme_listener.h │ │ │ ├── windows_colors.cpp │ │ │ └── windows_colors.h │ │ ├── UITestAutomation/ │ │ │ ├── Element/ │ │ │ │ ├── Button.cs │ │ │ │ ├── By.cs │ │ │ │ ├── CheckBox.cs │ │ │ │ ├── ComboBox.cs │ │ │ │ ├── Custom.cs │ │ │ │ ├── Element.cs │ │ │ │ ├── Group.cs │ │ │ │ ├── HyperlinkButton.cs │ │ │ │ ├── NavigationViewItem.cs │ │ │ │ ├── Pane.cs │ │ │ │ ├── RadioButton.cs │ │ │ │ ├── Slider.cs │ │ │ │ ├── Tab.cs │ │ │ │ ├── TextBlock.cs │ │ │ │ ├── TextBox.cs │ │ │ │ ├── Thumb.cs │ │ │ │ ├── ToggleSwitch.cs │ │ │ │ └── Window.cs │ │ │ ├── EnvironmentConfig.cs │ │ │ ├── FindHelper.cs │ │ │ ├── KeyboardHelper.cs │ │ │ ├── ModuleConfigData.cs │ │ │ ├── ModuleInfo.cs │ │ │ ├── MonitorInfoData.cs │ │ │ ├── MouseHelper.cs │ │ │ ├── ScreenCapture.cs │ │ │ ├── ScreenRecording.cs │ │ │ ├── Session.cs │ │ │ ├── SessionHelper.cs │ │ │ ├── SettingsConfigHelper.cs │ │ │ ├── UITestAutomation.csproj │ │ │ ├── UITestBase.cs │ │ │ ├── VisualAssert.cs │ │ │ ├── VisualHelper.cs │ │ │ └── WindowHelper.cs │ │ ├── UnitTests-CommonLib/ │ │ │ ├── Settings.Tests.cpp │ │ │ ├── UnitTests-CommonLib.rc │ │ │ ├── UnitTests-CommonLib.vcxproj │ │ │ ├── UnitTests-CommonLib.vcxproj.filters │ │ │ ├── UnitTestsVersionHelper.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ └── resource.h │ │ ├── UnitTests-CommonUtils/ │ │ │ ├── AppMutex.Tests.cpp │ │ │ ├── ColorUtils.Tests.cpp │ │ │ ├── ComObjectFactory.Tests.cpp │ │ │ ├── Elevation.Tests.cpp │ │ │ ├── ExcludedApps.Tests.cpp │ │ │ ├── Exec.Tests.cpp │ │ │ ├── GameMode.Tests.cpp │ │ │ ├── Gpo.Tests.cpp │ │ │ ├── HDropIterator.Tests.cpp │ │ │ ├── HttpClient.Tests.cpp │ │ │ ├── Json.Tests.cpp │ │ │ ├── LoggerHelper.Tests.cpp │ │ │ ├── ModulesRegistry.Tests.cpp │ │ │ ├── MsWindowsSettings.Tests.cpp │ │ │ ├── MsiUtils.Tests.cpp │ │ │ ├── OsDetect.Tests.cpp │ │ │ ├── Package.Tests.cpp │ │ │ ├── ProcessApi.Tests.cpp │ │ │ ├── ProcessPath.Tests.cpp │ │ │ ├── ProcessWaiter.Tests.cpp │ │ │ ├── Registry.Tests.cpp │ │ │ ├── Resources.Tests.cpp │ │ │ ├── Serialized.Tests.cpp │ │ │ ├── StringUtils.Tests.cpp │ │ │ ├── TestHelpers.h │ │ │ ├── TestStubs.cpp │ │ │ ├── Threading.Tests.cpp │ │ │ ├── TimeUtils.Tests.cpp │ │ │ ├── UnhandledException.Tests.cpp │ │ │ ├── UnitTests-CommonUtils.rc │ │ │ ├── UnitTests-CommonUtils.vcxproj │ │ │ ├── UnitTests-CommonUtils.vcxproj.filters │ │ │ ├── WinApiError.Tests.cpp │ │ │ ├── Window.Tests.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ └── resource.h │ │ ├── debug_control.h │ │ ├── hooks/ │ │ │ ├── LowlevelKeyboardEvent.h │ │ │ └── WinHookEvent.h │ │ ├── interop/ │ │ │ ├── CommonManaged.cpp │ │ │ ├── CommonManaged.h │ │ │ ├── CommonManaged.idl │ │ │ ├── Constants.cpp │ │ │ ├── Constants.h │ │ │ ├── Constants.idl │ │ │ ├── HotkeyManager.cpp │ │ │ ├── HotkeyManager.h │ │ │ ├── HotkeyManager.idl │ │ │ ├── KeyboardHook.cpp │ │ │ ├── KeyboardHook.h │ │ │ ├── KeyboardHook.idl │ │ │ ├── LayoutMapManaged.cpp │ │ │ ├── LayoutMapManaged.h │ │ │ ├── LayoutMapManaged.idl │ │ │ ├── PowerToys.Interop.def │ │ │ ├── PowerToys.Interop.vcxproj │ │ │ ├── PowerToys.Interop.vcxproj.filters │ │ │ ├── PropertySheet.props │ │ │ ├── Resource.h │ │ │ ├── TwoWayPipeMessageIPCManaged.cpp │ │ │ ├── TwoWayPipeMessageIPCManaged.h │ │ │ ├── TwoWayPipeMessageIPCManaged.idl │ │ │ ├── async_message_queue.h │ │ │ ├── interop-tests/ │ │ │ │ ├── Common.Interop.UnitTests.csproj │ │ │ │ └── InteropTests.cs │ │ │ ├── interop.rc │ │ │ ├── keyboard_layout.cpp │ │ │ ├── keyboard_layout.h │ │ │ ├── keyboard_layout_impl.h │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── shared_constants.h │ │ │ ├── two_way_pipe_message_ipc.cpp │ │ │ ├── two_way_pipe_message_ipc.h │ │ │ └── two_way_pipe_message_ipc_impl.h │ │ ├── logger/ │ │ │ ├── call_tracer.cpp │ │ │ ├── call_tracer.h │ │ │ ├── framework.h │ │ │ ├── logger.cpp │ │ │ ├── logger.h │ │ │ ├── logger.vcxproj │ │ │ ├── logger.vcxproj.filters │ │ │ ├── logger_settings.cpp │ │ │ ├── logger_settings.h │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ └── pch.h │ │ ├── monitor_utils.h │ │ ├── notifications/ │ │ │ ├── BackgroundActivator/ │ │ │ │ ├── BackgroundActivator.vcxproj │ │ │ │ ├── BackgroundActivator.vcxproj.filters │ │ │ │ ├── BackgroundHandler.cpp │ │ │ │ ├── BackgroundHandler.h │ │ │ │ ├── BackgroundHandler.idl │ │ │ │ ├── handler_functions.cpp │ │ │ │ ├── handler_functions.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── BackgroundActivatorDLL/ │ │ │ │ ├── BackgroundActivator.def │ │ │ │ ├── BackgroundActivator.rc │ │ │ │ ├── BackgroundActivator.vcxproj.filters │ │ │ │ ├── BackgroundActivatorDLL.vcxproj │ │ │ │ ├── cpp.hint │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── framework.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.h │ │ │ ├── NotificationUtil.cpp │ │ │ ├── NotificationUtil.h │ │ │ ├── dont_show_again.cpp │ │ │ ├── dont_show_again.h │ │ │ ├── notifications.cpp │ │ │ ├── notifications.h │ │ │ ├── notifications.vcxproj │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ └── pch.h │ │ ├── sysinternals/ │ │ │ ├── Eula/ │ │ │ │ ├── Eula.txt │ │ │ │ ├── eula.c │ │ │ │ ├── eula.h │ │ │ │ └── eula.rtf │ │ │ ├── WindowsVersions.cpp │ │ │ ├── WindowsVersions.h │ │ │ ├── dll.c │ │ │ └── dll.h │ │ ├── updating/ │ │ │ ├── installer.cpp │ │ │ ├── installer.h │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── updateState.cpp │ │ │ ├── updateState.h │ │ │ ├── updating.cpp │ │ │ ├── updating.h │ │ │ ├── updating.vcxproj │ │ │ └── updating.vcxproj.filters │ │ ├── utils/ │ │ │ ├── EventLocker.h │ │ │ ├── EventWaiter.h │ │ │ ├── HDropIterator.h │ │ │ ├── HttpClient.h │ │ │ ├── MsWindowsSettings.h │ │ │ ├── MsiUtils.h │ │ │ ├── OnThreadExecutor.h │ │ │ ├── ProcessWaiter.h │ │ │ ├── UnhandledExceptionHandler.h │ │ │ ├── appMutex.h │ │ │ ├── clean_video_conference.h │ │ │ ├── color.h │ │ │ ├── com_object_factory.h │ │ │ ├── elevation.h │ │ │ ├── excluded_apps.h │ │ │ ├── exec.h │ │ │ ├── game_mode.h │ │ │ ├── gpo.h │ │ │ ├── json.h │ │ │ ├── language_helper.h │ │ │ ├── logger_helper.h │ │ │ ├── modulesRegistry.h │ │ │ ├── os-detect.h │ │ │ ├── package.h │ │ │ ├── processApi.h │ │ │ ├── process_path.h │ │ │ ├── registry.h │ │ │ ├── resources.h │ │ │ ├── serialized.h │ │ │ ├── shell_ext_registration.h │ │ │ ├── string_utils.h │ │ │ ├── timeutil.h │ │ │ ├── winapi_error.h │ │ │ └── window.h │ │ └── version/ │ │ ├── helper.cpp │ │ ├── helper.h │ │ ├── version.cpp │ │ ├── version.h │ │ └── version.vcxproj │ ├── dsc/ │ │ ├── Microsoft.PowerToys.Configure/ │ │ │ └── examples/ │ │ │ ├── README.md │ │ │ ├── configuration.winget │ │ │ ├── configureLauncherPlugins.winget │ │ │ ├── disableAllModules.winget │ │ │ ├── enableAllModules.winget │ │ │ └── installAndConfiguration.winget │ │ ├── PowerToys.Settings.DSC.Schema.Generator/ │ │ │ ├── Common.cs │ │ │ ├── DSCGeneration.cs │ │ │ ├── DocumentationGeneration.cs │ │ │ ├── Introspection.cs │ │ │ ├── PowerToys.Settings.DSC.Schema.Generator.csproj │ │ │ ├── Program.cs │ │ │ ├── SampleGeneration.cs │ │ │ └── app.manifest │ │ └── v3/ │ │ ├── PowerToys.DSC/ │ │ │ ├── Commands/ │ │ │ │ ├── BaseCommand.cs │ │ │ │ ├── ExportCommand.cs │ │ │ │ ├── GetCommand.cs │ │ │ │ ├── ManifestCommand.cs │ │ │ │ ├── ModulesCommand.cs │ │ │ │ ├── SchemaCommand.cs │ │ │ │ ├── SetCommand.cs │ │ │ │ └── TestCommand.cs │ │ │ ├── DSCResources/ │ │ │ │ ├── BaseResource.cs │ │ │ │ └── SettingsResource.cs │ │ │ ├── Models/ │ │ │ │ ├── DscManifest.cs │ │ │ │ ├── DscMessageLevel.cs │ │ │ │ ├── FunctionData/ │ │ │ │ │ ├── BaseFunctionData.cs │ │ │ │ │ ├── ISettingsFunctionData.cs │ │ │ │ │ └── SettingsFunctionData`1.cs │ │ │ │ └── ResourceObjects/ │ │ │ │ ├── BaseResourceObject.cs │ │ │ │ ├── ISettingsResourceObject.cs │ │ │ │ └── SettingsResourceObject`1.cs │ │ │ ├── Options/ │ │ │ │ ├── InputOption.cs │ │ │ │ ├── ModuleOption.cs │ │ │ │ ├── OutputDirectoryOption.cs │ │ │ │ └── ResourceOption.cs │ │ │ ├── PowerToys.DSC.csproj │ │ │ ├── Program.cs │ │ │ └── Properties/ │ │ │ ├── Resources.Designer.cs │ │ │ └── Resources.resx │ │ └── PowerToys.DSC.UnitTests/ │ │ ├── BaseDscTest.cs │ │ ├── CommandTest.cs │ │ ├── Models/ │ │ │ └── DscExecuteResult.cs │ │ ├── PowerToys.DSC.UnitTests.csproj │ │ └── SettingsResourceTests/ │ │ ├── SettingsResourceAdvancedPasteModuleTest.cs │ │ ├── SettingsResourceAlwaysOnTopModuleTest.cs │ │ ├── SettingsResourceAppModuleTest.cs │ │ ├── SettingsResourceAwakeModuleTest.cs │ │ ├── SettingsResourceColorPickerModuleTest.cs │ │ ├── SettingsResourceCommandTest.cs │ │ ├── SettingsResourceCropAndLockModuleTest.cs │ │ └── SettingsResourceModuleTest`1.cs │ ├── gpo/ │ │ └── assets/ │ │ ├── PowerToys.admx │ │ └── en-US/ │ │ └── PowerToys.adml │ ├── logging/ │ │ ├── logging.vcxproj │ │ └── logging.vcxproj.filters │ ├── modules/ │ │ ├── AdvancedPaste/ │ │ │ ├── AdvancedPaste/ │ │ │ │ ├── AdvancedPaste.csproj │ │ │ │ ├── AdvancedPasteXAML/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── App.xaml.cs │ │ │ │ │ ├── Controls/ │ │ │ │ │ │ ├── AnimatedContentControl/ │ │ │ │ │ │ │ ├── AnimatedBorderBrush.cs │ │ │ │ │ │ │ ├── AnimatedBorderBrush.xaml │ │ │ │ │ │ │ ├── AnimatedContentControl.cs │ │ │ │ │ │ │ └── AnimatedContentControl.xaml │ │ │ │ │ │ ├── ClipboardHistoryItemPreviewControl.xaml │ │ │ │ │ │ ├── ClipboardHistoryItemPreviewControl.xaml.cs │ │ │ │ │ │ ├── PasteFormatTemplateSelector.cs │ │ │ │ │ │ ├── PromptBox.xaml │ │ │ │ │ │ └── PromptBox.xaml.cs │ │ │ │ │ ├── Converters/ │ │ │ │ │ │ ├── CountToDoubleConverter.cs │ │ │ │ │ │ ├── CountToInvertedVisibilityConverter.cs │ │ │ │ │ │ ├── CountToVisibilityConverter.cs │ │ │ │ │ │ ├── DateTimeToFriendlyStringConverter.cs │ │ │ │ │ │ ├── HexColorConverterHelper.cs │ │ │ │ │ │ ├── HexColorToBrushConverter.cs │ │ │ │ │ │ ├── PasteFormatsToHeightConverter.cs │ │ │ │ │ │ └── ServiceTypeToIconConverter.cs │ │ │ │ │ ├── MainWindow.xaml │ │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── MainPage.xaml │ │ │ │ │ │ └── MainPage.xaml.cs │ │ │ │ │ ├── Styles/ │ │ │ │ │ │ └── Button.xaml │ │ │ │ │ └── Themes/ │ │ │ │ │ └── Generic.xaml │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── AIServiceFormatEvent.cs │ │ │ │ │ ├── AIServiceUsageHelper.cs │ │ │ │ │ ├── ClipboardHelper.cs │ │ │ │ │ ├── ClipboardItemHelper.cs │ │ │ │ │ ├── Constants.cs │ │ │ │ │ ├── DataPackageHelpers.cs │ │ │ │ │ ├── ErrorHelpers.cs │ │ │ │ │ ├── IUserSettings.cs │ │ │ │ │ ├── JsonHelper.cs │ │ │ │ │ ├── KernelExtensions.cs │ │ │ │ │ ├── MarkdownHelper.cs │ │ │ │ │ ├── NamedPipeProcessor.cs │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ ├── OcrHelpers.cs │ │ │ │ │ ├── ResourceLoaderInstance.cs │ │ │ │ │ ├── TranscodeHelpers.cs │ │ │ │ │ ├── TransformHelpers.cs │ │ │ │ │ └── UserSettings.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── AIServiceUsage.cs │ │ │ │ │ ├── ActionChainItem.cs │ │ │ │ │ ├── ClipboardFormat.cs │ │ │ │ │ ├── ClipboardItem.cs │ │ │ │ │ ├── KernelQueryCache/ │ │ │ │ │ │ ├── CacheKey.cs │ │ │ │ │ │ ├── CacheValue.cs │ │ │ │ │ │ └── PersistedCache.cs │ │ │ │ │ ├── PasteActionError.cs │ │ │ │ │ ├── PasteActionException.cs │ │ │ │ │ ├── PasteActionModeratedException.cs │ │ │ │ │ ├── PasteActionSource.cs │ │ │ │ │ ├── PasteFormat.cs │ │ │ │ │ ├── PasteFormatMetadataAttribute.cs │ │ │ │ │ └── PasteFormats.cs │ │ │ │ ├── NativeMethods.txt │ │ │ │ ├── Program.cs │ │ │ │ ├── SerializationContext/ │ │ │ │ │ └── SourceGenerationContext.cs │ │ │ │ ├── Services/ │ │ │ │ │ ├── AdvancedAIKernelService.cs │ │ │ │ │ ├── CustomActionKernelQueryCacheService.cs │ │ │ │ │ ├── CustomActions/ │ │ │ │ │ │ ├── CustomActionTransformResult.cs │ │ │ │ │ │ ├── CustomActionTransformService.cs │ │ │ │ │ │ ├── FoundryLocalPasteProvider.cs │ │ │ │ │ │ ├── ICustomActionTransformService.cs │ │ │ │ │ │ ├── IPasteAIProvider.cs │ │ │ │ │ │ ├── IPasteAIProviderFactory.cs │ │ │ │ │ │ ├── LocalModelPasteProvider.cs │ │ │ │ │ │ ├── PasteAIConfig.cs │ │ │ │ │ │ ├── PasteAIProviderFactory.cs │ │ │ │ │ │ ├── PasteAIProviderRegistration.cs │ │ │ │ │ │ ├── PasteAIRequest.cs │ │ │ │ │ │ └── SemanticKernelPasteProvider.cs │ │ │ │ │ ├── EnhancedVaultCredentialsProvider.cs │ │ │ │ │ ├── IAICredentialsProvider.cs │ │ │ │ │ ├── IKernelQueryCacheService.cs │ │ │ │ │ ├── IKernelRuntimeConfiguration.cs │ │ │ │ │ ├── IKernelService.cs │ │ │ │ │ ├── IPasteFormatExecutor.cs │ │ │ │ │ ├── IPromptModerationService.cs │ │ │ │ │ ├── KernelServiceBase.cs │ │ │ │ │ ├── OpenAI/ │ │ │ │ │ │ └── PromptModerationService.cs │ │ │ │ │ └── PasteFormatExecutor.cs │ │ │ │ ├── Strings/ │ │ │ │ │ └── en-us/ │ │ │ │ │ └── Resources.resw │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── AdvancedPasteClipboardItemClicked.cs │ │ │ │ │ ├── AdvancedPasteClipboardItemDeletedEvent.cs │ │ │ │ │ ├── AdvancedPasteCustomActionErrorEvent.cs │ │ │ │ │ ├── AdvancedPasteCustomFormatOutputThumbUpDownEvent.cs │ │ │ │ │ ├── AdvancedPasteEndpointUsageEvent.cs │ │ │ │ │ ├── AdvancedPasteFormatClickedEvent.cs │ │ │ │ │ ├── AdvancedPasteGenerateCustomErrorEvent.cs │ │ │ │ │ ├── AdvancedPasteGenerateCustomFormatEvent.cs │ │ │ │ │ ├── AdvancedPasteInAppKeyboardShortcutEvent.cs │ │ │ │ │ ├── AdvancedPasteSemanticKernelErrorEvent.cs │ │ │ │ │ └── AdvancedPasteSemanticKernelFormatEvent.cs │ │ │ │ ├── ViewModels/ │ │ │ │ │ └── OptionsViewModel.cs │ │ │ │ └── app.manifest │ │ │ ├── AdvancedPaste.FuzzTests/ │ │ │ │ ├── AdvancedPaste.FuzzTests.csproj │ │ │ │ ├── Fuzz.md │ │ │ │ ├── FuzzTests.cs │ │ │ │ ├── Logger.cs │ │ │ │ ├── MSTestSettings.cs │ │ │ │ └── OneFuzzConfig.json │ │ │ ├── AdvancedPaste.UnitTests/ │ │ │ │ ├── AdvancedPaste.UnitTests.csproj │ │ │ │ ├── ConvertersTests/ │ │ │ │ │ └── HexColorToColorConverterTests.cs │ │ │ │ ├── HelpersTests/ │ │ │ │ │ └── ClipboardItemHelperTests.cs │ │ │ │ ├── Mocks/ │ │ │ │ │ ├── IntegrationTestUserSettings.cs │ │ │ │ │ ├── NoOpKernelQueryCacheService.cs │ │ │ │ │ └── NoOpProgress.cs │ │ │ │ ├── ServicesTests/ │ │ │ │ │ ├── AIServiceBatchIntegrationTests.cs │ │ │ │ │ ├── CustomActionKernelQueryCacheServiceTests.cs │ │ │ │ │ ├── KernelServiceIntegrationTests.cs │ │ │ │ │ └── TranscodeHelperIntegrationTests.cs │ │ │ │ └── Utils/ │ │ │ │ ├── AdvancedPasteEventListener.cs │ │ │ │ └── ResourceUtils.cs │ │ │ ├── AdvancedPasteModuleInterface/ │ │ │ │ ├── AdvancedPaste.base.rc │ │ │ │ ├── AdvancedPasteConstants.h │ │ │ │ ├── AdvancedPasteModuleInterface.vcxproj │ │ │ │ ├── AdvancedPasteModuleInterface.vcxproj.filters │ │ │ │ ├── AdvancedPasteProcessManager.cpp │ │ │ │ ├── AdvancedPasteProcessManager.h │ │ │ │ ├── Resources.resx │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── UITest-AdvancedPaste/ │ │ │ ├── AdvancedPaste-UITests.csproj │ │ │ ├── AdvancedPasteUITest.cs │ │ │ ├── Helper/ │ │ │ │ └── FileReader.cs │ │ │ ├── TestFiles/ │ │ │ │ ├── PasteAsJsonFile.xml │ │ │ │ ├── PasteAsJsonResultFile.txt │ │ │ │ ├── PasteAsMarkdownFile.html │ │ │ │ ├── PasteAsMarkdownResultFile.txt │ │ │ │ ├── PasteAsPlainTextFilePlain.rtf │ │ │ │ ├── PasteAsPlainTextFilePlainNoRepeat.rtf │ │ │ │ ├── PasteAsPlainTextFileRaw.rtf │ │ │ │ └── settings.json │ │ │ └── UITestAdvancedPaste.md │ │ ├── CropAndLock/ │ │ │ ├── CropAndLock/ │ │ │ │ ├── ChildWindow.cpp │ │ │ │ ├── ChildWindow.h │ │ │ │ ├── CropAndLock.rc │ │ │ │ ├── CropAndLock.vcxproj │ │ │ │ ├── CropAndLock.vcxproj.filters │ │ │ │ ├── CropAndLockWindow.h │ │ │ │ ├── DispatcherQueue.desktop.interop.h │ │ │ │ ├── DisplaysUtil.h │ │ │ │ ├── ModuleConstants.h │ │ │ │ ├── OverlayWindow.cpp │ │ │ │ ├── OverlayWindow.h │ │ │ │ ├── PropertySheet.props │ │ │ │ ├── ReparentCropAndLockWindow.cpp │ │ │ │ ├── ReparentCropAndLockWindow.h │ │ │ │ ├── ScreenshotCropAndLockWindow.cpp │ │ │ │ ├── ScreenshotCropAndLockWindow.h │ │ │ │ ├── SettingsWindow.h │ │ │ │ ├── ThumbnailCropAndLockWindow.cpp │ │ │ │ ├── ThumbnailCropAndLockWindow.h │ │ │ │ ├── ThumbnailUtil.h │ │ │ │ ├── WindowRectUtil.h │ │ │ │ ├── app.manifest │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── CropAndLockModuleInterface/ │ │ │ ├── CropAndLockModuleInterface.rc │ │ │ ├── CropAndLockModuleInterface.vcxproj │ │ │ ├── CropAndLockModuleInterface.vcxproj.filters │ │ │ ├── dllmain.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ └── resource.h │ │ ├── EnvironmentVariables/ │ │ │ ├── EnvironmentVariables/ │ │ │ │ ├── EnvironmentVariables.csproj │ │ │ │ ├── EnvironmentVariablesXAML/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── App.xaml.cs │ │ │ │ │ ├── MainWindow.xaml │ │ │ │ │ └── MainWindow.xaml.cs │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── LoggerWrapper.cs │ │ │ │ │ └── NativeMethods.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── EnvironmentVariablesOpenedEvent.cs │ │ │ │ │ ├── EnvironmentVariablesProfileEnabledEvent.cs │ │ │ │ │ ├── EnvironmentVariablesVariableChangedEvent.cs │ │ │ │ │ └── TelemetryWrapper.cs │ │ │ │ └── app.manifest │ │ │ ├── EnvironmentVariablesModuleInterface/ │ │ │ │ ├── EnvironmentVariablesModuleInterface.base.rc │ │ │ │ ├── EnvironmentVariablesModuleInterface.vcxproj │ │ │ │ ├── EnvironmentVariablesModuleInterface.vcxproj.filters │ │ │ │ ├── Resource.resx │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── EnvironmentVariablesUILib/ │ │ │ ├── Converters/ │ │ │ │ ├── EnvironmentStateToBoolConverter.cs │ │ │ │ ├── EnvironmentStateToMessageConverter.cs │ │ │ │ ├── EnvironmentStateToTitleConverter.cs │ │ │ │ ├── EnvironmentStateToVisibilityConverter.cs │ │ │ │ └── VariableTypeToGlyphConverter.cs │ │ │ ├── EnvironmentVariablesMainPage.xaml │ │ │ ├── EnvironmentVariablesMainPage.xaml.cs │ │ │ ├── EnvironmentVariablesUILib.csproj │ │ │ ├── Helpers/ │ │ │ │ ├── ElevationHelper.cs │ │ │ │ ├── EnvironmentVariablesHelper.cs │ │ │ │ ├── EnvironmentVariablesService.cs │ │ │ │ ├── IElevationHelper.cs │ │ │ │ ├── IEnvironmentVariablesService.cs │ │ │ │ ├── ILogger.cs │ │ │ │ ├── LoggerInstance.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ └── ResourceLoaderInstance.cs │ │ │ ├── Models/ │ │ │ │ ├── DefaultVariablesSet.cs │ │ │ │ ├── EnvironmentState.cs │ │ │ │ ├── ProfileVariablesSet.cs │ │ │ │ ├── Variable.cs │ │ │ │ ├── VariablesSet.cs │ │ │ │ └── VariablesSetType.cs │ │ │ ├── Strings/ │ │ │ │ └── en-us/ │ │ │ │ └── Resources.resw │ │ │ ├── Telemetry/ │ │ │ │ ├── ITelemetry.cs │ │ │ │ └── TelemetryInstance.cs │ │ │ ├── ViewModels/ │ │ │ │ └── MainViewModel.cs │ │ │ └── app.manifest │ │ ├── FileLocksmith/ │ │ │ ├── FileLocksmithCLI/ │ │ │ │ ├── CLILogic.cpp │ │ │ │ ├── CLILogic.h │ │ │ │ ├── FileLocksmithCLI.rc │ │ │ │ ├── FileLocksmithCLI.vcxproj │ │ │ │ ├── FileLocksmithCLI.vcxproj.filters │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ └── tests/ │ │ │ │ ├── FileLocksmithCLITests.cpp │ │ │ │ ├── FileLocksmithCLIUnitTests.vcxproj │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── FileLocksmithContextMenu/ │ │ │ │ ├── AppxManifest.xml │ │ │ │ ├── FileLocksmithContextMenu.base.rc │ │ │ │ ├── FileLocksmithContextMenu.vcxproj │ │ │ │ ├── FileLocksmithContextMenu.vcxproj.filters │ │ │ │ ├── Resources.resx │ │ │ │ ├── Source.def │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── framework.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.base.h │ │ │ ├── FileLocksmithExt/ │ │ │ │ ├── ClassFactory.cpp │ │ │ │ ├── ClassFactory.h │ │ │ │ ├── ExplorerCommand.cpp │ │ │ │ ├── ExplorerCommand.h │ │ │ │ ├── FileLocksmithExt.base.rc │ │ │ │ ├── FileLocksmithExt.vcxproj │ │ │ │ ├── FileLocksmithExt.vcxproj.filters │ │ │ │ ├── PowerToysModule.cpp │ │ │ │ ├── Resources.resx │ │ │ │ ├── RuntimeRegistration.h │ │ │ │ ├── dll.def │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── dllmain.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.base.h │ │ │ ├── FileLocksmithLib/ │ │ │ │ ├── Constants.h │ │ │ │ ├── FileLocksmith.h │ │ │ │ ├── FileLocksmithLib.cpp │ │ │ │ ├── FileLocksmithLib.vcxproj │ │ │ │ ├── FileLocksmithLib.vcxproj.filters │ │ │ │ ├── IPC.cpp │ │ │ │ ├── IPC.h │ │ │ │ ├── ProcessResult.h │ │ │ │ ├── Settings.cpp │ │ │ │ ├── Settings.h │ │ │ │ ├── Trace.cpp │ │ │ │ ├── Trace.h │ │ │ │ ├── framework.h │ │ │ │ ├── packages.config │ │ │ │ └── pch.cpp │ │ │ ├── FileLocksmithLibInterop/ │ │ │ │ ├── FileLocksmith.cpp │ │ │ │ ├── FileLocksmith.h │ │ │ │ ├── FileLocksmithLibInterop.rc │ │ │ │ ├── FileLocksmithLibInterop.vcxproj │ │ │ │ ├── FileLocksmithLibInterop.vcxproj.filters │ │ │ │ ├── NativeMethods.cpp │ │ │ │ ├── NativeMethods.h │ │ │ │ ├── NativeMethods.idl │ │ │ │ ├── NtdllBase.cpp │ │ │ │ ├── NtdllBase.h │ │ │ │ ├── NtdllExtensions.cpp │ │ │ │ ├── NtdllExtensions.h │ │ │ │ ├── PowerToys.FileLocksmithLibInterop.def │ │ │ │ ├── ProcessResult.cpp │ │ │ │ ├── ProcessResult.h │ │ │ │ ├── ProcessResult.idl │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.h │ │ │ └── FileLocksmithUI/ │ │ │ ├── Converters/ │ │ │ │ ├── FileCountConverter.cs │ │ │ │ ├── FileListToDescriptionConverter.cs │ │ │ │ ├── PidToIconConverter.cs │ │ │ │ └── UserToSystemWarningVisibilityConverter.cs │ │ │ ├── FileLocksmithUI.csproj │ │ │ ├── FileLocksmithXAML/ │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── MainWindow.xaml │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ └── Views/ │ │ │ │ ├── MainPage.xaml │ │ │ │ └── MainPage.xaml.cs │ │ │ ├── Helpers/ │ │ │ │ └── ResourceLoaderInstance.cs │ │ │ ├── Strings/ │ │ │ │ └── en-us/ │ │ │ │ └── Resources.resw │ │ │ ├── ViewModels/ │ │ │ │ └── MainViewModel.cs │ │ │ └── app.manifest │ │ ├── Hosts/ │ │ │ ├── Hosts/ │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── Host.cs │ │ │ │ │ ├── LoggerWrapper.cs │ │ │ │ │ └── NativeEventWaiter.cs │ │ │ │ ├── Hosts.csproj │ │ │ │ ├── HostsXAML/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── App.xaml.cs │ │ │ │ │ ├── MainWindow.xaml │ │ │ │ │ └── MainWindow.xaml.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Settings/ │ │ │ │ │ └── UserSettings.cs │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── HostEditorStartEvent.cs │ │ │ │ │ ├── HostEditorStartFinishEvent.cs │ │ │ │ │ └── HostsFileEditorOpenedEvent.cs │ │ │ │ └── app.manifest │ │ │ ├── Hosts.FuzzTests/ │ │ │ │ ├── Fuzz.md │ │ │ │ ├── FuzzTests.cs │ │ │ │ ├── HostsEditor.FuzzTests.csproj │ │ │ │ ├── MSTestSettings.cs │ │ │ │ └── OneFuzzConfig.json │ │ │ ├── Hosts.Tests/ │ │ │ │ ├── BackupManagerTest.cs │ │ │ │ ├── EntryTest.cs │ │ │ │ ├── HostsEditor.UnitTests.csproj │ │ │ │ ├── HostsServiceTest.cs │ │ │ │ └── Mocks/ │ │ │ │ ├── CustomMockFileSystem.cs │ │ │ │ ├── MockFileSystemWatcher.cs │ │ │ │ └── MockFileSystemWatcherFactory.cs │ │ │ ├── Hosts.UITests/ │ │ │ │ ├── HostModuleTests.cs │ │ │ │ ├── HostsEditor.UITests.csproj │ │ │ │ ├── HostsSettingTests.cs │ │ │ │ └── Release-Test-Checklist-Migration-Progress.md │ │ │ ├── HostsModuleInterface/ │ │ │ │ ├── HostsModuleInterface.base.rc │ │ │ │ ├── HostsModuleInterface.vcxproj │ │ │ │ ├── HostsModuleInterface.vcxproj.filters │ │ │ │ ├── Resource.resx │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── HostsUILib/ │ │ │ ├── Consts.cs │ │ │ ├── Exceptions/ │ │ │ │ ├── NotRunningElevatedException.cs │ │ │ │ └── ReadOnlyHostsException.cs │ │ │ ├── Helpers/ │ │ │ │ ├── BackupManager.cs │ │ │ │ ├── DuplicateService.cs │ │ │ │ ├── ElevationHelper.cs │ │ │ │ ├── ExpressionExtensions.cs │ │ │ │ ├── HostsService.cs │ │ │ │ ├── IBackupManager.cs │ │ │ │ ├── IDuplicateService.cs │ │ │ │ ├── IElevationHelper.cs │ │ │ │ ├── IHostsService.cs │ │ │ │ ├── ILogger.cs │ │ │ │ ├── LoggerInstance.cs │ │ │ │ ├── ResourceLoaderInstance.cs │ │ │ │ ├── StringHelper.cs │ │ │ │ ├── ValidationHelper.cs │ │ │ │ └── VisualTreeUtils.cs │ │ │ ├── HostsMainPage.xaml │ │ │ ├── HostsMainPage.xaml.cs │ │ │ ├── HostsUILib.csproj │ │ │ ├── Models/ │ │ │ │ ├── AddressType.cs │ │ │ │ ├── Entry.cs │ │ │ │ └── HostsData.cs │ │ │ ├── Settings/ │ │ │ │ ├── HostsAdditionalLinesPosition.cs │ │ │ │ ├── HostsDeleteBackupMode.cs │ │ │ │ ├── HostsEncoding.cs │ │ │ │ └── IUserSettings.cs │ │ │ ├── Strings/ │ │ │ │ └── en-us/ │ │ │ │ └── Resources.resw │ │ │ └── ViewModels/ │ │ │ └── MainViewModel.cs │ │ ├── LightSwitch/ │ │ │ ├── LightSwitchLib/ │ │ │ │ ├── LightSwitchLib.vcxproj │ │ │ │ ├── LightSwitchLib.vcxproj.filters │ │ │ │ ├── ThemeHelper.cpp │ │ │ │ ├── ThemeHelper.h │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── LightSwitchModuleInterface/ │ │ │ │ ├── ExportedFunctions.cpp │ │ │ │ ├── LightSwitchModuleInterface.rc │ │ │ │ ├── LightSwitchModuleInterface.vcxproj │ │ │ │ ├── LightSwitchModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── LightSwitchService/ │ │ │ │ ├── LightSwitchService.cpp │ │ │ │ ├── LightSwitchService.rc │ │ │ │ ├── LightSwitchService.vcxproj │ │ │ │ ├── LightSwitchService.vcxproj.filters │ │ │ │ ├── LightSwitchSettings.cpp │ │ │ │ ├── LightSwitchSettings.h │ │ │ │ ├── LightSwitchStateManager.cpp │ │ │ │ ├── LightSwitchStateManager.h │ │ │ │ ├── LightSwitchUtils.h │ │ │ │ ├── NightLightRegistryObserver.cpp │ │ │ │ ├── NightLightRegistryObserver.h │ │ │ │ ├── SettingsConstants.cpp │ │ │ │ ├── SettingsConstants.h │ │ │ │ ├── SettingsObserver.h │ │ │ │ ├── ThemeScheduler.cpp │ │ │ │ ├── ThemeScheduler.h │ │ │ │ ├── WinHookEventIDs.cpp │ │ │ │ ├── WinHookEventIDs.h │ │ │ │ ├── packages.config │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── Tests/ │ │ │ └── LightSwitch.UITests/ │ │ │ ├── LightSwitch.UITests.csproj │ │ │ ├── Package.appxmanifest │ │ │ ├── TestGeolocation.cs │ │ │ ├── TestHelper.cs │ │ │ ├── TestOffset.cs │ │ │ ├── TestShortcut.cs │ │ │ ├── TestUpdateManualTime.cs │ │ │ ├── TestUserSelectedLocation.cs │ │ │ └── app.manifest │ │ ├── MeasureTool/ │ │ │ ├── MeasureToolCore/ │ │ │ │ ├── BGRATextureView.cpp │ │ │ │ ├── BGRATextureView.h │ │ │ │ ├── BoundsToolOverlayUI.cpp │ │ │ │ ├── BoundsToolOverlayUI.h │ │ │ │ ├── Clipboard.cpp │ │ │ │ ├── Clipboard.h │ │ │ │ ├── CoordinateSystemConversion.h │ │ │ │ ├── D2DState.cpp │ │ │ │ ├── D2DState.h │ │ │ │ ├── DxgiAPI.cpp │ │ │ │ ├── DxgiAPI.h │ │ │ │ ├── EdgeDetection.cpp │ │ │ │ ├── EdgeDetection.h │ │ │ │ ├── MeasureTool.def │ │ │ │ ├── MeasureToolOverlayUI.cpp │ │ │ │ ├── MeasureToolOverlayUI.h │ │ │ │ ├── Measurement.cpp │ │ │ │ ├── Measurement.h │ │ │ │ ├── OverlayUI.cpp │ │ │ │ ├── OverlayUI.h │ │ │ │ ├── PerGlyphOpacityTextRender.cpp │ │ │ │ ├── PerGlyphOpacityTextRender.h │ │ │ │ ├── PowerToys.MeasureToolCore.cpp │ │ │ │ ├── PowerToys.MeasureToolCore.h │ │ │ │ ├── PowerToys.MeasureToolCore.idl │ │ │ │ ├── PowerToys.MeasureToolCore.rc │ │ │ │ ├── PowerToys.MeasureToolCore.vcxproj │ │ │ │ ├── PowerToys.MeasureToolCore.vcxproj.filters │ │ │ │ ├── ScreenCapturing.cpp │ │ │ │ ├── ScreenCapturing.h │ │ │ │ ├── Settings.cpp │ │ │ │ ├── Settings.h │ │ │ │ ├── ToolState.h │ │ │ │ ├── app.manifest │ │ │ │ ├── constants.h │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.h │ │ │ ├── MeasureToolModuleInterface/ │ │ │ │ ├── MeasureToolModuleInterface.rc │ │ │ │ ├── MeasureToolModuleInterface.vcxproj │ │ │ │ ├── MeasureToolModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── MeasureToolUI/ │ │ │ │ ├── MeasureToolUI.csproj │ │ │ │ ├── MeasureToolXAML/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── App.xaml.cs │ │ │ │ │ ├── MainWindow.xaml │ │ │ │ │ └── MainWindow.xaml.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Settings.cs │ │ │ │ ├── Strings/ │ │ │ │ │ └── en-us/ │ │ │ │ │ └── Resources.resw │ │ │ │ └── app.manifest │ │ │ └── Tests/ │ │ │ └── ScreenRuler.UITests/ │ │ │ ├── Package.appxmanifest │ │ │ ├── ScreenRuler.UITests.csproj │ │ │ ├── TestBounds.cs │ │ │ ├── TestHelper.cs │ │ │ ├── TestShortcutActivation.cs │ │ │ ├── TestSpacing.cs │ │ │ ├── TestSpacingHorizontal.cs │ │ │ ├── TestSpacingVertical.cs │ │ │ └── app.manifest │ │ ├── MouseUtils/ │ │ │ ├── CursorWrap/ │ │ │ │ ├── CursorWrap.rc │ │ │ │ ├── CursorWrap.vcxproj │ │ │ │ ├── CursorWrapCore.cpp │ │ │ │ ├── CursorWrapCore.h │ │ │ │ ├── CursorWrapTests/ │ │ │ │ │ ├── CURSOR_WRAP_TESTS.md │ │ │ │ │ ├── Capture-MonitorLayout.ps1 │ │ │ │ │ ├── CursorLog/ │ │ │ │ │ │ ├── CursorLog/ │ │ │ │ │ │ │ ├── CursorLog.cpp │ │ │ │ │ │ │ ├── CursorLog.vcxproj │ │ │ │ │ │ │ └── CursorLog.vcxproj.filters │ │ │ │ │ │ └── CursorLog.slnx │ │ │ │ │ ├── WrapSimulator/ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── test_new_algorithm.py │ │ │ │ │ │ └── wrap_simulator.py │ │ │ │ │ ├── analyze_test_results.py │ │ │ │ │ └── monitor_layout_tests.py │ │ │ │ ├── CursorWrapTests.h │ │ │ │ ├── MonitorTopology.cpp │ │ │ │ ├── MonitorTopology.h │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── FindMyMouse/ │ │ │ │ ├── FindMyMouse.cpp │ │ │ │ ├── FindMyMouse.h │ │ │ │ ├── FindMyMouse.rc │ │ │ │ ├── FindMyMouse.vcxproj │ │ │ │ ├── FindMyMouse.vcxproj.filters │ │ │ │ ├── WinHookEventIDs.cpp │ │ │ │ ├── WinHookEventIDs.h │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── MouseHighlighter/ │ │ │ │ ├── MouseHighlighter.cpp │ │ │ │ ├── MouseHighlighter.h │ │ │ │ ├── MouseHighlighter.rc │ │ │ │ ├── MouseHighlighter.vcxproj │ │ │ │ ├── MouseHighlighter.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── MouseJump/ │ │ │ │ ├── MouseJump.rc │ │ │ │ ├── MouseJump.vcxproj │ │ │ │ ├── MouseJump.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── MouseJump.Common/ │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── ConfigHelper.cs │ │ │ │ │ ├── DrawingHelper.cs │ │ │ │ │ ├── LayoutHelper.cs │ │ │ │ │ ├── MouseHelper.cs │ │ │ │ │ ├── ScreenHelper.cs │ │ │ │ │ └── StyleHelper.cs │ │ │ │ ├── Imaging/ │ │ │ │ │ ├── DesktopImageRegionCopyService.cs │ │ │ │ │ ├── IImageRegionCopyService.cs │ │ │ │ │ └── StaticImageRegionCopyService.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── Drawing/ │ │ │ │ │ │ ├── BoxBounds.cs │ │ │ │ │ │ ├── PointInfo.cs │ │ │ │ │ │ ├── RectangleInfo.cs │ │ │ │ │ │ ├── ScreenInfo.cs │ │ │ │ │ │ └── SizeInfo.cs │ │ │ │ │ ├── Layout/ │ │ │ │ │ │ └── PreviewLayout.cs │ │ │ │ │ ├── Settings/ │ │ │ │ │ │ └── PreviewType.cs │ │ │ │ │ └── Styles/ │ │ │ │ │ ├── BackgroundStyle.cs │ │ │ │ │ ├── BorderStyle.cs │ │ │ │ │ ├── BoxStyle.cs │ │ │ │ │ ├── MarginStyle.cs │ │ │ │ │ ├── PaddingStyle.cs │ │ │ │ │ └── PreviewStyle.cs │ │ │ │ ├── MouseJump.Common.csproj │ │ │ │ ├── NativeMethods/ │ │ │ │ │ ├── Core/ │ │ │ │ │ │ ├── BOOL.cs │ │ │ │ │ │ ├── CRECT.cs │ │ │ │ │ │ ├── DWORD.cs │ │ │ │ │ │ ├── HANDLE.cs │ │ │ │ │ │ ├── HDC.cs │ │ │ │ │ │ ├── HMONITOR.cs │ │ │ │ │ │ ├── HWND.cs │ │ │ │ │ │ ├── LONG.cs │ │ │ │ │ │ ├── LPARAM.cs │ │ │ │ │ │ ├── LPCRECT.cs │ │ │ │ │ │ ├── LPPOINT.cs │ │ │ │ │ │ ├── LPRECT.cs │ │ │ │ │ │ ├── POINT.cs │ │ │ │ │ │ ├── RECT.cs │ │ │ │ │ │ ├── UINT.cs │ │ │ │ │ │ ├── ULONG_PTR.cs │ │ │ │ │ │ └── WORD.cs │ │ │ │ │ ├── Gdi32/ │ │ │ │ │ │ └── Graphics/ │ │ │ │ │ │ └── Gdi/ │ │ │ │ │ │ ├── Gdi32.ROP_CODE.cs │ │ │ │ │ │ ├── Gdi32.STRETCH_BLT_MODE.cs │ │ │ │ │ │ ├── Gdi32.SetStretchBltMode.cs │ │ │ │ │ │ └── Gdi32.StretchBlt.cs │ │ │ │ │ ├── Libraries.cs │ │ │ │ │ └── User32/ │ │ │ │ │ ├── Graphics/ │ │ │ │ │ │ └── Gdi/ │ │ │ │ │ │ ├── User32.EnumDisplayMonitors.cs │ │ │ │ │ │ ├── User32.GetMonitorInfoW.cs │ │ │ │ │ │ ├── User32.GetWindowDC.cs │ │ │ │ │ │ ├── User32.LPMONITORINFO.cs │ │ │ │ │ │ ├── User32.MONITORENUMPROC .cs │ │ │ │ │ │ ├── User32.MONITORINFO.cs │ │ │ │ │ │ ├── User32.MONITOR_FROM_FLAGS.cs │ │ │ │ │ │ ├── User32.MONITOR_INFO_FLAGS.cs │ │ │ │ │ │ ├── User32.MonitorFromPoint .cs │ │ │ │ │ │ └── User32.ReleaseDC.cs │ │ │ │ │ └── UI/ │ │ │ │ │ ├── Input/ │ │ │ │ │ │ └── KeyboardAndMouse/ │ │ │ │ │ │ ├── User32.HARDWAREINPUT.cs │ │ │ │ │ │ ├── User32.INPUT.cs │ │ │ │ │ │ ├── User32.INPUT_TYPE.cs │ │ │ │ │ │ ├── User32.KEYBDINPUT.cs │ │ │ │ │ │ ├── User32.LPINPUT.cs │ │ │ │ │ │ ├── User32.MOUSEINPUT.cs │ │ │ │ │ │ ├── User32.MOUSE_EVENT_FLAGS.cs │ │ │ │ │ │ └── User32.SendInput.cs │ │ │ │ │ └── WindowsAndMessaging/ │ │ │ │ │ ├── User32.GetCursorPos.cs │ │ │ │ │ ├── User32.GetDesktopWindow.cs │ │ │ │ │ ├── User32.GetSystemMetrics.cs │ │ │ │ │ ├── User32.SYSTEM_METRICS_INDEX.cs │ │ │ │ │ └── User32.SetCursorPos.cs │ │ │ │ └── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── MouseJump.Common.UnitTests/ │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── DrawingHelperTests.cs │ │ │ │ │ ├── LayoutHelperTests.cs │ │ │ │ │ └── MouseHelperTests.cs │ │ │ │ ├── Models/ │ │ │ │ │ └── Drawing/ │ │ │ │ │ ├── RectangleInfoTests.cs │ │ │ │ │ └── SizeInfoTests.cs │ │ │ │ └── MouseJump.Common.UnitTests.csproj │ │ │ ├── MouseJumpUI/ │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── SettingsHelper.cs │ │ │ │ │ └── ThrottledActionInvoker.cs │ │ │ │ ├── MainForm.Designer.cs │ │ │ │ ├── MainForm.cs │ │ │ │ ├── MainForm.resx │ │ │ │ ├── MouseJumpUI.csproj │ │ │ │ ├── Program.cs │ │ │ │ └── Telemetry/ │ │ │ │ ├── MouseJumpShowEvent.cs │ │ │ │ └── MouseJumpTeleportCursorEvent.cs │ │ │ ├── MousePointerCrosshairs/ │ │ │ │ ├── InclusiveCrosshairs.cpp │ │ │ │ ├── InclusiveCrosshairs.h │ │ │ │ ├── MousePointerCrosshairs.rc │ │ │ │ ├── MousePointerCrosshairs.vcxproj │ │ │ │ ├── MousePointerCrosshairs.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── MouseUtils.UITests/ │ │ │ ├── FindMyMouseTests.cs │ │ │ ├── MouseHighlighterTests.cs │ │ │ ├── MouseJumpTests.cs │ │ │ ├── MousePointerCrosshairsTests.cs │ │ │ ├── MouseUtils.UITests.csproj │ │ │ ├── Release-Test-Checklist-Migration-Progress.md │ │ │ └── util/ │ │ │ ├── FindMyMouseSettings.cs │ │ │ ├── IOUtil.cs │ │ │ ├── MouseHighlighterSettings.cs │ │ │ ├── MousePointerCrosshairsSettings.cs │ │ │ └── MouseUtilsSettings.cs │ │ ├── MouseWithoutBorders/ │ │ │ ├── App/ │ │ │ │ ├── Class/ │ │ │ │ │ ├── CustomCursor.cs │ │ │ │ │ ├── EasyMouseOption.cs │ │ │ │ │ ├── Extensions.cs │ │ │ │ │ ├── IClipboardHelper.cs │ │ │ │ │ ├── InputHook.cs │ │ │ │ │ ├── InputSimulation.cs │ │ │ │ │ ├── MachinePool.cs │ │ │ │ │ ├── MachinePoolHelpers.cs │ │ │ │ │ ├── MouseLocation.cs │ │ │ │ │ ├── MyKnownBitmap.cs │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Setting.cs │ │ │ │ │ ├── SeverityLevel.cs │ │ │ │ │ ├── SocketStuff.cs │ │ │ │ │ └── TcpServer.cs │ │ │ │ ├── Control/ │ │ │ │ │ ├── ColorBorderField.Designer.cs │ │ │ │ │ ├── ColorBorderField.cs │ │ │ │ │ ├── ColorBorderField.resx │ │ │ │ │ ├── ImageButton.Designer.cs │ │ │ │ │ ├── ImageButton.cs │ │ │ │ │ ├── ImageButton.resx │ │ │ │ │ ├── ImageRadioButton.Designer.cs │ │ │ │ │ ├── ImageRadioButton.cs │ │ │ │ │ ├── ImageRadioButton.resx │ │ │ │ │ ├── Machine.cs │ │ │ │ │ ├── Machine.designer.cs │ │ │ │ │ ├── Machine.resx │ │ │ │ │ ├── Machine2.Designer.cs │ │ │ │ │ ├── Machine2.resx │ │ │ │ │ ├── MachineMatrix.Designer.cs │ │ │ │ │ └── MachineMatrix.resx │ │ │ │ ├── Core/ │ │ │ │ │ ├── Clipboard.cs │ │ │ │ │ ├── ClipboardPostAction.cs │ │ │ │ │ ├── CommandEventHandler.cs │ │ │ │ │ ├── Common.cs │ │ │ │ │ ├── DATA.cs │ │ │ │ │ ├── DragDrop.cs │ │ │ │ │ ├── Encryption.cs │ │ │ │ │ ├── Event.cs │ │ │ │ │ ├── Helper.cs │ │ │ │ │ ├── ID.cs │ │ │ │ │ ├── InitAndCleanup.cs │ │ │ │ │ ├── IpcChannelHelper.cs │ │ │ │ │ ├── KEYBDDATA.cs │ │ │ │ │ ├── Launch.cs │ │ │ │ │ ├── Logger.cs │ │ │ │ │ ├── MOUSEDATA.cs │ │ │ │ │ ├── MachineInf.cs │ │ │ │ │ ├── MachineStuff.cs │ │ │ │ │ ├── MyRectangle.cs │ │ │ │ │ ├── Package.cs │ │ │ │ │ ├── PackageMonitor.cs │ │ │ │ │ ├── PackageType.cs │ │ │ │ │ ├── Receiver.cs │ │ │ │ │ ├── Service.cs │ │ │ │ │ ├── ShutdownWithPowerToys.cs │ │ │ │ │ ├── Thread.cs │ │ │ │ │ ├── VK.cs │ │ │ │ │ ├── WM.cs │ │ │ │ │ └── WinAPI.cs │ │ │ │ ├── Exceptions/ │ │ │ │ │ ├── ExpectedSocketException.cs │ │ │ │ │ ├── KnownException.cs │ │ │ │ │ └── NotPhysicalConsoleException.cs │ │ │ │ ├── Form/ │ │ │ │ │ ├── Settings/ │ │ │ │ │ │ ├── PageEventArgs.cs │ │ │ │ │ │ ├── SettingsForm.Designer.cs │ │ │ │ │ │ ├── SettingsForm.cs │ │ │ │ │ │ ├── SettingsForm.resx │ │ │ │ │ │ ├── SettingsFormPage.Designer.cs │ │ │ │ │ │ ├── SettingsFormPage.cs │ │ │ │ │ │ ├── SettingsFormPage.resx │ │ │ │ │ │ ├── SettingsPage.Designer.cs │ │ │ │ │ │ ├── SettingsPage.resx │ │ │ │ │ │ ├── SettingsPage1.Designer.cs │ │ │ │ │ │ ├── SettingsPage1.resx │ │ │ │ │ │ ├── SettingsPage2.Designer.cs │ │ │ │ │ │ ├── SettingsPage2.resx │ │ │ │ │ │ ├── SettingsPage3.Designer.cs │ │ │ │ │ │ ├── SettingsPage3.resx │ │ │ │ │ │ ├── SettingsPage4.Designer.cs │ │ │ │ │ │ ├── SettingsPage4.resx │ │ │ │ │ │ ├── SetupPage1.Designer.cs │ │ │ │ │ │ ├── SetupPage1.cs │ │ │ │ │ │ ├── SetupPage1.resx │ │ │ │ │ │ ├── SetupPage2a.Designer.cs │ │ │ │ │ │ ├── SetupPage2a.cs │ │ │ │ │ │ ├── SetupPage2a.resx │ │ │ │ │ │ ├── SetupPage2aa.Designer.cs │ │ │ │ │ │ ├── SetupPage2aa.cs │ │ │ │ │ │ ├── SetupPage2aa.resx │ │ │ │ │ │ ├── SetupPage2ab.Designer.cs │ │ │ │ │ │ ├── SetupPage2ab.cs │ │ │ │ │ │ ├── SetupPage2ab.resx │ │ │ │ │ │ ├── SetupPage2b.Designer.cs │ │ │ │ │ │ ├── SetupPage2b.cs │ │ │ │ │ │ ├── SetupPage2b.resx │ │ │ │ │ │ ├── SetupPage3a.Designer.cs │ │ │ │ │ │ ├── SetupPage3a.cs │ │ │ │ │ │ ├── SetupPage3a.resx │ │ │ │ │ │ ├── SetupPage4.Designer.cs │ │ │ │ │ │ ├── SetupPage4.cs │ │ │ │ │ │ ├── SetupPage4.resx │ │ │ │ │ │ ├── SetupPage5.Designer.cs │ │ │ │ │ │ ├── SetupPage5.cs │ │ │ │ │ │ └── SetupPage5.resx │ │ │ │ │ ├── frmAbout.Designer.cs │ │ │ │ │ ├── frmAbout.cs │ │ │ │ │ ├── frmAbout.resx │ │ │ │ │ ├── frmInputCallback.Designer.cs │ │ │ │ │ ├── frmInputCallback.cs │ │ │ │ │ ├── frmInputCallback.resx │ │ │ │ │ ├── frmLogon.Designer.cs │ │ │ │ │ ├── frmLogon.cs │ │ │ │ │ ├── frmLogon.resx │ │ │ │ │ ├── frmMatrix.Designer.cs │ │ │ │ │ ├── frmMatrix.cs │ │ │ │ │ ├── frmMatrix.resx │ │ │ │ │ ├── frmMessage.Designer.cs │ │ │ │ │ ├── frmMessage.cs │ │ │ │ │ ├── frmMessage.resx │ │ │ │ │ ├── frmMouseCursor.Designer.cs │ │ │ │ │ ├── frmMouseCursor.cs │ │ │ │ │ ├── frmMouseCursor.resx │ │ │ │ │ ├── frmScreen.Designer.cs │ │ │ │ │ ├── frmScreen.cs │ │ │ │ │ └── frmScreen.resx │ │ │ │ ├── Helper/ │ │ │ │ │ ├── FormDot.Designer.cs │ │ │ │ │ ├── FormDot.cs │ │ │ │ │ ├── FormDot.resx │ │ │ │ │ ├── FormHelper.Designer.cs │ │ │ │ │ ├── FormHelper.cs │ │ │ │ │ ├── FormHelper.resx │ │ │ │ │ ├── MouseWithoutBordersHelper.csproj │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ └── Program.cs │ │ │ │ ├── MouseWithoutBorders.csproj │ │ │ │ ├── MouseWithoutBorders.exe.manifest │ │ │ │ ├── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Images.Designer.cs │ │ │ │ │ └── Images.resx │ │ │ │ ├── Service/ │ │ │ │ │ ├── MouseWithoutBordersService.csproj │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Worker.cs │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── MouseWithoutBordersClipboardFileTransferEvent.cs │ │ │ │ │ ├── MouseWithoutBordersDragAndDropEvent.cs │ │ │ │ │ ├── MouseWithoutBordersMultipleModeEvent.cs │ │ │ │ │ ├── MouseWithoutBordersOldUIOpenedEvent.cs │ │ │ │ │ ├── MouseWithoutBordersOldUIQuitEvent.cs │ │ │ │ │ ├── MouseWithoutBordersOldUIReconfigureEvent.cs │ │ │ │ │ └── MouseWithoutBordersStartedEvent.cs │ │ │ │ └── appsettings.json │ │ │ ├── ModuleInterface/ │ │ │ │ ├── MouseWithoutBordersModuleInterface.rc │ │ │ │ ├── MouseWithoutBordersModuleInterface.vcxproj │ │ │ │ ├── MouseWithoutBordersModuleInterface.vcxproj.filters │ │ │ │ ├── MouseWithoutBordersModuleInterface.vcxproj.rc │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── generateSecurityDescriptor.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── MouseWithoutBorders.UnitTests/ │ │ │ ├── Core/ │ │ │ │ ├── Logger.PrivateDump.expected.txt │ │ │ │ ├── Logger.PrivateDump.original.txt │ │ │ │ └── LoggerTests.cs │ │ │ └── MouseWithoutBorders.UnitTests.csproj │ │ ├── NewPlus/ │ │ │ ├── NewShellExtensionContextMenu/ │ │ │ │ ├── AppxManifest.xml │ │ │ │ ├── Helpers.cpp │ │ │ │ ├── Helpers.h │ │ │ │ ├── NewShellExtensionContextMenu.vcxproj │ │ │ │ ├── NewShellExtensionContextMenu.vcxproj.filters │ │ │ │ ├── RuntimeRegistration.h │ │ │ │ ├── TemplateExamples/ │ │ │ │ │ ├── Any files or folders placed in the template folder are available via New+.txt │ │ │ │ │ └── Example folder/ │ │ │ │ │ ├── Another example txt file.txt │ │ │ │ │ └── Example txt file.txt │ │ │ │ ├── constants.h │ │ │ │ ├── dll.def │ │ │ │ ├── dll_main.cpp │ │ │ │ ├── dll_main.h │ │ │ │ ├── helpers_filesystem.h │ │ │ │ ├── helpers_variables.h │ │ │ │ ├── new.base.rc │ │ │ │ ├── new_utilities.cpp │ │ │ │ ├── new_utilities.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── powertoys_module.cpp │ │ │ │ ├── resource.base.h │ │ │ │ ├── resources.resx │ │ │ │ ├── settings.cpp │ │ │ │ ├── settings.h │ │ │ │ ├── shell_context_menu.cpp │ │ │ │ ├── shell_context_menu.h │ │ │ │ ├── shell_context_sub_menu.cpp │ │ │ │ ├── shell_context_sub_menu.h │ │ │ │ ├── shell_context_sub_menu_item.cpp │ │ │ │ ├── shell_context_sub_menu_item.h │ │ │ │ ├── template_folder.cpp │ │ │ │ ├── template_folder.h │ │ │ │ ├── template_item.cpp │ │ │ │ ├── template_item.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── NewShellExtensionContextMenu.win10/ │ │ │ ├── NewPlus.ShellExtension.win10.vcxproj │ │ │ ├── NewPlus.ShellExtension.win10.vcxproj.filters │ │ │ ├── dll.def │ │ │ ├── dll_main.cpp │ │ │ ├── dll_main.h │ │ │ ├── new.base.rc │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── resource.base.h │ │ │ ├── resources.resx │ │ │ ├── shell_context_menu_win10.cpp │ │ │ └── shell_context_menu_win10.h │ │ ├── PowerOCR/ │ │ │ ├── PowerOCR/ │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── CursorClipper.cs │ │ │ │ │ ├── IThrottledActionInvoker.cs │ │ │ │ │ ├── ImageMethods.cs │ │ │ │ │ ├── LanguageHelper.cs │ │ │ │ │ ├── OSInterop.cs │ │ │ │ │ ├── OcrExtensions.cs │ │ │ │ │ ├── StringHelpers.cs │ │ │ │ │ ├── ThrottledActionInvoker.cs │ │ │ │ │ ├── WPFExtensionMethods.cs │ │ │ │ │ ├── WindowUtilities.cs │ │ │ │ │ └── WrappingStream.cs │ │ │ │ ├── Keyboard/ │ │ │ │ │ ├── EventMonitor.cs │ │ │ │ │ ├── GlobalKeyboardHook.cs │ │ │ │ │ ├── GlobalKeyboardHookEventArgs.cs │ │ │ │ │ └── KeyboardMonitor.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── NullAsyncResult.cs │ │ │ │ │ ├── NullWaitHandle.cs │ │ │ │ │ ├── ResultColumn.cs │ │ │ │ │ ├── ResultRow.cs │ │ │ │ │ ├── ResultTable.cs │ │ │ │ │ └── WordBorder.cs │ │ │ │ ├── OCROverlay.xaml │ │ │ │ ├── OCROverlay.xaml.cs │ │ │ │ ├── PowerOCR.csproj │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── Settings/ │ │ │ │ │ ├── IUserSettings.cs │ │ │ │ │ ├── SettingItem`1.cs │ │ │ │ │ └── UserSettings.cs │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── PowerOCRCancelledEvent.cs │ │ │ │ │ ├── PowerOCRCaptureEvent.cs │ │ │ │ │ └── PowerOCRInvokedEvent.cs │ │ │ │ └── app.manifest │ │ │ ├── PowerOCR-UITests/ │ │ │ │ ├── PowerOCR.UITests.csproj │ │ │ │ ├── PowerOCRTests.cs │ │ │ │ └── tests-checklist-text-extractor.md │ │ │ └── PowerOCRModuleInterface/ │ │ │ ├── PowerOCR.base.rc │ │ │ ├── PowerOCRModuleInterface.vcxproj │ │ │ ├── PowerOCRModuleInterface.vcxproj.filters │ │ │ ├── PowerOcrConstants.h │ │ │ ├── Resources.resx │ │ │ ├── dllmain.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── resource.base.h │ │ │ ├── trace.cpp │ │ │ └── trace.h │ │ ├── ShortcutGuide/ │ │ │ ├── ShortcutGuide/ │ │ │ │ ├── PropertySheet.props │ │ │ │ ├── Resources.resx │ │ │ │ ├── ShortcutGuide.base.rc │ │ │ │ ├── ShortcutGuide.exe.manifest │ │ │ │ ├── ShortcutGuide.vcxproj │ │ │ │ ├── ShortcutGuide.vcxproj.filters │ │ │ │ ├── ShortcutGuideConstants.h │ │ │ │ ├── ShortcutGuideSettings.h │ │ │ │ ├── animation.cpp │ │ │ │ ├── animation.h │ │ │ │ ├── d2d_svg.cpp │ │ │ │ ├── d2d_svg.h │ │ │ │ ├── d2d_text.cpp │ │ │ │ ├── d2d_text.h │ │ │ │ ├── d2d_window.cpp │ │ │ │ ├── d2d_window.h │ │ │ │ ├── main.cpp │ │ │ │ ├── native_event_waiter.cpp │ │ │ │ ├── native_event_waiter.h │ │ │ │ ├── overlay_window.cpp │ │ │ │ ├── overlay_window.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── shortcut_guide.cpp │ │ │ │ ├── shortcut_guide.h │ │ │ │ ├── start_visible.cpp │ │ │ │ ├── start_visible.h │ │ │ │ ├── target_state.cpp │ │ │ │ ├── target_state.h │ │ │ │ ├── tasklist_positions.cpp │ │ │ │ ├── tasklist_positions.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── ShortcutGuideModuleInterface/ │ │ │ ├── README.md │ │ │ ├── Resources.resx │ │ │ ├── ShortcutGuideModuleInterface.base.rc │ │ │ ├── ShortcutGuideModuleInterface.vcxproj │ │ │ ├── ShortcutGuideModuleInterface.vcxproj.filters │ │ │ ├── dllmain.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ └── resource.base.h │ │ ├── Workspaces/ │ │ │ ├── WindowProperties/ │ │ │ │ └── WorkspacesWindowPropertyUtils.h │ │ │ ├── Workspaces.ModuleServices/ │ │ │ │ ├── IWorkspaceService.cs │ │ │ │ ├── WorkspaceService.cs │ │ │ │ └── Workspaces.ModuleServices.csproj │ │ │ ├── WorkspacesCsharpLibrary/ │ │ │ │ ├── Data/ │ │ │ │ │ ├── ApplicationWrapper.cs │ │ │ │ │ ├── InvokePoint.cs │ │ │ │ │ ├── MonitorConfigurationWrapper.cs │ │ │ │ │ ├── ProjectData.cs │ │ │ │ │ ├── ProjectWrapper.cs │ │ │ │ │ ├── TempProjectData.cs │ │ │ │ │ ├── WorkspacesData.cs │ │ │ │ │ ├── WorkspacesEditorData`1.cs │ │ │ │ │ ├── WorkspacesJsonOptions.cs │ │ │ │ │ ├── WorkspacesStorage.cs │ │ │ │ │ └── WorkspacesStorageJsonContext.cs │ │ │ │ ├── DrawHelper.cs │ │ │ │ ├── Models/ │ │ │ │ │ └── BaseApplication.cs │ │ │ │ ├── PwaApp.cs │ │ │ │ ├── PwaHelper.cs │ │ │ │ ├── Utils/ │ │ │ │ │ ├── DashCaseNamingPolicy.cs │ │ │ │ │ ├── FolderUtils.cs │ │ │ │ │ ├── IOUtils.cs │ │ │ │ │ └── StringUtils.cs │ │ │ │ └── WorkspacesCsharpLibrary.csproj │ │ │ ├── WorkspacesEditor/ │ │ │ │ ├── App.config │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── Controls/ │ │ │ │ │ └── ResetIsEnabled.cs │ │ │ │ ├── Converters/ │ │ │ │ │ └── BooleanToInvertedVisibilityConverter.cs │ │ │ │ ├── HeadingTextBlock.cs │ │ │ │ ├── MainPage.xaml │ │ │ │ ├── MainPage.xaml.cs │ │ │ │ ├── MainWindow.xaml │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── AppListDataTemplateSelector.cs │ │ │ │ │ ├── Application.cs │ │ │ │ │ ├── Monitor.cs │ │ │ │ │ ├── MonitorHeaderRow.cs │ │ │ │ │ ├── MonitorSetup.cs │ │ │ │ │ └── Project.cs │ │ │ │ ├── OverlayWindow.xaml │ │ │ │ ├── OverlayWindow.xaml.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── SnapshotWindow.xaml │ │ │ │ ├── SnapshotWindow.xaml.cs │ │ │ │ ├── Styles/ │ │ │ │ │ └── ButtonStyles.xaml │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── CreateEvent.cs │ │ │ │ │ ├── DeleteEvent.cs │ │ │ │ │ ├── EditEvent.cs │ │ │ │ │ ├── WorkspacesEditorStartEvent.cs │ │ │ │ │ └── WorkspacesEditorStartFinishEvent.cs │ │ │ │ ├── Themes/ │ │ │ │ │ ├── Dark.xaml │ │ │ │ │ ├── HighContrast1.xaml │ │ │ │ │ ├── HighContrast2.xaml │ │ │ │ │ ├── HighContrastBlack.xaml │ │ │ │ │ ├── HighContrastWhite.xaml │ │ │ │ │ └── Light.xaml │ │ │ │ ├── Utils/ │ │ │ │ │ ├── DrawHelper.cs │ │ │ │ │ ├── MonitorHelper.cs │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ ├── ParsingResult.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ ├── StringUtils.cs │ │ │ │ │ ├── WorkspacesEditorIO.cs │ │ │ │ │ └── WorkspacesIcon.cs │ │ │ │ ├── ViewModels/ │ │ │ │ │ └── MainViewModel.cs │ │ │ │ ├── WorkspacesEditor.csproj │ │ │ │ ├── WorkspacesEditorPage.xaml │ │ │ │ ├── WorkspacesEditorPage.xaml.cs │ │ │ │ └── app.manifest │ │ │ ├── WorkspacesEditorUITest/ │ │ │ │ ├── Workspaces.Editor.UITests.csproj │ │ │ │ ├── WorkspacesEditingPageTests.cs │ │ │ │ ├── WorkspacesEditorTests.cs │ │ │ │ ├── WorkspacesLauncherTest.cs │ │ │ │ ├── WorkspacesSettingsTests.cs │ │ │ │ ├── WorkspacesSnapshotTests.cs │ │ │ │ └── WorkspacesUiAutomationBase.cs │ │ │ ├── WorkspacesLauncher/ │ │ │ │ ├── AppLauncher.cpp │ │ │ │ ├── AppLauncher.h │ │ │ │ ├── Launcher.cpp │ │ │ │ ├── Launcher.h │ │ │ │ ├── LauncherUIHelper.cpp │ │ │ │ ├── LauncherUIHelper.h │ │ │ │ ├── PropertySheet.props │ │ │ │ ├── RegistryUtils.cpp │ │ │ │ ├── RegistryUtils.h │ │ │ │ ├── Resource.resx │ │ │ │ ├── WindowArrangerHelper.cpp │ │ │ │ ├── WindowArrangerHelper.h │ │ │ │ ├── WorkspacesLauncher.vcxproj │ │ │ │ ├── WorkspacesLauncher.vcxproj.filters │ │ │ │ ├── WorkspacesLauncherResource.base.rc │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.base.h │ │ │ ├── WorkspacesLauncherUI/ │ │ │ │ ├── App.config │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── Converters/ │ │ │ │ │ └── BooleanToInvertedVisibilityConverter.cs │ │ │ │ ├── Data/ │ │ │ │ │ ├── AppLaunchData.cs │ │ │ │ │ ├── AppLaunchInfoData.cs │ │ │ │ │ ├── AppLaunchInfosData.cs │ │ │ │ │ ├── ApplicationWrapper.cs │ │ │ │ │ ├── LaunchingState.cs │ │ │ │ │ └── PositionWrapper.cs │ │ │ │ ├── HeadingTextBlock.cs │ │ │ │ ├── Models/ │ │ │ │ │ └── AppLaunching.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── StatusWindow.xaml │ │ │ │ ├── StatusWindow.xaml.cs │ │ │ │ ├── Styles/ │ │ │ │ │ └── ButtonStyles.xaml │ │ │ │ ├── Themes/ │ │ │ │ │ ├── Dark.xaml │ │ │ │ │ ├── HighContrast1.xaml │ │ │ │ │ ├── HighContrast2.xaml │ │ │ │ │ ├── HighContrastBlack.xaml │ │ │ │ │ ├── HighContrastWhite.xaml │ │ │ │ │ └── Light.xaml │ │ │ │ ├── Utils/ │ │ │ │ │ ├── DashCaseNamingPolicy.cs │ │ │ │ │ └── StringUtils.cs │ │ │ │ ├── ViewModels/ │ │ │ │ │ └── MainViewModel.cs │ │ │ │ ├── WorkspacesLauncherUI.csproj │ │ │ │ └── app.manifest │ │ │ ├── WorkspacesLib/ │ │ │ │ ├── AppUtils.cpp │ │ │ │ ├── AppUtils.h │ │ │ │ ├── CommandLineArgsHelper.cpp │ │ │ │ ├── CommandLineArgsHelper.h │ │ │ │ ├── IPCHelper.cpp │ │ │ │ ├── IPCHelper.h │ │ │ │ ├── JsonUtils.cpp │ │ │ │ ├── JsonUtils.h │ │ │ │ ├── LaunchingStateEnum.h │ │ │ │ ├── LaunchingStatus.cpp │ │ │ │ ├── LaunchingStatus.h │ │ │ │ ├── PwaHelper.cpp │ │ │ │ ├── PwaHelper.h │ │ │ │ ├── Result.h │ │ │ │ ├── SteamGameHelper.cpp │ │ │ │ ├── SteamHelper.h │ │ │ │ ├── StringUtils.cpp │ │ │ │ ├── StringUtils.h │ │ │ │ ├── WbemHelper.cpp │ │ │ │ ├── WbemHelper.h │ │ │ │ ├── WindowUtils.cpp │ │ │ │ ├── WindowUtils.h │ │ │ │ ├── WorkspacesData.cpp │ │ │ │ ├── WorkspacesData.h │ │ │ │ ├── WorkspacesLib.vcxproj │ │ │ │ ├── WorkspacesLib.vcxproj.filters │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── trace.cpp │ │ │ │ ├── trace.h │ │ │ │ ├── two_way_pipe_message_ipc.cpp │ │ │ │ └── utils.h │ │ │ ├── WorkspacesLib.UnitTests/ │ │ │ │ ├── AppUtilsTests.cpp │ │ │ │ ├── JsonUtilsTests.cpp │ │ │ │ ├── PwaHelperTests.cpp │ │ │ │ ├── StringUtilsTests.cpp │ │ │ │ ├── WorkspacesDataTests.cpp │ │ │ │ ├── WorkspacesLibUnitTests.vcxproj │ │ │ │ ├── WorkspacesLibUnitTests.vcxproj.filters │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── targetver.h │ │ │ ├── WorkspacesModuleInterface/ │ │ │ │ ├── WorkspacesModuleInterface.rc │ │ │ │ ├── WorkspacesModuleInterface.vcxproj │ │ │ │ ├── WorkspacesModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ └── targetver.h │ │ │ ├── WorkspacesSnapshotTool/ │ │ │ │ ├── PropertySheet.props │ │ │ │ ├── Resource.resx │ │ │ │ ├── SnapshotUtils.cpp │ │ │ │ ├── SnapshotUtils.h │ │ │ │ ├── WorkspacesSnapshotTool.vcxproj │ │ │ │ ├── WorkspacesSnapshotTool.vcxproj.filters │ │ │ │ ├── WorkspacesSnapshotToolResources.base.rc │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.base.h │ │ │ ├── WorkspacesWindowArranger/ │ │ │ │ ├── PropertySheet.props │ │ │ │ ├── Resource.resx │ │ │ │ ├── WindowArranger.cpp │ │ │ │ ├── WindowArranger.h │ │ │ │ ├── WindowCreationHandler.cpp │ │ │ │ ├── WindowCreationHandler.h │ │ │ │ ├── WorkspacesWindowArranger.vcxproj │ │ │ │ ├── WorkspacesWindowArranger.vcxproj.filters │ │ │ │ ├── WorkspacesWindowArrangerResource.base.rc │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.base.h │ │ │ └── workspaces-common/ │ │ │ ├── GuidUtils.h │ │ │ ├── InvokePoint.h │ │ │ ├── MonitorEnumerator.h │ │ │ ├── MonitorUtils.h │ │ │ ├── VirtualDesktop.h │ │ │ ├── WindowEnumerator.h │ │ │ ├── WindowFilter.h │ │ │ └── WindowUtils.h │ │ ├── ZoomIt/ │ │ │ ├── ZoomIt/ │ │ │ │ ├── AudioSampleGenerator.cpp │ │ │ │ ├── AudioSampleGenerator.h │ │ │ │ ├── CaptureFrameWait.cpp │ │ │ │ ├── CaptureFrameWait.h │ │ │ │ ├── DemoType.cpp │ │ │ │ ├── DemoType.h │ │ │ │ ├── GifRecordingSession.cpp │ │ │ │ ├── GifRecordingSession.h │ │ │ │ ├── LoopbackCapture.cpp │ │ │ │ ├── LoopbackCapture.h │ │ │ │ ├── PanoramaCapture.cpp │ │ │ │ ├── PanoramaCapture.h │ │ │ │ ├── PowerToys/ │ │ │ │ │ └── branding.h │ │ │ │ ├── Registry.h │ │ │ │ ├── SelectRectangle.cpp │ │ │ │ ├── SelectRectangle.h │ │ │ │ ├── Utility.cpp │ │ │ │ ├── Utility.h │ │ │ │ ├── VersionHelper.cpp │ │ │ │ ├── VersionHelper.h │ │ │ │ ├── VideoRecordingSession.cpp │ │ │ │ ├── VideoRecordingSession.h │ │ │ │ ├── ZoomIt.h │ │ │ │ ├── ZoomIt.idc │ │ │ │ ├── ZoomIt.rc │ │ │ │ ├── ZoomIt.vcxproj │ │ │ │ ├── ZoomIt.vcxproj.filters │ │ │ │ ├── ZoomItSettings.h │ │ │ │ ├── Zoomit.cpp │ │ │ │ ├── Zoomit.exe.manifest │ │ │ │ ├── binres.rc │ │ │ │ ├── cursor1.cur │ │ │ │ ├── drawingc.cur │ │ │ │ ├── makefile │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.h │ │ │ ├── ZoomItBreak/ │ │ │ │ ├── BreakTimer.cpp │ │ │ │ ├── BreakTimer.h │ │ │ │ ├── ZoomItBreak.manifest │ │ │ │ ├── ZoomItBreak.rc │ │ │ │ ├── ZoomItBreak.vcxproj │ │ │ │ ├── ZoomItBreak.vcxproj.filters │ │ │ │ └── ZoomItBreakScr.cpp │ │ │ ├── ZoomItModuleInterface/ │ │ │ │ ├── ZoomItModuleInterface.rc │ │ │ │ ├── ZoomItModuleInterface.vcxproj │ │ │ │ ├── ZoomItModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── ZoomItSettingsInterop/ │ │ │ ├── PropertySheet.props │ │ │ ├── ZoomItSettings.cpp │ │ │ ├── ZoomItSettings.h │ │ │ ├── ZoomItSettings.idl │ │ │ ├── ZoomItSettingsInterop.def │ │ │ ├── ZoomItSettingsInterop.rc │ │ │ ├── ZoomItSettingsInterop.vcxproj │ │ │ ├── ZoomItSettingsInterop.vcxproj.filters │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ └── resource.h │ │ ├── alwaysontop/ │ │ │ ├── AlwaysOnTop/ │ │ │ │ ├── AlwaysOnTop.base.rc │ │ │ │ ├── AlwaysOnTop.cpp │ │ │ │ ├── AlwaysOnTop.h │ │ │ │ ├── AlwaysOnTop.vcxproj │ │ │ │ ├── AlwaysOnTop.vcxproj.filters │ │ │ │ ├── FrameDrawer.cpp │ │ │ │ ├── FrameDrawer.h │ │ │ │ ├── ModuleConstants.h │ │ │ │ ├── Resources.resx │ │ │ │ ├── ScalingUtils.cpp │ │ │ │ ├── ScalingUtils.h │ │ │ │ ├── Settings.cpp │ │ │ │ ├── Settings.h │ │ │ │ ├── SettingsConstants.h │ │ │ │ ├── SettingsObserver.h │ │ │ │ ├── Sound.h │ │ │ │ ├── VirtualDesktopUtils.cpp │ │ │ │ ├── VirtualDesktopUtils.h │ │ │ │ ├── WinHookEventIDs.cpp │ │ │ │ ├── WinHookEventIDs.h │ │ │ │ ├── WindowBorder.cpp │ │ │ │ ├── WindowBorder.h │ │ │ │ ├── WindowCornersUtil.cpp │ │ │ │ ├── WindowCornersUtil.h │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ └── AlwaysOnTopModuleInterface/ │ │ │ ├── AlwaysOnTopModuleInterface.rc │ │ │ ├── AlwaysOnTopModuleInterface.vcxproj │ │ │ ├── AlwaysOnTopModuleInterface.vcxproj.filters │ │ │ ├── dllmain.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── resource.h │ │ │ └── targetver.h │ │ ├── awake/ │ │ │ ├── Awake/ │ │ │ │ ├── Awake.csproj │ │ │ │ ├── Core/ │ │ │ │ │ ├── Constants.cs │ │ │ │ │ ├── ExtensionMethods.cs │ │ │ │ │ ├── Manager.cs │ │ │ │ │ ├── Models/ │ │ │ │ │ │ ├── BatteryReportingScale.cs │ │ │ │ │ │ ├── ControlType.cs │ │ │ │ │ │ ├── ExecutionState.cs │ │ │ │ │ │ ├── MSG.cs │ │ │ │ │ │ ├── MenuInfo.cs │ │ │ │ │ │ ├── NOTIFYICONDATA.cs │ │ │ │ │ │ ├── POINT.cs │ │ │ │ │ │ ├── ProcessBasicInformation.cs │ │ │ │ │ │ ├── SystemPowerCapabilities.cs │ │ │ │ │ │ ├── SystemPowerState.cs │ │ │ │ │ │ ├── TrayCommands.cs │ │ │ │ │ │ ├── TrayIconAction.cs │ │ │ │ │ │ └── WNDCLASSEX.cs │ │ │ │ │ ├── Native/ │ │ │ │ │ │ ├── Bridge.cs │ │ │ │ │ │ └── Constants.cs │ │ │ │ │ ├── Threading/ │ │ │ │ │ │ └── SingleThreadSynchronizationContext.cs │ │ │ │ │ └── TrayHelper.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── AwakeExpirableKeepAwakeEvent.cs │ │ │ │ │ ├── AwakeIndefinitelyKeepAwakeEvent.cs │ │ │ │ │ ├── AwakeNoKeepAwakeEvent.cs │ │ │ │ │ └── AwakeTimedKeepAwakeEvent.cs │ │ │ │ └── app.manifest │ │ │ ├── Awake.ModuleServices/ │ │ │ │ ├── Awake.ModuleServices.csproj │ │ │ │ ├── AwakeService.cs │ │ │ │ ├── AwakeServiceJsonContext.cs │ │ │ │ ├── AwakeState.cs │ │ │ │ └── IAwakeService.cs │ │ │ ├── AwakeModuleInterface/ │ │ │ │ ├── AwakeConstants.h │ │ │ │ ├── AwakeModuleInterface.rc │ │ │ │ ├── AwakeModuleInterface.vcxproj │ │ │ │ ├── AwakeModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── README.md │ │ │ └── scripts/ │ │ │ └── Build-Awake.ps1 │ │ ├── cmdNotFound/ │ │ │ └── CmdNotFoundModuleInterface/ │ │ │ ├── CmdNotFoundModuleInterface.rc │ │ │ ├── CmdNotFoundModuleInterface.vcxproj │ │ │ ├── CmdNotFoundModuleInterface.vcxproj.filters │ │ │ ├── dllmain.cpp │ │ │ ├── packages.config │ │ │ ├── pch.cpp │ │ │ ├── pch.h │ │ │ ├── resource.h │ │ │ ├── trace.cpp │ │ │ └── trace.h │ │ ├── cmdpal/ │ │ │ ├── .editorconfig │ │ │ ├── .wt.json │ │ │ ├── CmdPalKeyboardService/ │ │ │ │ ├── CmdPalKeyboardService.def │ │ │ │ ├── CmdPalKeyboardService.vcxproj │ │ │ │ ├── CmdPalKeyboardService.vcxproj.filters │ │ │ │ ├── KeyboardListener.cpp │ │ │ │ ├── KeyboardListener.h │ │ │ │ ├── KeyboardListener.idl │ │ │ │ ├── PropertySheet.props │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── CmdPalModuleInterface/ │ │ │ │ ├── CmdPalModuleInterface.vcxproj │ │ │ │ ├── CmdPalModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── CommandPalette.slnf │ │ │ ├── ExtensionTemplate/ │ │ │ │ └── TemplateCmdPalExtension/ │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Directory.Packages.props │ │ │ │ ├── TemplateCmdPalExtension/ │ │ │ │ │ ├── Package.appxmanifest │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ └── TemplateCmdPalExtensionPage.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── TemplateCmdPalExtension.cs │ │ │ │ │ ├── TemplateCmdPalExtension.csproj │ │ │ │ │ ├── TemplateCmdPalExtensionCommandsProvider.cs │ │ │ │ │ └── app.manifest │ │ │ │ ├── TemplateCmdPalExtension.sln │ │ │ │ └── nuget.config │ │ │ ├── Invoke-XamlFormat.ps1 │ │ │ ├── Microsoft.CmdPal.Common/ │ │ │ │ ├── AppPackagingFlavor.cs │ │ │ │ ├── CoreLogger.cs │ │ │ │ ├── ExtensionLoadState.cs │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── DiagnosticsHelper.cs │ │ │ │ │ ├── ExtensionHostInstance.cs │ │ │ │ │ ├── IPrecomputedListItem.cs │ │ │ │ │ ├── InterlockedBoolean.cs │ │ │ │ │ ├── InternalListHelpers.cs │ │ │ │ │ ├── NativeEventWaiter.cs │ │ │ │ │ ├── PathHelper.cs │ │ │ │ │ ├── PinnedDockItem.cs │ │ │ │ │ ├── ProviderCrashSentinel.cs │ │ │ │ │ ├── ProviderLoadGuard.cs │ │ │ │ │ ├── SupersedingAsyncGate.cs │ │ │ │ │ ├── SupersedingAsyncValueGate`1.cs │ │ │ │ │ ├── ThrottledDebouncedAction.cs │ │ │ │ │ ├── VersionHelper.cs │ │ │ │ │ └── WellKnownKeyChords.cs │ │ │ │ ├── Microsoft.CmdPal.Common.csproj │ │ │ │ ├── NativeMethods.json │ │ │ │ ├── NativeMethods.txt │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── Services/ │ │ │ │ │ ├── ApplicationInfoService.cs │ │ │ │ │ ├── IApplicationInfoService.cs │ │ │ │ │ ├── IExtensionService.cs │ │ │ │ │ ├── IExtensionWrapper.cs │ │ │ │ │ ├── IRunHistoryService.cs │ │ │ │ │ ├── Reports/ │ │ │ │ │ │ ├── ErrorReportBuilder.cs │ │ │ │ │ │ └── IErrorReportBuilder.cs │ │ │ │ │ └── Sanitizer/ │ │ │ │ │ ├── Abstraction/ │ │ │ │ │ │ ├── ITextSanitizer.cs │ │ │ │ │ │ └── SanitizationRule.cs │ │ │ │ │ ├── ConnectionStringRuleProvider.cs │ │ │ │ │ ├── EnvironmentPropertiesRuleProvider.cs │ │ │ │ │ ├── ErrorReportSanitizer.cs │ │ │ │ │ ├── FilenameMaskRuleProvider.cs │ │ │ │ │ ├── GuardrailEventArgs.cs │ │ │ │ │ ├── ISanitizationRuleProvider.cs │ │ │ │ │ ├── NetworkRuleProvider.cs │ │ │ │ │ ├── PiiRuleProvider.cs │ │ │ │ │ ├── ProfilePathAndUsernameRuleProvider.cs │ │ │ │ │ ├── SanitizerDefaults.cs │ │ │ │ │ ├── SecretKeyValueRulesProvider.cs │ │ │ │ │ ├── TextSanitizer.cs │ │ │ │ │ ├── TokenRuleProvider.cs │ │ │ │ │ └── UrlRuleProvider.cs │ │ │ │ └── Text/ │ │ │ │ ├── BloomFilter.cs │ │ │ │ ├── FuzzyMatcherProvider.cs │ │ │ │ ├── FuzzyQuery.cs │ │ │ │ ├── FuzzyTarget.cs │ │ │ │ ├── FuzzyTargetCache.cs │ │ │ │ ├── IBloomFilter.cs │ │ │ │ ├── IFuzzyMatcherProvider.cs │ │ │ │ ├── IPrecomputedFuzzyMatcher.cs │ │ │ │ ├── IStringFolder.cs │ │ │ │ ├── PinyinFuzzyMatcherOptions.cs │ │ │ │ ├── PinyinMode.cs │ │ │ │ ├── PrecomputedFuzzyMatcher.cs │ │ │ │ ├── PrecomputedFuzzyMatcherOptions.cs │ │ │ │ ├── PrecomputedFuzzyMatcherWithPinyin.cs │ │ │ │ ├── StringFolder.cs │ │ │ │ ├── SymbolClassifier.cs │ │ │ │ └── SymbolKind.cs │ │ │ ├── Microsoft.CmdPal.Ext.PowerToys.slnf │ │ │ ├── Microsoft.CmdPal.UI/ │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── CmdPal.Branding.props │ │ │ │ ├── CmdPal.pre.props │ │ │ │ ├── CommandPaletteContextMenuFactory.cs │ │ │ │ ├── Controls/ │ │ │ │ │ ├── AdaptiveCardsConfig.cs │ │ │ │ │ ├── BlurImageControl.cs │ │ │ │ │ ├── ColorPalette.xaml │ │ │ │ │ ├── ColorPalette.xaml.cs │ │ │ │ │ ├── ColorPickerButton.xaml │ │ │ │ │ ├── ColorPickerButton.xaml.cs │ │ │ │ │ ├── CommandBar.xaml │ │ │ │ │ ├── CommandBar.xaml.cs │ │ │ │ │ ├── CommandPalettePreview.xaml │ │ │ │ │ ├── CommandPalettePreview.xaml.cs │ │ │ │ │ ├── ContentFormControl.xaml │ │ │ │ │ ├── ContentFormControl.xaml.cs │ │ │ │ │ ├── ContentIcon.cs │ │ │ │ │ ├── ContextMenu.xaml │ │ │ │ │ ├── ContextMenu.xaml.cs │ │ │ │ │ ├── DevRibbon.xaml │ │ │ │ │ ├── DevRibbon.xaml.cs │ │ │ │ │ ├── FallbackRanker.xaml │ │ │ │ │ ├── FallbackRanker.xaml.cs │ │ │ │ │ ├── FallbackRankerDialog.xaml │ │ │ │ │ ├── FallbackRankerDialog.xaml.cs │ │ │ │ │ ├── FiltersDropDown.xaml │ │ │ │ │ ├── FiltersDropDown.xaml.cs │ │ │ │ │ ├── IconBox.cs │ │ │ │ │ ├── IconMarginConverter.cs │ │ │ │ │ ├── ImageViewer.xaml │ │ │ │ │ ├── ImageViewer.xaml.cs │ │ │ │ │ ├── ScreenPreview.xaml │ │ │ │ │ ├── ScreenPreview.xaml.cs │ │ │ │ │ ├── ScrollContainer.xaml │ │ │ │ │ ├── ScrollContainer.xaml.cs │ │ │ │ │ ├── SearchBar.xaml │ │ │ │ │ ├── SearchBar.xaml.cs │ │ │ │ │ ├── ShortcutControl/ │ │ │ │ │ │ ├── HotkeySettingsControlHook.cs │ │ │ │ │ │ ├── NativeKeyboardHelper.cs │ │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ │ ├── POINT.cs │ │ │ │ │ │ ├── RECT.cs │ │ │ │ │ │ ├── ShortcutControl.xaml │ │ │ │ │ │ ├── ShortcutControl.xaml.cs │ │ │ │ │ │ ├── ShortcutDialogContentControl.xaml │ │ │ │ │ │ ├── ShortcutDialogContentControl.xaml.cs │ │ │ │ │ │ └── WINDOWPLACEMENT.cs │ │ │ │ │ ├── SourceRequestedEventArgs.cs │ │ │ │ │ ├── Tag.xaml │ │ │ │ │ ├── Tag.xaml.cs │ │ │ │ │ └── WrapPanelCustom/ │ │ │ │ │ ├── UvBounds.cs │ │ │ │ │ ├── UvMeasure.cs │ │ │ │ │ └── WrapPanel.cs │ │ │ │ ├── Converters/ │ │ │ │ │ ├── ContentTemplateSelector.cs │ │ │ │ │ ├── ContextItemTemplateSelector.cs │ │ │ │ │ ├── ContrastBrushConverter.cs │ │ │ │ │ ├── DetailsDataTemplateSelector.cs │ │ │ │ │ ├── DetailsSizeToGridLengthConverter.cs │ │ │ │ │ ├── FilterTemplateSelector.cs │ │ │ │ │ ├── GridItemContainerStyleSelector.cs │ │ │ │ │ ├── GridItemTemplateSelector.cs │ │ │ │ │ ├── KeyChordToStringConverter.cs │ │ │ │ │ ├── ListItemContainerStyleSelector.cs │ │ │ │ │ ├── ListItemTemplateSelector.cs │ │ │ │ │ ├── MessageStateToSeverityConverter.cs │ │ │ │ │ └── PlaceholderTextConverter.cs │ │ │ │ ├── Dock/ │ │ │ │ │ ├── DockContentControl.xaml │ │ │ │ │ ├── DockContentControl.xaml.cs │ │ │ │ │ ├── DockControl.xaml │ │ │ │ │ ├── DockControl.xaml.cs │ │ │ │ │ ├── DockItemControl.xaml │ │ │ │ │ ├── DockItemControl.xaml.cs │ │ │ │ │ ├── DockSettingsToViews.cs │ │ │ │ │ ├── DockWindow.xaml │ │ │ │ │ ├── DockWindow.xaml.cs │ │ │ │ │ ├── PinToDockDialogContent.xaml │ │ │ │ │ └── PinToDockDialogContent.xaml.cs │ │ │ │ ├── Events/ │ │ │ │ │ ├── BeginInvoke.cs │ │ │ │ │ ├── CmdPalDismissedOnEsc.cs │ │ │ │ │ ├── CmdPalDismissedOnLostFocus.cs │ │ │ │ │ ├── CmdPalDockConfiguration.cs │ │ │ │ │ ├── CmdPalExtensionInvoked.cs │ │ │ │ │ ├── CmdPalHotkeySummoned.cs │ │ │ │ │ ├── CmdPalInvokeResult.cs │ │ │ │ │ ├── CmdPalProcessStarted.cs │ │ │ │ │ ├── CmdPalSessionDuration.cs │ │ │ │ │ ├── ColdLaunch.cs │ │ │ │ │ ├── OpenPage.cs │ │ │ │ │ ├── ReactivateInstance.cs │ │ │ │ │ └── RunEvents.cs │ │ │ │ ├── ExtViews/ │ │ │ │ │ ├── CleanupHelper.xaml.cs │ │ │ │ │ ├── ContentPage.xaml │ │ │ │ │ ├── ContentPage.xaml.cs │ │ │ │ │ ├── Controls/ │ │ │ │ │ │ ├── ImageContentViewer.xaml │ │ │ │ │ │ ├── ImageContentViewer.xaml.cs │ │ │ │ │ │ ├── PlainTextContentViewer.xaml │ │ │ │ │ │ └── PlainTextContentViewer.xaml.cs │ │ │ │ │ ├── ListPage.xaml │ │ │ │ │ └── ListPage.xaml.cs │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── AdaptiveCache`2.cs │ │ │ │ │ ├── BindTransformers.cs │ │ │ │ │ ├── BuildInfo.cs │ │ │ │ │ ├── ColorExtensions.cs │ │ │ │ │ ├── GlobalErrorHandler.cs │ │ │ │ │ ├── GpoValueChecker.cs │ │ │ │ │ ├── Icons/ │ │ │ │ │ │ ├── CachedIconSourceProvider.cs │ │ │ │ │ │ ├── IIconLoaderService.cs │ │ │ │ │ │ ├── IIconSourceProvider.cs │ │ │ │ │ │ ├── IconLoadPriority.cs │ │ │ │ │ │ ├── IconLoaderService.cs │ │ │ │ │ │ ├── IconProvider.cs │ │ │ │ │ │ ├── IconServiceRegistration.cs │ │ │ │ │ │ ├── IconSourceProvider.cs │ │ │ │ │ │ └── WellKnownIconSize.cs │ │ │ │ │ ├── KeyModifiers.cs │ │ │ │ │ ├── LocalKeyboardListener.cs │ │ │ │ │ ├── LocalKeyboardListenerKeyPressedEventArgs.cs │ │ │ │ │ ├── MarkdownImageProviders/ │ │ │ │ │ │ ├── CompositeImageSourceProvider.cs │ │ │ │ │ │ ├── DataImageSourceProvider.cs │ │ │ │ │ │ ├── HttpImageSourceProvider.cs │ │ │ │ │ │ ├── IImageSourceProvider.cs │ │ │ │ │ │ ├── ImageHints.cs │ │ │ │ │ │ ├── ImageProvider.cs │ │ │ │ │ │ ├── ImageSourceFactory.cs │ │ │ │ │ │ ├── ImageSourceInfo.cs │ │ │ │ │ │ ├── LocalImageSourceProvider.cs │ │ │ │ │ │ └── RtbInlineImageFactory.cs │ │ │ │ │ ├── OptionalColorToBrushConverter.cs │ │ │ │ │ ├── ResourceLoaderInstance.cs │ │ │ │ │ ├── TelemetryForwarder.cs │ │ │ │ │ ├── TextBoxCaretColor.cs │ │ │ │ │ ├── TrayIconService.cs │ │ │ │ │ ├── UIHelper.cs │ │ │ │ │ ├── WallpaperHelper.cs │ │ │ │ │ ├── WindowExtensions.cs │ │ │ │ │ ├── WindowHelper.cs │ │ │ │ │ └── WindowPositionHelper.cs │ │ │ │ ├── HiddenOwnerWindowBehavior.cs │ │ │ │ ├── LocalSuppressions.cs │ │ │ │ ├── LogWrapper.cs │ │ │ │ ├── MainWindow.xaml │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ ├── Messages/ │ │ │ │ │ ├── DragCompletedMessage.cs │ │ │ │ │ ├── DragStartedMessage.cs │ │ │ │ │ ├── HotkeySummonMessage.cs │ │ │ │ │ ├── OpenContextMenuMessage.cs │ │ │ │ │ ├── SettingsWindowClosedMessage.cs │ │ │ │ │ └── ToggleDevRibbonMessage.cs │ │ │ │ ├── Microsoft.CmdPal.UI.csproj │ │ │ │ ├── NativeMethods.txt │ │ │ │ ├── Package-Dev.appxmanifest │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Pages/ │ │ │ │ │ ├── LoadingPage.xaml │ │ │ │ │ ├── LoadingPage.xaml.cs │ │ │ │ │ ├── ShellPage.xaml │ │ │ │ │ └── ShellPage.xaml.cs │ │ │ │ ├── PowerToysAppHostService.cs │ │ │ │ ├── PowerToysRootPageService.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── RunHistoryService.cs │ │ │ │ ├── Services/ │ │ │ │ │ ├── ColorfulThemeProvider.cs │ │ │ │ │ ├── IHostWindow.cs │ │ │ │ │ ├── IThemeProvider.cs │ │ │ │ │ ├── MutableOverridesDictionary.cs │ │ │ │ │ ├── NormalThemeProvider.cs │ │ │ │ │ ├── ResourceSwapper.cs │ │ │ │ │ ├── ResourcesSwappedEventArgs.cs │ │ │ │ │ ├── ThemeContext.cs │ │ │ │ │ ├── ThemeService.cs │ │ │ │ │ └── WindowThemeSynchronizer.cs │ │ │ │ ├── Settings/ │ │ │ │ │ ├── AppearancePage.xaml │ │ │ │ │ ├── AppearancePage.xaml.cs │ │ │ │ │ ├── DockSettingsPage.xaml │ │ │ │ │ ├── DockSettingsPage.xaml.cs │ │ │ │ │ ├── ExtensionPage.xaml │ │ │ │ │ ├── ExtensionPage.xaml.cs │ │ │ │ │ ├── ExtensionsPage.xaml │ │ │ │ │ ├── ExtensionsPage.xaml.cs │ │ │ │ │ ├── GeneralPage.xaml │ │ │ │ │ ├── GeneralPage.xaml.cs │ │ │ │ │ ├── InternalPage.SampleData.cs │ │ │ │ │ ├── InternalPage.xaml │ │ │ │ │ ├── InternalPage.xaml.cs │ │ │ │ │ ├── NavigateToExtensionSettingsMessage.xaml.cs │ │ │ │ │ ├── SettingsWindow.xaml │ │ │ │ │ └── SettingsWindow.xaml.cs │ │ │ │ ├── Strings/ │ │ │ │ │ └── en-us/ │ │ │ │ │ └── Resources.resw │ │ │ │ ├── Styles/ │ │ │ │ │ ├── Settings.xaml │ │ │ │ │ ├── TeachingTip.xaml │ │ │ │ │ ├── TextBlock.xaml │ │ │ │ │ ├── TextBox.xaml │ │ │ │ │ ├── Theme.Colorful.xaml │ │ │ │ │ └── Theme.Normal.xaml │ │ │ │ ├── ToastWindow.xaml │ │ │ │ ├── ToastWindow.xaml.cs │ │ │ │ ├── TypePreservation.cs │ │ │ │ ├── ViewModels/ │ │ │ │ │ ├── DevRibbonViewModel.cs │ │ │ │ │ └── LogEntryViewModel.cs │ │ │ │ ├── Views/ │ │ │ │ │ └── ICurrentPageAware.cs │ │ │ │ └── app.manifest │ │ │ ├── Microsoft.CmdPal.UI.ViewModels/ │ │ │ │ ├── AliasManager.cs │ │ │ │ ├── AppExtensionHost.cs │ │ │ │ ├── AppStateModel.cs │ │ │ │ ├── AppearanceSettingsViewModel.cs │ │ │ │ ├── AsyncNavigationRequest.cs │ │ │ │ ├── BackdropControllerKind.cs │ │ │ │ ├── BackdropStyle.cs │ │ │ │ ├── BackdropStyleConfig.cs │ │ │ │ ├── BackdropStyles.cs │ │ │ │ ├── BackgroundImageFit.cs │ │ │ │ ├── BatchUpdateManager.cs │ │ │ │ ├── ColorizationMode.cs │ │ │ │ ├── CommandAlias.cs │ │ │ │ ├── CommandBarViewModel.cs │ │ │ │ ├── CommandContextItemViewModel.cs │ │ │ │ ├── CommandItemViewModel.cs │ │ │ │ ├── CommandPaletteContentPageViewModel.cs │ │ │ │ ├── CommandPaletteHost.cs │ │ │ │ ├── CommandPalettePageViewModelFactory.cs │ │ │ │ ├── CommandProviderContext.cs │ │ │ │ ├── CommandProviderWrapper.cs │ │ │ │ ├── CommandSettingsViewModel.cs │ │ │ │ ├── CommandViewModel.cs │ │ │ │ ├── Commands/ │ │ │ │ │ ├── BuiltInsCommandProvider.cs │ │ │ │ │ ├── BuiltinsExtensionHost.cs │ │ │ │ │ ├── CreatedExtensionForm.cs │ │ │ │ │ ├── FallbackLogItem.cs │ │ │ │ │ ├── FallbackReloadItem.cs │ │ │ │ │ ├── LogMessagesPage.cs │ │ │ │ │ ├── MainListPage.cs │ │ │ │ │ ├── MainListPageResultFactory.cs │ │ │ │ │ ├── NewExtensionForm.cs │ │ │ │ │ ├── NewExtensionFormBase.cs │ │ │ │ │ ├── NewExtensionPage.cs │ │ │ │ │ ├── OpenSettingsCommand.cs │ │ │ │ │ ├── QuitAction.cs │ │ │ │ │ └── ReloadExtensionsCommand.cs │ │ │ │ ├── ConfirmResultViewModel.cs │ │ │ │ ├── ContentFormViewModel.cs │ │ │ │ ├── ContentImageViewModel.cs │ │ │ │ ├── ContentMarkdownViewModel.cs │ │ │ │ ├── ContentPageViewModel.cs │ │ │ │ ├── ContentPlainTextViewModel.cs │ │ │ │ ├── ContentTreeViewModel.cs │ │ │ │ ├── ContentViewModel.cs │ │ │ │ ├── ContextMenuViewModel.cs │ │ │ │ ├── DedicatedThreadPool.cs │ │ │ │ ├── DefaultContextMenuFactory.cs │ │ │ │ ├── DetailsCommandsViewModel.cs │ │ │ │ ├── DetailsDataViewModel.cs │ │ │ │ ├── DetailsElementViewModel.cs │ │ │ │ ├── DetailsLinkViewModel.cs │ │ │ │ ├── DetailsSeparatorViewModel.cs │ │ │ │ ├── DetailsTagsViewModel.cs │ │ │ │ ├── DetailsViewModel.cs │ │ │ │ ├── Dock/ │ │ │ │ │ ├── DockBandSettingsViewModel.cs │ │ │ │ │ ├── DockBandViewModel.cs │ │ │ │ │ ├── DockViewModel.cs │ │ │ │ │ └── DockWindowViewModel.cs │ │ │ │ ├── DockAppearanceSettingsViewModel.cs │ │ │ │ ├── ExtensionObjectViewModel.cs │ │ │ │ ├── FallbackSettings.cs │ │ │ │ ├── FallbackSettingsViewModel.cs │ │ │ │ ├── FallbackUpdateManager.cs │ │ │ │ ├── FilterItemViewModel.cs │ │ │ │ ├── FiltersViewModel.cs │ │ │ │ ├── GalleryGridPropertiesViewModel.cs │ │ │ │ ├── GlobalLogPageContext.cs │ │ │ │ ├── HistoryItem.cs │ │ │ │ ├── HotkeyManager.cs │ │ │ │ ├── IBackgroundPropertyChangedNotification.cs │ │ │ │ ├── IContextItemViewModel.cs │ │ │ │ ├── IContextMenuFactory.cs │ │ │ │ ├── IFilterItemViewModel.cs │ │ │ │ ├── IGridPropertiesViewModel.cs │ │ │ │ ├── IRootPageService.cs │ │ │ │ ├── IconDataViewModel.cs │ │ │ │ ├── IconInfoViewModel.cs │ │ │ │ ├── Icons.cs │ │ │ │ ├── ItemsUpdatedEventArgs.cs │ │ │ │ ├── ListItemType.cs │ │ │ │ ├── ListItemViewModel.cs │ │ │ │ ├── ListViewModel.cs │ │ │ │ ├── LoadingPageViewModel.cs │ │ │ │ ├── LogMessageViewModel.cs │ │ │ │ ├── MainWindowViewModel.cs │ │ │ │ ├── MediumGridPropertiesViewModel.cs │ │ │ │ ├── Messages/ │ │ │ │ │ ├── ActivateSecondaryCommandMessage.cs │ │ │ │ │ ├── ActivateSelectedListItemMessage.cs │ │ │ │ │ ├── BeginInvokeMessage.cs │ │ │ │ │ ├── ClearSearchMessage.cs │ │ │ │ │ ├── CloseContextMenuMessage.cs │ │ │ │ │ ├── CmdPalInvokeResultMessage.cs │ │ │ │ │ ├── DismissMessage.cs │ │ │ │ │ ├── EnterDockEditModeMessage.cs │ │ │ │ │ ├── ErrorOccurredMessage.cs │ │ │ │ │ ├── ExtensionInvokedMessage.cs │ │ │ │ │ ├── FocusSearchBoxMessage.cs │ │ │ │ │ ├── GoBackMessage.cs │ │ │ │ │ ├── GoHomeMessage.cs │ │ │ │ │ ├── HandleCommandResultMessage.cs │ │ │ │ │ ├── HideDetailsMessage.cs │ │ │ │ │ ├── LaunchUriMessage.cs │ │ │ │ │ ├── NavigateBackMessage.cs │ │ │ │ │ ├── NavigateLeftCommand.cs │ │ │ │ │ ├── NavigateNextCommand.cs │ │ │ │ │ ├── NavigatePageDownCommand.cs │ │ │ │ │ ├── NavigatePageUpCommand.cs │ │ │ │ │ ├── NavigatePreviousCommand.cs │ │ │ │ │ ├── NavigateRightCommand.cs │ │ │ │ │ ├── NavigateToPageMessage.cs │ │ │ │ │ ├── NavigationDepthMessage.cs │ │ │ │ │ ├── OpenSettingsMessage.cs │ │ │ │ │ ├── PerformCommandMessage.cs │ │ │ │ │ ├── PinCommandItemMessage.cs │ │ │ │ │ ├── PinToDockMessage.cs │ │ │ │ │ ├── QuitMessage.cs │ │ │ │ │ ├── ReloadCommandsMessage.cs │ │ │ │ │ ├── ReloadFinishedMessage.cs │ │ │ │ │ ├── SearchQueryMessage.cs │ │ │ │ │ ├── SessionDurationMessage.cs │ │ │ │ │ ├── ShowConfirmationMessage.cs │ │ │ │ │ ├── ShowDetailsMessage.cs │ │ │ │ │ ├── ShowHideDockMessage.cs │ │ │ │ │ ├── ShowPinToDockDialogMessage.cs │ │ │ │ │ ├── ShowToastMessage.cs │ │ │ │ │ ├── ShowWindowMessage.cs │ │ │ │ │ ├── TelemetryBeginInvokeMessage.cs │ │ │ │ │ ├── TelemetryDockConfigurationMessage.cs │ │ │ │ │ ├── TelemetryExtensionInvokedMessage.cs │ │ │ │ │ ├── TelemetryInvokeResultMessage.cs │ │ │ │ │ ├── TryCommandKeybindingMessage.cs │ │ │ │ │ ├── UnpinCommandItemMessage.cs │ │ │ │ │ ├── UpdateCommandBarMessage.cs │ │ │ │ │ ├── UpdateFallbackItemsMessage.cs │ │ │ │ │ ├── UpdateSuggestionMessage.cs │ │ │ │ │ └── WindowHiddenMessage.cs │ │ │ │ ├── Microsoft.CmdPal.UI.ViewModels.csproj │ │ │ │ ├── Models/ │ │ │ │ │ ├── ExtensionObject`1.cs │ │ │ │ │ ├── ExtensionService.cs │ │ │ │ │ └── ExtensionWrapper.cs │ │ │ │ ├── NativeMethods.json │ │ │ │ ├── NativeMethods.txt │ │ │ │ ├── NullPageViewModel.cs │ │ │ │ ├── PageViewModel.cs │ │ │ │ ├── PreviewBrushKind.cs │ │ │ │ ├── ProgressViewModel.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── ProviderSettings.cs │ │ │ │ ├── ProviderSettingsViewModel.cs │ │ │ │ ├── RecentCommandsManager.cs │ │ │ │ ├── SeparatorViewModel.cs │ │ │ │ ├── Services/ │ │ │ │ │ ├── AppStateService.cs │ │ │ │ │ ├── BackdropParameters.cs │ │ │ │ │ ├── CommandProviderCacheContainer.cs │ │ │ │ │ ├── CommandProviderCacheItem.cs │ │ │ │ │ ├── CommandProviderCacheSerializationContext.cs │ │ │ │ │ ├── DefaultCommandProviderCache.cs │ │ │ │ │ ├── DockThemeSnapshot.cs │ │ │ │ │ ├── ExtensionTemplateService.cs │ │ │ │ │ ├── IAppStateService.cs │ │ │ │ │ ├── ICommandProviderCache.cs │ │ │ │ │ ├── IExtensionTemplateService.cs │ │ │ │ │ ├── IPersistenceService.cs │ │ │ │ │ ├── ISettingsService.cs │ │ │ │ │ ├── IThemeService.cs │ │ │ │ │ ├── PersistenceService.cs │ │ │ │ │ ├── SettingsService.cs │ │ │ │ │ ├── ThemeChangedEventArgs.cs │ │ │ │ │ └── ThemeSnapshot.cs │ │ │ │ ├── Settings/ │ │ │ │ │ ├── DockSettings.cs │ │ │ │ │ ├── Helper.cs │ │ │ │ │ └── HotkeySettings.cs │ │ │ │ ├── SettingsExtensionsViewModel.cs │ │ │ │ ├── SettingsModel.cs │ │ │ │ ├── SettingsViewModel.cs │ │ │ │ ├── ShellViewModel.cs │ │ │ │ ├── ShowDetailsCommand.cs │ │ │ │ ├── SmallGridPropertiesViewModel.cs │ │ │ │ ├── StatusMessageViewModel.cs │ │ │ │ ├── TagViewModel.cs │ │ │ │ ├── ToastViewModel.cs │ │ │ │ ├── TopLevelCommandManager.cs │ │ │ │ ├── TopLevelHotkey.cs │ │ │ │ ├── TopLevelItemPageContext.cs │ │ │ │ ├── TopLevelViewModel.cs │ │ │ │ ├── UserTheme.cs │ │ │ │ └── WindowPosition.cs │ │ │ ├── Microsoft.Terminal.UI/ │ │ │ │ ├── Converters.cpp │ │ │ │ ├── Converters.h │ │ │ │ ├── Converters.idl │ │ │ │ ├── FontIconGlyphClassifier.cpp │ │ │ │ ├── FontIconGlyphClassifier.h │ │ │ │ ├── FontIconGlyphClassifier.idl │ │ │ │ ├── IDirectKeyListener.idl │ │ │ │ ├── IconPathConverter.cpp │ │ │ │ ├── IconPathConverter.h │ │ │ │ ├── IconPathConverter.idl │ │ │ │ ├── Microsoft.Terminal.UI.def │ │ │ │ ├── Microsoft.Terminal.UI.vcxproj │ │ │ │ ├── ResourceString.cpp │ │ │ │ ├── ResourceString.h │ │ │ │ ├── ResourceString.idl │ │ │ │ ├── RunHistory.cpp │ │ │ │ ├── RunHistory.h │ │ │ │ ├── RunHistory.idl │ │ │ │ ├── init.cpp │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── til_string.h │ │ │ │ └── types.h │ │ │ ├── README.md │ │ │ ├── Tests/ │ │ │ │ ├── Microsoft.CmdPal.Common.UnitTests/ │ │ │ │ │ ├── GlobalUsings.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ └── ProviderLoadGuardTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.Common.UnitTests.csproj │ │ │ │ │ ├── Services/ │ │ │ │ │ │ └── Sanitizer/ │ │ │ │ │ │ ├── ConnectionStringRuleProviderTests.cs │ │ │ │ │ │ ├── ErrorReportSanitizerTests.TestData.cs │ │ │ │ │ │ ├── ErrorReportSanitizerTests.cs │ │ │ │ │ │ ├── FilenameMaskRuleProviderTests.cs │ │ │ │ │ │ ├── PiiRuleProviderTests.cs │ │ │ │ │ │ └── SecretKeyValueRulesProviderTests.cs │ │ │ │ │ ├── TestUtils/ │ │ │ │ │ │ └── SanitizerTestHelper.cs │ │ │ │ │ └── Text/ │ │ │ │ │ ├── PrecomputedFuzzyMatcherEmojiTests.cs │ │ │ │ │ ├── PrecomputedFuzzyMatcherOptionsTests.cs │ │ │ │ │ ├── PrecomputedFuzzyMatcherSecondaryInputTests.cs │ │ │ │ │ ├── PrecomputedFuzzyMatcherTests.cs │ │ │ │ │ ├── PrecomputedFuzzyMatcherUnicodeTests.cs │ │ │ │ │ ├── PrecomputedFuzzyMatcherWithPinyinTests.cs │ │ │ │ │ └── StringFolderTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Apps.UnitTests/ │ │ │ │ │ ├── AllAppsCommandProviderTests.cs │ │ │ │ │ ├── AllAppsPageTests.cs │ │ │ │ │ ├── AppsTestBase.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Apps.UnitTests.csproj │ │ │ │ │ ├── MockAppCache.cs │ │ │ │ │ ├── MockUWPApplication.cs │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ └── TestDataHelper.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmarks.UnitTests/ │ │ │ │ │ ├── BookmarkJsonParserTests.cs │ │ │ │ │ ├── BookmarkManagerTests.cs │ │ │ │ │ ├── BookmarkResolverTests.Common.cs │ │ │ │ │ ├── BookmarkResolverTests.Placeholders.cs │ │ │ │ │ ├── BookmarkResolverTests.Quoted.cs │ │ │ │ │ ├── BookmarkResolverTests.cs │ │ │ │ │ ├── BookmarksCommandProviderTests.cs │ │ │ │ │ ├── CommandLineHelperTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmarks.UnitTests.csproj │ │ │ │ │ ├── MockBookmarkDataSource.cs │ │ │ │ │ ├── MockBookmarkManager.cs │ │ │ │ │ ├── PlaceholderInfoNameEqualityComparerTests.cs │ │ │ │ │ ├── PlaceholderParserTests.cs │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ └── UriHelperTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Calc.UnitTests/ │ │ │ │ │ ├── BaseConverterTests.cs │ │ │ │ │ ├── BracketHelperTests.cs │ │ │ │ │ ├── CloseOnEnterTests.cs │ │ │ │ │ ├── ExtendedCalculatorParserTests.cs │ │ │ │ │ ├── IncompleteQueryTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Calc.UnitTests.csproj │ │ │ │ │ ├── NumberTranslatorTests.cs │ │ │ │ │ ├── QueryHelperTests.cs │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ └── SettingsManagerTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests/ │ │ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory.UnitTests.csproj │ │ │ │ │ └── UrlHelperTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Registry.UnitTests/ │ │ │ │ │ ├── BasicStructureTest.cs │ │ │ │ │ ├── KeyNameTest.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Registry.UnitTests.csproj │ │ │ │ │ ├── QueryHelperTest.cs │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── RegistryHelperTest.cs │ │ │ │ │ ├── ResultHelperTest.cs │ │ │ │ │ └── Settings.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop.UnitTests/ │ │ │ │ │ ├── FallbackRemoteDesktopItemTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop.UnitTests.csproj │ │ │ │ │ ├── MockRdpConnectionsManager.cs │ │ │ │ │ ├── MockSettingsManager.cs │ │ │ │ │ ├── RdpConnectionsManagerTests.cs │ │ │ │ │ └── RemoteDesktopCommandProviderTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Shell.UnitTests/ │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Shell.UnitTests.csproj │ │ │ │ │ ├── NormalizeCommandLineTests.cs │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ └── ShellCommandProviderTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.System.UnitTests/ │ │ │ │ │ ├── BasicTests.cs │ │ │ │ │ ├── ImageTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.System.UnitTests.csproj │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ └── Settings.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate.UnitTests/ │ │ │ │ │ ├── AvailableResultsListTests.cs │ │ │ │ │ ├── FallbackTimeDateItemTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate.UnitTests.csproj │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── ResultHelperTests.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ ├── StringParserTests.cs │ │ │ │ │ ├── TimeAndDateHelperTests.cs │ │ │ │ │ ├── TimeDateCalculatorTests.cs │ │ │ │ │ └── TimeDateCommandsProviderTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.UnitTestsBase/ │ │ │ │ │ ├── CommandPaletteUnitTestBase.cs │ │ │ │ │ └── Microsoft.CmdPal.Ext.UnitTestBase.csproj │ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch.UnitTests/ │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch.UnitTests.csproj │ │ │ │ │ ├── MockBrowserInfoService.cs │ │ │ │ │ ├── MockSettingsInterface.cs │ │ │ │ │ ├── QueryTests.cs │ │ │ │ │ ├── SettingsManagerTests.cs │ │ │ │ │ └── WebSearchCommandProviderTests.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker.UnitTests/ │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker.UnitTests.csproj │ │ │ │ │ └── Settings.cs │ │ │ │ ├── Microsoft.CmdPal.UI.ViewModels.UnitTests/ │ │ │ │ │ ├── AppStateServiceTests.cs │ │ │ │ │ ├── CommandItemViewModelTests.cs │ │ │ │ │ ├── ContentPageViewModelTests.cs │ │ │ │ │ ├── ExtensionTemplateServiceTests.cs │ │ │ │ │ ├── ListViewModelTests.cs │ │ │ │ │ ├── MainListPageResultFactoryTests.cs │ │ │ │ │ ├── Microsoft.CmdPal.UI.ViewModels.UnitTests.csproj │ │ │ │ │ ├── PersistenceServiceTests.cs │ │ │ │ │ ├── RecentCommandsTests.cs │ │ │ │ │ └── SettingsServiceTests.cs │ │ │ │ ├── Microsoft.CmdPal.UITests/ │ │ │ │ │ ├── BasicTests.cs │ │ │ │ │ ├── CommandPaletteTestBase.cs │ │ │ │ │ ├── IndexerTests.cs │ │ │ │ │ └── Microsoft.CmdPal.UITests.csproj │ │ │ │ └── Microsoft.CommandPalette.Extensions.Toolkit.UnitTests/ │ │ │ │ ├── FuzzyMatcherComparisonTests.cs │ │ │ │ ├── FuzzyMatcherComplexEmojiTests.cs │ │ │ │ ├── FuzzyMatcherDiacriticsTests.cs │ │ │ │ ├── FuzzyMatcherEmojiTests.cs │ │ │ │ ├── FuzzyMatcherNormalizationTests.cs │ │ │ │ ├── FuzzyMatcherPinyinLogicTests.cs │ │ │ │ ├── FuzzyMatcherUnicodeGarbageTests.cs │ │ │ │ ├── FuzzyMatcherValidationTests.cs │ │ │ │ ├── Legacy/ │ │ │ │ │ └── LegacyFuzzyStringMatcher.cs │ │ │ │ ├── ListHelpersInPlaceUpdateTests.cs │ │ │ │ └── Microsoft.CommandPalette.Extensions.Toolkit.UnitTests.csproj │ │ │ ├── check-extensions.ps1 │ │ │ ├── clean-sdk.ps1 │ │ │ ├── custom.props │ │ │ ├── doc/ │ │ │ │ ├── CmdPal-Values.md │ │ │ │ ├── command-pal-anatomy/ │ │ │ │ │ └── command-palette-anatomy.md │ │ │ │ ├── initial-sdk-spec/ │ │ │ │ │ ├── generate-interface.ps1 │ │ │ │ │ ├── initial-sdk-spec.md │ │ │ │ │ └── list-elements-mock-002.pdn │ │ │ │ └── powertoys-extension-local-development.md │ │ │ ├── ext/ │ │ │ │ ├── Common.ExtDependencies.props │ │ │ │ ├── Microsoft.CmdPal.Ext.Apps/ │ │ │ │ │ ├── AllAppsCommandProvider.cs │ │ │ │ │ ├── AllAppsPage.cs │ │ │ │ │ ├── AllAppsSettings.cs │ │ │ │ │ ├── AppCache.cs │ │ │ │ │ ├── AppCommand.cs │ │ │ │ │ ├── AppItem.cs │ │ │ │ │ ├── AppListItem.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── RunAsAdminCommand.cs │ │ │ │ │ │ ├── RunAsUserCommand.cs │ │ │ │ │ │ ├── UninstallApplicationCommand.cs │ │ │ │ │ │ └── UninstallApplicationConfirmation.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── AppxIconLoader.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── IconExtractor.cs │ │ │ │ │ │ ├── IconSearchResult.cs │ │ │ │ │ │ └── UninstallRegistryAppLocator.cs │ │ │ │ │ ├── IAppCache.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── JsonSerializationContext.cs │ │ │ │ │ ├── KeyChords.cs │ │ │ │ │ ├── LocalSuppressions.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Apps.csproj │ │ │ │ │ ├── NativeMethods.json │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── Programs/ │ │ │ │ │ │ ├── AppxPackageHelper.cs │ │ │ │ │ │ ├── DisabledProgramSource.cs │ │ │ │ │ │ ├── IFileVersionInfoWrapper.cs │ │ │ │ │ │ ├── IPackage.cs │ │ │ │ │ │ ├── IPackageCatalog.cs │ │ │ │ │ │ ├── IPackageManager.cs │ │ │ │ │ │ ├── IProgram.cs │ │ │ │ │ │ ├── IUWPApplication.cs │ │ │ │ │ │ ├── LogoType.cs │ │ │ │ │ │ ├── PackageCatalogWrapper.cs │ │ │ │ │ │ ├── PackageManagerWrapper.cs │ │ │ │ │ │ ├── PackageWrapper.cs │ │ │ │ │ │ ├── ProgramSource.cs │ │ │ │ │ │ ├── ReparsePoint.cs │ │ │ │ │ │ ├── UWP.cs │ │ │ │ │ │ ├── UWPApplication.cs │ │ │ │ │ │ └── Win32Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── State/ │ │ │ │ │ │ └── PinStateChangedEventArgs.cs │ │ │ │ │ ├── Storage/ │ │ │ │ │ │ ├── EventHandler.cs │ │ │ │ │ │ ├── FileSystemWatcherWrapper.cs │ │ │ │ │ │ ├── IFileSystemWatcherWrapper.cs │ │ │ │ │ │ ├── IProgramRepository.cs │ │ │ │ │ │ ├── IRepository`1.cs │ │ │ │ │ │ ├── ListRepository`1.cs │ │ │ │ │ │ ├── PackageRepository.cs │ │ │ │ │ │ ├── Win32ProgramFileSystemWatchers.cs │ │ │ │ │ │ └── Win32ProgramRepository.cs │ │ │ │ │ └── Utils/ │ │ │ │ │ ├── ComFreeHelper.cs │ │ │ │ │ ├── IShellLinkHelper.cs │ │ │ │ │ ├── SafeComHandle.cs │ │ │ │ │ ├── ShellCommand.cs │ │ │ │ │ ├── ShellLinkHelper.cs │ │ │ │ │ ├── ShellLocalization.cs │ │ │ │ │ ├── Theme.cs │ │ │ │ │ └── ThemeHelper.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmark/ │ │ │ │ │ ├── BookmarksCommandProvider.cs │ │ │ │ │ ├── BookmarksManager.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── DeleteBookmarkCommand.cs │ │ │ │ │ │ └── LaunchBookmarkCommand.cs │ │ │ │ │ ├── GlobalUsings.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── Classification.cs │ │ │ │ │ │ ├── CommandIds.cs │ │ │ │ │ │ ├── CommandKind.cs │ │ │ │ │ │ ├── CommandLauncher.cs │ │ │ │ │ │ ├── CommandLineHelper.cs │ │ │ │ │ │ ├── LaunchMethod.cs │ │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ │ ├── ShellNames.cs │ │ │ │ │ │ └── UriHelper.cs │ │ │ │ │ ├── IBookmarksManager.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── KeyChords.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Bookmarks.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── AddBookmarkForm.cs │ │ │ │ │ │ ├── AddBookmarkPage.cs │ │ │ │ │ │ ├── BookmarkListItem.cs │ │ │ │ │ │ ├── BookmarkPlaceholderForm.cs │ │ │ │ │ │ └── BookmarkPlaceholderPage.cs │ │ │ │ │ ├── Persistence/ │ │ │ │ │ │ ├── BookmarkData.cs │ │ │ │ │ │ ├── BookmarkJsonParser.cs │ │ │ │ │ │ ├── BookmarkSerializationContext.cs │ │ │ │ │ │ ├── BookmarksData.cs │ │ │ │ │ │ ├── FileBookmarkDataSource.cs │ │ │ │ │ │ └── IBookmarkDataSource.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ └── Services/ │ │ │ │ │ ├── BookmarkResolver.cs │ │ │ │ │ ├── FaviconLoader.cs │ │ │ │ │ ├── IBookmarkIconLocator.cs │ │ │ │ │ ├── IBookmarkResolver.cs │ │ │ │ │ ├── IFaviconLoader.cs │ │ │ │ │ ├── IPlaceholderParser.cs │ │ │ │ │ ├── IconLocator.cs │ │ │ │ │ ├── PlaceholderInfo.cs │ │ │ │ │ ├── PlaceholderInfoNameEqualityComparer.cs │ │ │ │ │ └── PlaceholderParser.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Calc/ │ │ │ │ │ ├── CalculatorCommandProvider.cs │ │ │ │ │ ├── Helper/ │ │ │ │ │ │ ├── BaseConverter.cs │ │ │ │ │ │ ├── BracketHelper.cs │ │ │ │ │ │ ├── CalculateEngine.cs │ │ │ │ │ │ ├── CalculateHelper.cs │ │ │ │ │ │ ├── CalculateResult.cs │ │ │ │ │ │ ├── ErrorHandler.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── NumberTranslator.cs │ │ │ │ │ │ ├── QueryHelper.cs │ │ │ │ │ │ ├── ReplaceQueryCommand.cs │ │ │ │ │ │ ├── ResultHelper.cs │ │ │ │ │ │ ├── SaveCommand.cs │ │ │ │ │ │ └── SettingsManager.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── KeyChords.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Calc.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── CalculatorListPage.cs │ │ │ │ │ │ └── FallbackCalculatorItem.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory/ │ │ │ │ │ ├── ClipboardHistoryCommandsProvider.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── CopyCommand.cs │ │ │ │ │ │ ├── DeleteItemCommand.cs │ │ │ │ │ │ └── PasteCommand.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── Analyzers/ │ │ │ │ │ │ │ ├── IClipboardMetadataProvider.cs │ │ │ │ │ │ │ ├── ImageMetadata.cs │ │ │ │ │ │ │ ├── ImageMetadataAnalyzer.cs │ │ │ │ │ │ │ ├── ImageMetadataProvider.cs │ │ │ │ │ │ │ ├── LineEndingType.cs │ │ │ │ │ │ │ ├── ProviderAction.cs │ │ │ │ │ │ │ ├── SizeFormatter.cs │ │ │ │ │ │ │ ├── TextFileSystemMetadataProvider.cs │ │ │ │ │ │ │ ├── TextMetadata.cs │ │ │ │ │ │ │ ├── TextMetadataAnalyzer.cs │ │ │ │ │ │ │ ├── TextMetadataProvider.cs │ │ │ │ │ │ │ ├── WebLinkMetadataProvider.cs │ │ │ │ │ │ │ └── WellKnownActionIds.cs │ │ │ │ │ │ ├── ClipboardHelper.cs │ │ │ │ │ │ ├── ClipboardThreadScheduler.cs │ │ │ │ │ │ ├── ISettingOptions.cs │ │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ │ ├── PrimaryAction.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ └── UrlHelper.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── KeyChords.cs │ │ │ │ │ ├── Messages/ │ │ │ │ │ │ └── HideWindowMessage.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.ClipboardHistory.csproj │ │ │ │ │ ├── Models/ │ │ │ │ │ │ ├── ClipboardFormat.cs │ │ │ │ │ │ └── ClipboardItem.cs │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── ClipboardHistoryListPage.cs │ │ │ │ │ │ └── ClipboardListItem.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── Microsoft.CmdPal.Ext.Indexer/ │ │ │ │ │ ├── Actions/ │ │ │ │ │ │ ├── ActionRuntimeFactory.cs │ │ │ │ │ │ └── ActionRuntimeManager.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── ExecuteActionCommand.cs │ │ │ │ │ │ └── PeekFileCommand.cs │ │ │ │ │ ├── Data/ │ │ │ │ │ │ ├── IndexerItem.cs │ │ │ │ │ │ └── IndexerListItem.cs │ │ │ │ │ ├── FallbackOpenFileItem.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ └── DataPackageHelper.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Indexer/ │ │ │ │ │ │ ├── DataSourceManager.cs │ │ │ │ │ │ ├── OleDB/ │ │ │ │ │ │ │ ├── DBPROP.cs │ │ │ │ │ │ │ ├── DBPROPIDSET.cs │ │ │ │ │ │ │ ├── DBPROPSET.cs │ │ │ │ │ │ │ ├── IRowset.cs │ │ │ │ │ │ │ └── IRowsetInfo.cs │ │ │ │ │ │ ├── SearchFilters.cs │ │ │ │ │ │ ├── SearchQuery.cs │ │ │ │ │ │ ├── SearchResult.cs │ │ │ │ │ │ ├── SystemSearch/ │ │ │ │ │ │ │ ├── ICommand.cs │ │ │ │ │ │ │ ├── ICommandText.cs │ │ │ │ │ │ │ ├── IDBCreateCommand.cs │ │ │ │ │ │ │ ├── IDBCreateSession.cs │ │ │ │ │ │ │ ├── IDBInitialize.cs │ │ │ │ │ │ │ ├── IGetRow.cs │ │ │ │ │ │ │ ├── IPropertyStore.cs │ │ │ │ │ │ │ ├── ISearchCatalogManager.cs │ │ │ │ │ │ │ ├── ISearchManager.cs │ │ │ │ │ │ │ ├── ISearchQueryHelper.cs │ │ │ │ │ │ │ ├── PropVariant.cs │ │ │ │ │ │ │ └── PropertyKey.cs │ │ │ │ │ │ └── Utils/ │ │ │ │ │ │ ├── NativeHelpers.cs │ │ │ │ │ │ ├── QueryStringBuilder.cs │ │ │ │ │ │ └── UrlToFilePathConverter.cs │ │ │ │ │ ├── IndexerCommandsProvider.cs │ │ │ │ │ ├── KeyChords.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Indexer.csproj │ │ │ │ │ ├── NativeMethods.json │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── ActionsListContextItem.cs │ │ │ │ │ │ ├── DirectoryExplorePage.cs │ │ │ │ │ │ ├── DirectoryPage.cs │ │ │ │ │ │ ├── ExploreListItem.cs │ │ │ │ │ │ └── IndexerPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ └── SearchEngine.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.PerformanceMonitor/ │ │ │ │ │ ├── DevHome/ │ │ │ │ │ │ ├── Enums/ │ │ │ │ │ │ │ ├── WidgetDataState.cs │ │ │ │ │ │ │ └── WidgetPageState.cs │ │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ │ ├── CPUStats.cs │ │ │ │ │ │ │ ├── ChartHelper.cs │ │ │ │ │ │ │ ├── DataManager.cs │ │ │ │ │ │ │ ├── DataType.cs │ │ │ │ │ │ │ ├── GPUStats.cs │ │ │ │ │ │ │ ├── MemoryStats.cs │ │ │ │ │ │ │ ├── NetworkStats.cs │ │ │ │ │ │ │ ├── PerformanceCounterSourceBase.cs │ │ │ │ │ │ │ ├── Resources.cs │ │ │ │ │ │ │ └── SystemData.cs │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── Templates/ │ │ │ │ │ │ ├── LoadingTemplate.json │ │ │ │ │ │ ├── SystemCPUUsageTemplate.json │ │ │ │ │ │ ├── SystemGPUUsageTemplate.json │ │ │ │ │ │ ├── SystemMemoryTemplate.json │ │ │ │ │ │ └── SystemNetworkUsageTemplate.json │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.PerformanceMonitor.csproj │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── NetworkSpeedUnit.cs │ │ │ │ │ ├── OnLoadStaticPage.cs │ │ │ │ │ ├── PerformanceMonitorCommandsProvider.cs │ │ │ │ │ ├── PerformanceMonitorDisabledPage.cs │ │ │ │ │ ├── PerformanceWidgetsPage.cs │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ └── Strings/ │ │ │ │ │ └── en-US/ │ │ │ │ │ └── Resources.resw │ │ │ │ ├── Microsoft.CmdPal.Ext.PowerToys/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── AdvancedPaste/ │ │ │ │ │ │ │ └── OpenAdvancedPasteCommand.cs │ │ │ │ │ │ ├── Awake/ │ │ │ │ │ │ │ ├── RefreshAwakeStatusCommand.cs │ │ │ │ │ │ │ ├── StartAwakeCommand.cs │ │ │ │ │ │ │ └── StopAwakeCommand.cs │ │ │ │ │ │ ├── ColorPicker/ │ │ │ │ │ │ │ ├── CopySavedColorCommand.cs │ │ │ │ │ │ │ └── OpenColorPickerCommand.cs │ │ │ │ │ │ ├── CropAndLock/ │ │ │ │ │ │ │ ├── CropAndLockReparentCommand.cs │ │ │ │ │ │ │ ├── CropAndLockScreenshotCommand.cs │ │ │ │ │ │ │ └── CropAndLockThumbnailCommand.cs │ │ │ │ │ │ ├── EnvironmentVariables/ │ │ │ │ │ │ │ ├── OpenEnvironmentVariablesAdminCommand.cs │ │ │ │ │ │ │ └── OpenEnvironmentVariablesCommand.cs │ │ │ │ │ │ ├── FancyZones/ │ │ │ │ │ │ │ ├── ApplyFancyZonesLayoutCommand.cs │ │ │ │ │ │ │ ├── FancyZonesLayoutListItem.cs │ │ │ │ │ │ │ ├── FancyZonesMonitorListItem.cs │ │ │ │ │ │ │ ├── IdentifyFancyZonesMonitorCommand.cs │ │ │ │ │ │ │ └── OpenFancyZonesEditorCommand.cs │ │ │ │ │ │ ├── Hosts/ │ │ │ │ │ │ │ ├── OpenHostsEditorAdminCommand.cs │ │ │ │ │ │ │ └── OpenHostsEditorCommand.cs │ │ │ │ │ │ ├── KeyboardManager/ │ │ │ │ │ │ │ └── OpenNewKeyboardManagerEditorCommand.cs │ │ │ │ │ │ ├── LaunchModuleCommand.cs │ │ │ │ │ │ ├── LightSwitch/ │ │ │ │ │ │ │ └── ToggleLightSwitchCommand.cs │ │ │ │ │ │ ├── MouseUtils/ │ │ │ │ │ │ │ ├── ShowMouseJumpPreviewCommand.cs │ │ │ │ │ │ │ ├── ToggleCursorWrapCommand.cs │ │ │ │ │ │ │ ├── ToggleFindMyMouseCommand.cs │ │ │ │ │ │ │ ├── ToggleMouseCrosshairsCommand.cs │ │ │ │ │ │ │ └── ToggleMouseHighlighterCommand.cs │ │ │ │ │ │ ├── MouseWithoutBorders/ │ │ │ │ │ │ │ ├── MWBReconnectCommand.cs │ │ │ │ │ │ │ └── ToggleMWBEasyMouseCommand.cs │ │ │ │ │ │ ├── OpenInSettingsCommand.cs │ │ │ │ │ │ ├── OpenPowerToysSettingsCommand.cs │ │ │ │ │ │ ├── RegistryPreview/ │ │ │ │ │ │ │ └── OpenRegistryPreviewCommand.cs │ │ │ │ │ │ ├── ScreenRuler/ │ │ │ │ │ │ │ └── ToggleScreenRulerCommand.cs │ │ │ │ │ │ ├── ShortcutGuide/ │ │ │ │ │ │ │ └── ToggleShortcutGuideCommand.cs │ │ │ │ │ │ ├── TextExtractor/ │ │ │ │ │ │ │ └── ToggleTextExtractorCommand.cs │ │ │ │ │ │ ├── Workspaces/ │ │ │ │ │ │ │ ├── LaunchWorkspaceCommand.cs │ │ │ │ │ │ │ ├── OpenWorkspaceEditorCommand.cs │ │ │ │ │ │ │ └── WorkspaceListItem.cs │ │ │ │ │ │ └── ZoomIt/ │ │ │ │ │ │ └── ZoomItActionCommand.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── AwakeStatusService.cs │ │ │ │ │ │ ├── ColorSwatchIconFactory.cs │ │ │ │ │ │ ├── FancyZonesCommandIds.cs │ │ │ │ │ │ ├── FancyZonesContextHelper.cs │ │ │ │ │ │ ├── FancyZonesDataService.cs │ │ │ │ │ │ ├── FancyZonesLayoutDescriptor.cs │ │ │ │ │ │ ├── FancyZonesLayoutDescriptor1.cs │ │ │ │ │ │ ├── FancyZonesLayoutSource.cs │ │ │ │ │ │ ├── FancyZonesMonitorDescriptor.cs │ │ │ │ │ │ ├── FancyZonesMonitorIdentifier.cs │ │ │ │ │ │ ├── FancyZonesMonitorPreviewRenderer.cs │ │ │ │ │ │ ├── FancyZonesNotifier.cs │ │ │ │ │ │ ├── FancyZonesThumbnailRenderer.cs │ │ │ │ │ │ ├── FancyZonesVirtualDesktop.cs │ │ │ │ │ │ ├── GpoEnablementService.cs │ │ │ │ │ │ ├── KeyboardManagerStateService.cs │ │ │ │ │ │ ├── ModuleCommandCatalog.cs │ │ │ │ │ │ ├── ModuleEnablementService.cs │ │ │ │ │ │ ├── PowerToysFallbackCommandItem.cs │ │ │ │ │ │ ├── PowerToysPathResolver.cs │ │ │ │ │ │ ├── PowerToysResourcesHelper.cs │ │ │ │ │ │ └── SettingsChangeNotifier.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.PowerToys.csproj │ │ │ │ │ ├── Modules/ │ │ │ │ │ │ ├── AdvancedPasteModuleCommandProvider.cs │ │ │ │ │ │ ├── AlwaysOnTopModuleCommandProvider.cs │ │ │ │ │ │ ├── AwakeModuleCommandProvider.cs │ │ │ │ │ │ ├── ColorPickerModuleCommandProvider.cs │ │ │ │ │ │ ├── CommandNotFoundModuleCommandProvider.cs │ │ │ │ │ │ ├── CropAndLockModuleCommandProvider.cs │ │ │ │ │ │ ├── EnvironmentVariablesModuleCommandProvider.cs │ │ │ │ │ │ ├── FancyZonesModuleCommandProvider.cs │ │ │ │ │ │ ├── FileExplorerAddonsModuleCommandProvider.cs │ │ │ │ │ │ ├── FileLocksmithModuleCommandProvider.cs │ │ │ │ │ │ ├── HostsModuleCommandProvider.cs │ │ │ │ │ │ ├── ImageResizerModuleCommandProvider.cs │ │ │ │ │ │ ├── KeyboardManagerModuleCommandProvider.cs │ │ │ │ │ │ ├── LightSwitchModuleCommandProvider.cs │ │ │ │ │ │ ├── ModuleCommandProvider.cs │ │ │ │ │ │ ├── MouseUtilsModuleCommandProvider.cs │ │ │ │ │ │ ├── MouseWithoutBordersModuleCommandProvider.cs │ │ │ │ │ │ ├── NewPlusModuleCommandProvider.cs │ │ │ │ │ │ ├── PeekModuleCommandProvider.cs │ │ │ │ │ │ ├── PowerRenameModuleCommandProvider.cs │ │ │ │ │ │ ├── PowerToysRunModuleCommandProvider.cs │ │ │ │ │ │ ├── QuickAccentModuleCommandProvider.cs │ │ │ │ │ │ ├── RegistryPreviewModuleCommandProvider.cs │ │ │ │ │ │ ├── ScreenRulerModuleCommandProvider.cs │ │ │ │ │ │ ├── ShortcutGuideModuleCommandProvider.cs │ │ │ │ │ │ ├── TextExtractorModuleCommandProvider.cs │ │ │ │ │ │ ├── WorkspacesModuleCommandProvider.cs │ │ │ │ │ │ └── ZoomItModuleCommandProvider.cs │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── ColorPickerSavedColorsPage.cs │ │ │ │ │ │ ├── FancyZonesLayoutsPage.cs │ │ │ │ │ │ ├── FancyZonesMonitorLayoutPickerPage.cs │ │ │ │ │ │ ├── FancyZonesMonitorsPage.cs │ │ │ │ │ │ ├── PowerToysExtensionPage.cs │ │ │ │ │ │ └── PowerToysListPage.cs │ │ │ │ │ ├── PowerToysCommandsProvider.cs │ │ │ │ │ ├── PowerToysExtension.cs │ │ │ │ │ ├── PowerToysExtensionCommandsProvider.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── Public/ │ │ │ │ │ │ └── README.md │ │ │ │ │ └── app.manifest │ │ │ │ ├── Microsoft.CmdPal.Ext.Registry/ │ │ │ │ │ ├── Classes/ │ │ │ │ │ │ └── RegistryEntry.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── CopyRegistryInfoCommand.cs │ │ │ │ │ │ └── OpenKeyInEditorCommand.cs │ │ │ │ │ ├── Constants/ │ │ │ │ │ │ ├── KeyName.cs │ │ │ │ │ │ └── MaxTextLength.cs │ │ │ │ │ ├── CopyType.cs │ │ │ │ │ ├── Enumerations/ │ │ │ │ │ │ └── TruncateSide.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── ContextMenuHelper.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── QueryHelper.cs │ │ │ │ │ │ ├── RegistryHelper.cs │ │ │ │ │ │ ├── ResultHelper.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ └── ValueHelper.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Registry.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ └── RegistryListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ └── RegistryCommandsProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── ConnectionListItem.cs │ │ │ │ │ │ ├── FallbackRemoteDesktopItem.cs │ │ │ │ │ │ └── OpenRemoteDesktopCommand.cs │ │ │ │ │ ├── Helper/ │ │ │ │ │ │ ├── ConnectionHelpers.cs │ │ │ │ │ │ ├── IRdpConnectionsManager.cs │ │ │ │ │ │ └── RdpConnectionsManager.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.RemoteDesktop.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ └── RemoteDesktopListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── RemoteDesktopCommandProvider.cs │ │ │ │ │ └── Settings/ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ └── SettingsManager.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.Shell/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ └── OpenUrlWithHistoryCommand.cs │ │ │ │ │ ├── FallbackExecuteItem.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── CommandLineNormalizer.cs │ │ │ │ │ │ ├── ExecutionShell.cs │ │ │ │ │ │ ├── RunAsType.cs │ │ │ │ │ │ └── ShellListPageHelpers.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── LocalSuppressions.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.Shell.csproj │ │ │ │ │ ├── NativeMethods.json │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── PathListItem.cs │ │ │ │ │ │ ├── RunExeItem.cs │ │ │ │ │ │ └── ShellListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── ResourceLoaderInstance.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── Settings/ │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ └── SettingsManager.cs │ │ │ │ │ └── ShellCommandsProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.System/ │ │ │ │ │ ├── EmptyRecycleBinCommand.cs │ │ │ │ │ ├── EmptyRecycleBinConfirmation.cs │ │ │ │ │ ├── ExecuteCommand.cs │ │ │ │ │ ├── ExecuteCommandConfirmation.cs │ │ │ │ │ ├── FallbackSystemCommandItem.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── Commands.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── MessageBoxHelper.cs │ │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ │ ├── NetworkConnectionProperties.cs │ │ │ │ │ │ ├── OpenInShellHelper.cs │ │ │ │ │ │ ├── ResultHelper.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ ├── SystemPluginContext.cs │ │ │ │ │ │ └── Win32Helpers.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.System.csproj │ │ │ │ │ ├── OpenInShellCommand.cs │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ └── SystemCommandPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ └── SystemCommandExtensionProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate/ │ │ │ │ │ ├── FallbackTimeDateItem.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── AvailableResult.cs │ │ │ │ │ │ ├── AvailableResultsList.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── ResultHelper.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ ├── TimeAndDateHelper.cs │ │ │ │ │ │ └── TimeDateCalculator.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.TimeDate.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ └── TimeDateExtensionPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ └── TimeDateCommandsProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── OpenURLCommand.cs │ │ │ │ │ │ └── SearchWebCommand.cs │ │ │ │ │ ├── FallbackExecuteSearchItem.cs │ │ │ │ │ ├── FallbackOpenURLItem.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── Browser/ │ │ │ │ │ │ │ ├── BrowserInfo.cs │ │ │ │ │ │ │ ├── BrowserInfoServiceExtensions.cs │ │ │ │ │ │ │ ├── DefaultBrowserInfoService.cs │ │ │ │ │ │ │ ├── IBrowserInfoService.cs │ │ │ │ │ │ │ └── Providers/ │ │ │ │ │ │ │ ├── AssociatedApp.cs │ │ │ │ │ │ │ ├── AssociationProviderBase.cs │ │ │ │ │ │ │ ├── FallbackMsEdgeBrowserProvider.cs │ │ │ │ │ │ │ ├── IDefaultBrowserProvider.cs │ │ │ │ │ │ │ ├── LegacyRegistryAssociationProvider.cs │ │ │ │ │ │ │ └── ShellAssociationProvider.cs │ │ │ │ │ │ ├── HistoryItem.cs │ │ │ │ │ │ ├── HistoryStore.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ └── WebSearchJsonSerializationContext.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WebSearch.csproj │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ └── WebSearchListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── WebSearchCommandsProvider.cs │ │ │ │ │ └── WebSearchTopLevelCommandItem.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.WinGet/ │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WinGet.csproj │ │ │ │ │ ├── NativeMethods.json │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── InstallPackageCommand.cs │ │ │ │ │ │ ├── InstallPackageListItem.cs │ │ │ │ │ │ └── WinGetExtensionPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── WinGetExtensionCommandsProvider.cs │ │ │ │ │ ├── WinGetExtensionHost.cs │ │ │ │ │ ├── WinGetStatics.cs │ │ │ │ │ ├── WindowsPackageManager.Interop/ │ │ │ │ │ │ ├── ClassModel.cs │ │ │ │ │ │ ├── ClassesDefinition.cs │ │ │ │ │ │ ├── ClsidContext.cs │ │ │ │ │ │ ├── WindowsPackageManagerFactory.cs │ │ │ │ │ │ └── WindowsPackageManagerStandardFactory.cs │ │ │ │ │ └── app.manifest │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── CloseWindowCommand.cs │ │ │ │ │ │ ├── EndTaskCommand.cs │ │ │ │ │ │ ├── ExplorerInfoResultCommand.cs │ │ │ │ │ │ └── SwitchToWindowCommand.cs │ │ │ │ │ ├── Components/ │ │ │ │ │ │ ├── ContextMenuHelper.cs │ │ │ │ │ │ ├── LivePreview.cs │ │ │ │ │ │ ├── OpenWindows.cs │ │ │ │ │ │ ├── ResultHelper.cs │ │ │ │ │ │ ├── Window.cs │ │ │ │ │ │ └── WindowProcess.cs │ │ │ │ │ ├── GlobalUsings.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── CVirtualDesktopManager.cs │ │ │ │ │ │ ├── ISettingsInterface.cs │ │ │ │ │ │ ├── IVirtualDesktopManager.cs │ │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ │ ├── OSVersionHelper.cs │ │ │ │ │ │ ├── ProcessPackagingInfo.cs │ │ │ │ │ │ ├── ProcessPackagingInspector.cs │ │ │ │ │ │ ├── ProcessPackagingKind.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ ├── VDesktop.cs │ │ │ │ │ │ ├── VirtualDesktopHelper.cs │ │ │ │ │ │ └── Win32Helpers.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Messages/ │ │ │ │ │ │ └── RefreshWindowsMessage.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowWalker.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── WindowWalkerListItem.cs │ │ │ │ │ │ └── WindowWalkerListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ └── WindowWalkerCommandsProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsServices/ │ │ │ │ │ ├── Action.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── OpenServicesCommand.cs │ │ │ │ │ │ ├── RestartServiceCommand.cs │ │ │ │ │ │ └── ServiceCommand.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ └── ServiceHelper.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsServices.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── ServiceFilters.cs │ │ │ │ │ │ └── ServicesListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── ServiceResult.cs │ │ │ │ │ └── WindowsServicesCommandsProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsSettings/ │ │ │ │ │ ├── Classes/ │ │ │ │ │ │ ├── WindowsSetting.cs │ │ │ │ │ │ └── WindowsSettings.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ └── OpenSettingsCommand.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── ContextMenuHelper.cs │ │ │ │ │ │ ├── JsonSettingsListHelper.cs │ │ │ │ │ │ ├── ResultHelper.cs │ │ │ │ │ │ ├── ScoringHelper.cs │ │ │ │ │ │ ├── TranslationHelper.cs │ │ │ │ │ │ ├── UnsupportedSettingsHelper.cs │ │ │ │ │ │ └── WindowsSettingsPathHelper.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── JsonSerializationContext.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsSettings.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── FallbackWindowsSettingsItem.cs │ │ │ │ │ │ └── WindowsSettingsListPage.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── WindowsSettings.json │ │ │ │ │ ├── WindowsSettings.schema.json │ │ │ │ │ └── WindowsSettingsCommandsProvider.cs │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsTerminal/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── LaunchProfileAsAdminCommand.cs │ │ │ │ │ │ └── LaunchProfileCommand.cs │ │ │ │ │ ├── Helpers/ │ │ │ │ │ │ ├── AppSettings.cs │ │ │ │ │ │ ├── AppSettingsJsonContext.cs │ │ │ │ │ │ ├── AppSettingsManager.cs │ │ │ │ │ │ ├── IApplicationActivationManager.cs │ │ │ │ │ │ ├── ITerminalQuery.cs │ │ │ │ │ │ ├── ProfileSortOrder.cs │ │ │ │ │ │ ├── SettingsManager.cs │ │ │ │ │ │ ├── TerminalHelper.cs │ │ │ │ │ │ ├── TerminalProfileKey.cs │ │ │ │ │ │ └── TerminalQuery.cs │ │ │ │ │ ├── Icons.cs │ │ │ │ │ ├── Microsoft.CmdPal.Ext.WindowsTerminal.csproj │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── ProfilesListPage.cs │ │ │ │ │ │ └── TerminalChannelFilters.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── TerminalPackage.cs │ │ │ │ │ ├── TerminalProfile.cs │ │ │ │ │ ├── TerminalTopLevelCommandItem.cs │ │ │ │ │ └── WindowsTerminalCommandsProvider.cs │ │ │ │ ├── ProcessMonitorExtension/ │ │ │ │ │ ├── Package.appxmanifest │ │ │ │ │ ├── ProcessItem.cs │ │ │ │ │ ├── ProcessListPage.cs │ │ │ │ │ ├── ProcessMonitorCommandProvider.cs │ │ │ │ │ ├── ProcessMonitorExtension.csproj │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── SampleExtension.cs │ │ │ │ │ ├── SwitchToProcess.cs │ │ │ │ │ ├── TerminateProcess.cs │ │ │ │ │ └── app.manifest │ │ │ │ └── SamplePagesExtension/ │ │ │ │ ├── EvilSampleListPage.cs │ │ │ │ ├── EvilSamplesPage.cs │ │ │ │ ├── ExplodeInFiveSeconds.cs │ │ │ │ ├── NativeMethods.txt │ │ │ │ ├── OnLoadPage.cs │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Pages/ │ │ │ │ │ ├── IssueSpecificPages/ │ │ │ │ │ │ ├── AllIssueSamplesIndexPage.cs │ │ │ │ │ │ └── SamplePageForIssue42827_FilterDropDownStaysVisibleAfterSwitchingFromListToContentPage.cs │ │ │ │ │ ├── SampleCommentsPage.cs │ │ │ │ │ ├── SampleContentPage.cs │ │ │ │ │ ├── SampleDynamicListPage.cs │ │ │ │ │ ├── SampleGalleryListPage.cs │ │ │ │ │ ├── SampleGridsListPage.cs │ │ │ │ │ ├── SampleIconPage.cs │ │ │ │ │ ├── SampleListPage.cs │ │ │ │ │ ├── SampleListPageWithDetails.cs │ │ │ │ │ ├── SampleMarkdownDetails.cs │ │ │ │ │ ├── SampleMarkdownImagesPage.cs │ │ │ │ │ ├── SampleMarkdownManyBodies.cs │ │ │ │ │ ├── SampleMarkdownPage.cs │ │ │ │ │ ├── SampleSettingsPage.cs │ │ │ │ │ ├── SectionsPages/ │ │ │ │ │ │ ├── SampleListPageWithSections.cs │ │ │ │ │ │ └── SectionsIndexPage.cs │ │ │ │ │ ├── SendMessageCommand.cs │ │ │ │ │ ├── SlowListPage.cs │ │ │ │ │ └── ToastCommand.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── SampleButtonsDockBand.cs │ │ │ │ ├── SampleDataTransferPage.cs │ │ │ │ ├── SampleDockBand.cs │ │ │ │ ├── SampleExtension.cs │ │ │ │ ├── SamplePagesCommandsProvider.cs │ │ │ │ ├── SamplePagesExtension.csproj │ │ │ │ ├── SampleUpdatingItemsPage.cs │ │ │ │ ├── SamplesListPage.cs │ │ │ │ ├── SelfImmolateCommand.cs │ │ │ │ ├── ShowToastCommand.cs │ │ │ │ └── app.manifest │ │ │ ├── extensionsdk/ │ │ │ │ ├── Microsoft.CommandPalette.Extensions/ │ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.def │ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.idl │ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.vcxproj │ │ │ │ │ ├── pch.cpp │ │ │ │ │ ├── pch.h │ │ │ │ │ ├── readme.txt │ │ │ │ │ ├── til/ │ │ │ │ │ │ └── winrt.h │ │ │ │ │ └── winrt_module.cpp │ │ │ │ ├── Microsoft.CommandPalette.Extensions.Toolkit/ │ │ │ │ │ ├── AnonymousCommand.cs │ │ │ │ │ ├── BaseObservable.cs │ │ │ │ │ ├── ChoiceSetSetting.cs │ │ │ │ │ ├── ClipboardHelper.cs │ │ │ │ │ ├── ColorHelpers.cs │ │ │ │ │ ├── Command.cs │ │ │ │ │ ├── CommandContextItem.cs │ │ │ │ │ ├── CommandItem.cs │ │ │ │ │ ├── CommandProvider.cs │ │ │ │ │ ├── CommandResult.cs │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── ConfirmableCommand.cs │ │ │ │ │ │ ├── CopyPathCommand.cs │ │ │ │ │ │ ├── CopyTextCommand.cs │ │ │ │ │ │ ├── NoOpCommand.cs │ │ │ │ │ │ ├── OpenFileCommand.cs │ │ │ │ │ │ ├── OpenInConsoleCommand.cs │ │ │ │ │ │ ├── OpenPropertiesCommand.cs │ │ │ │ │ │ ├── OpenUrlCommand.cs │ │ │ │ │ │ ├── OpenWithCommand.cs │ │ │ │ │ │ └── ShowFileInFolderCommand.cs │ │ │ │ │ ├── ConfirmationArgs.cs │ │ │ │ │ ├── ContentPage.cs │ │ │ │ │ ├── Details.cs │ │ │ │ │ ├── DetailsCommands.cs │ │ │ │ │ ├── DetailsElement.cs │ │ │ │ │ ├── DetailsLink.cs │ │ │ │ │ ├── DetailsSeparator.cs │ │ │ │ │ ├── DetailsTags.cs │ │ │ │ │ ├── Dock/ │ │ │ │ │ │ ├── WrappedDockItem.cs │ │ │ │ │ │ └── WrappedDockList.cs │ │ │ │ │ ├── DynamicListPage.cs │ │ │ │ │ ├── ExtensionHost.cs │ │ │ │ │ ├── ExtensionInstanceManager`1.cs │ │ │ │ │ ├── ExtensionServer.cs │ │ │ │ │ ├── FallbackCommandItem.cs │ │ │ │ │ ├── Filter.cs │ │ │ │ │ ├── Filters.cs │ │ │ │ │ ├── FontIconData.cs │ │ │ │ │ ├── FormContent.cs │ │ │ │ │ ├── FuzzyStringMatcher.cs │ │ │ │ │ ├── GalleryGridLayout.cs │ │ │ │ │ ├── GlobalSuppressions.cs │ │ │ │ │ ├── GoToPageArgs.cs │ │ │ │ │ ├── ISettingsForm.cs │ │ │ │ │ ├── IconData.cs │ │ │ │ │ ├── IconHelpers.cs │ │ │ │ │ ├── IconInfo.cs │ │ │ │ │ ├── ImageContent.cs │ │ │ │ │ ├── InvokableCommand.cs │ │ │ │ │ ├── ItemsChangedEventArgs.cs │ │ │ │ │ ├── JsonSerializationContext.cs │ │ │ │ │ ├── JsonSettingsManager.cs │ │ │ │ │ ├── KeyChordHelpers.cs │ │ │ │ │ ├── ListHelpers.cs │ │ │ │ │ ├── ListItem.cs │ │ │ │ │ ├── ListPage.cs │ │ │ │ │ ├── LogMessage.cs │ │ │ │ │ ├── ManagedCsWin32/ │ │ │ │ │ │ └── Shell32.cs │ │ │ │ │ ├── MarkdownContent.cs │ │ │ │ │ ├── MatchOption.cs │ │ │ │ │ ├── MatchResult.cs │ │ │ │ │ ├── MediumGridLayout.cs │ │ │ │ │ ├── Microsoft.CommandPalette.Extensions.Toolkit.csproj │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ ├── NativeMethods.txt │ │ │ │ │ ├── Page.cs │ │ │ │ │ ├── PlainTextContent.cs │ │ │ │ │ ├── ProgressState.cs │ │ │ │ │ ├── PropChangedEventArgs.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ │ └── Resources.resx │ │ │ │ │ ├── SearchPrecisionScore.cs │ │ │ │ │ ├── Section.cs │ │ │ │ │ ├── Separator.cs │ │ │ │ │ ├── Setting`1.cs │ │ │ │ │ ├── Settings.cs │ │ │ │ │ ├── SettingsForm.cs │ │ │ │ │ ├── ShellHelpers.cs │ │ │ │ │ ├── SmallGridLayout.cs │ │ │ │ │ ├── StatusMessage.cs │ │ │ │ │ ├── Tag.cs │ │ │ │ │ ├── TextSetting.cs │ │ │ │ │ ├── ThumbnailHelper.cs │ │ │ │ │ ├── ToastArgs.cs │ │ │ │ │ ├── ToastStatusMessage.cs │ │ │ │ │ ├── ToggleSetting.cs │ │ │ │ │ ├── TreeContent.cs │ │ │ │ │ ├── Utilities.cs │ │ │ │ │ ├── WeakEventListener`3.cs │ │ │ │ │ └── WellKnownExtensionAttributes.cs │ │ │ │ ├── README.md │ │ │ │ └── nuget/ │ │ │ │ ├── BuildSDKHelper.ps1 │ │ │ │ ├── Microsoft.CommandPalette.Extensions.SDK.nuspec │ │ │ │ ├── Microsoft.CommandPalette.Extensions.props │ │ │ │ ├── Microsoft.CommandPalette.Extensions.targets │ │ │ │ └── NugetWrapper.cmd │ │ │ └── format_sources.ps1 │ │ ├── colorPicker/ │ │ │ ├── ColorPicker/ │ │ │ │ ├── ColorPicker.base.rc │ │ │ │ ├── ColorPicker.vcxproj │ │ │ │ ├── ColorPicker.vcxproj.filters │ │ │ │ ├── ColorPickerConstants.h │ │ │ │ ├── Resources.resx │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h │ │ │ ├── ColorPicker.ModuleServices/ │ │ │ │ ├── ColorFormatValue.cs │ │ │ │ ├── ColorPicker.ModuleServices.csproj │ │ │ │ ├── ColorPickerService.cs │ │ │ │ ├── ColorPickerServiceJsonContext.cs │ │ │ │ ├── IColorPickerService.cs │ │ │ │ └── SavedColor.cs │ │ │ ├── ColorPickerUI/ │ │ │ │ ├── App.manifest │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── Assets/ │ │ │ │ │ └── ColorPicker/ │ │ │ │ │ └── colorPicker.cur │ │ │ │ ├── Behaviors/ │ │ │ │ │ ├── AppearAnimationBehavior.cs │ │ │ │ │ ├── ChangeWindowPositionBehavior.cs │ │ │ │ │ ├── CloseZoomWindowBehavior.cs │ │ │ │ │ ├── DragAndDropReorderBehavior.cs │ │ │ │ │ ├── DragWindowBehavior.cs │ │ │ │ │ ├── GridEffectBehavior.cs │ │ │ │ │ └── ResizeBehavior.cs │ │ │ │ ├── Bootstrapper.cs │ │ │ │ ├── ColorEditorWindow.xaml │ │ │ │ ├── ColorEditorWindow.xaml.cs │ │ │ │ ├── ColorPickerUI.csproj │ │ │ │ ├── Common/ │ │ │ │ │ ├── RangeObservableCollection.cs │ │ │ │ │ ├── RelayCommand.cs │ │ │ │ │ └── ViewModelBase.cs │ │ │ │ ├── Controls/ │ │ │ │ │ ├── ColorFormatControl.xaml │ │ │ │ │ ├── ColorFormatControl.xaml.cs │ │ │ │ │ ├── ColorPickerControl.xaml │ │ │ │ │ ├── ColorPickerControl.xaml.cs │ │ │ │ │ └── HSVColor.cs │ │ │ │ ├── Converters/ │ │ │ │ │ ├── BoolToInvertedVisibilityConverter.cs │ │ │ │ │ ├── ColorToBrushConverter.cs │ │ │ │ │ ├── ColorToStringConverter.cs │ │ │ │ │ ├── NumberToInvertedVisibilityConverter.cs │ │ │ │ │ └── NumberToVisibilityConverter.cs │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── AppStateHandler.cs │ │ │ │ │ ├── ClipboardHelper.cs │ │ │ │ │ ├── ColorHelper.cs │ │ │ │ │ ├── ColorRepresentationHelper.cs │ │ │ │ │ ├── ControlHelper.cs │ │ │ │ │ ├── IThrottledActionInvoker.cs │ │ │ │ │ ├── MonitorResolutionHelper.cs │ │ │ │ │ ├── NativeMethodsHelper.cs │ │ │ │ │ ├── SerializationHelper.cs │ │ │ │ │ ├── SessionEventHelper.cs │ │ │ │ │ ├── ThrottledActionInvoker.cs │ │ │ │ │ └── ZoomWindowHelper.cs │ │ │ │ ├── Keyboard/ │ │ │ │ │ ├── GlobalKeyboardHook.cs │ │ │ │ │ ├── GlobalKeyboardHookEventArgs.cs │ │ │ │ │ └── KeyboardMonitor.cs │ │ │ │ ├── MainWindow.xaml │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ ├── Models/ │ │ │ │ │ └── ColorFormatModel.cs │ │ │ │ ├── Mouse/ │ │ │ │ │ ├── CursorManager.cs │ │ │ │ │ ├── IMouseInfoProvider.cs │ │ │ │ │ ├── MouseHook.cs │ │ │ │ │ └── MouseInfoProvider.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── Resources/ │ │ │ │ │ ├── Styles.xaml │ │ │ │ │ └── ViewModelViewMappings.xaml │ │ │ │ ├── Settings/ │ │ │ │ │ ├── IUserSettings.cs │ │ │ │ │ ├── SettingItem`1.cs │ │ │ │ │ └── UserSettings.cs │ │ │ │ ├── Shaders/ │ │ │ │ │ ├── Global.cs │ │ │ │ │ ├── GridShader.cso │ │ │ │ │ ├── GridShader.fx │ │ │ │ │ └── GridShaderEffect.cs │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── ColorPickerSession.cs │ │ │ │ │ └── ColorPickerSettings.cs │ │ │ │ ├── ViewModelContracts/ │ │ │ │ │ ├── IColorEditorViewModel.cs │ │ │ │ │ ├── IMainViewModel.cs │ │ │ │ │ └── IZoomViewModel.cs │ │ │ │ ├── ViewModels/ │ │ │ │ │ ├── ColorEditorViewModel.cs │ │ │ │ │ ├── MainViewModel.cs │ │ │ │ │ └── ZoomViewModel.cs │ │ │ │ ├── Views/ │ │ │ │ │ ├── ColorEditorView.xaml │ │ │ │ │ ├── ColorEditorView.xaml.cs │ │ │ │ │ ├── MainView.xaml │ │ │ │ │ ├── MainView.xaml.cs │ │ │ │ │ ├── ZoomView.xaml │ │ │ │ │ └── ZoomView.xaml.cs │ │ │ │ ├── ZoomWindow.xaml │ │ │ │ └── ZoomWindow.xaml.cs │ │ │ ├── ColorPickerUI.UnitTests/ │ │ │ │ ├── ColorPickerUI.UnitTests.csproj │ │ │ │ └── Helpers/ │ │ │ │ ├── ColorConverterTest.cs │ │ │ │ └── ColorRepresentationHelperTest.cs │ │ │ └── UITest-ColorPicker/ │ │ │ ├── ColorPickerUITest.cs │ │ │ ├── ColorPickerUITest.md │ │ │ └── UITest-ColorPicker.csproj │ │ ├── fancyzones/ │ │ │ ├── FancyZones/ │ │ │ │ ├── FancyZones.vcxproj │ │ │ │ ├── FancyZones.vcxproj.filters │ │ │ │ ├── FancyZonesApp.cpp │ │ │ │ ├── FancyZonesApp.h │ │ │ │ ├── main.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ └── pch.h │ │ │ ├── FancyZones.FuzzTests/ │ │ │ │ ├── FancyZones.FuzzTests.csproj │ │ │ │ ├── FuzzTests.cs │ │ │ │ ├── MSTestSettings.cs │ │ │ │ └── OneFuzzConfig.json │ │ │ ├── FancyZones.UITests/ │ │ │ │ ├── DragWindowTests.cs │ │ │ │ ├── FancyZones.UITests.csproj │ │ │ │ ├── Init.cs │ │ │ │ ├── LayoutApplyHotKeyTests.cs │ │ │ │ ├── OneZoneSwitchTests.cs │ │ │ │ ├── RunFancyZonesTest.cs │ │ │ │ └── Utils/ │ │ │ │ ├── FancyZonesSession.cs │ │ │ │ └── ZoneSwitchHelper.cs │ │ │ ├── FancyZonesCLI/ │ │ │ │ ├── CommandLine/ │ │ │ │ │ ├── Commands/ │ │ │ │ │ │ ├── FancyZonesBaseCommand.cs │ │ │ │ │ │ ├── GetActiveLayoutCommand.cs │ │ │ │ │ │ ├── GetHotkeysCommand.cs │ │ │ │ │ │ ├── GetLayoutsCommand.cs │ │ │ │ │ │ ├── GetMonitorsCommand.cs │ │ │ │ │ │ ├── OpenEditorCommand.cs │ │ │ │ │ │ ├── OpenSettingsCommand.cs │ │ │ │ │ │ ├── RemoveHotkeyCommand.cs │ │ │ │ │ │ ├── SetHotkeyCommand.cs │ │ │ │ │ │ └── SetLayoutCommand.cs │ │ │ │ │ ├── FancyZonesCliCommandFactory.cs │ │ │ │ │ ├── FancyZonesCliGuards.cs │ │ │ │ │ └── FancyZonesCliUsage.cs │ │ │ │ ├── FancyZonesCLI.csproj │ │ │ │ ├── LayoutVisualizer.cs │ │ │ │ ├── Logger.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ ├── NativeMethods.json │ │ │ │ ├── NativeMethods.txt │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ └── Resources.resx │ │ │ │ ├── Telemetry/ │ │ │ │ │ └── FancyZonesCLICommandEvent.cs │ │ │ │ └── Utils/ │ │ │ │ ├── AppliedLayoutsHelper.cs │ │ │ │ ├── EditorParametersRefresh.cs │ │ │ │ └── GuidHelper.cs │ │ │ ├── FancyZonesEditor.UITests/ │ │ │ │ ├── ApplyLayoutTests.cs │ │ │ │ ├── CopyLayoutTests.cs │ │ │ │ ├── CreateLayoutTests.cs │ │ │ │ ├── CustomLayoutsTests.cs │ │ │ │ ├── DefaultLayoutsTest.cs │ │ │ │ ├── DeleteLayoutTests.cs │ │ │ │ ├── EditLayoutTests.cs │ │ │ │ ├── FancyZonesEditor.UITests.csproj │ │ │ │ ├── FirstLunchTest.cs │ │ │ │ ├── Init.cs │ │ │ │ ├── LayoutHotkeysTests.cs │ │ │ │ ├── NewFancyZonesEditorTest.cs │ │ │ │ ├── RunFancyZonesEditorTest.cs │ │ │ │ ├── TemplateLayoutsTests.cs │ │ │ │ ├── TestConstants.cs │ │ │ │ ├── UIInitializeTest.cs │ │ │ │ ├── Utils/ │ │ │ │ │ ├── AppZoneHistory.cs │ │ │ │ │ ├── FancyZonesEditorFiles.cs │ │ │ │ │ ├── FancyZonesEditorHelper.cs │ │ │ │ │ └── IOTestHelper.cs │ │ │ │ └── release-test-checklist.md │ │ │ ├── FancyZonesEditor.UnitTests/ │ │ │ │ ├── DefaultLayoutsModelTests.cs │ │ │ │ ├── FancyZonesEditor.UnitTests.csproj │ │ │ │ ├── GridLayoutModelTests.cs │ │ │ │ └── Usings.cs │ │ │ ├── FancyZonesEditorCommon/ │ │ │ │ ├── Data/ │ │ │ │ │ ├── AppliedLayouts.cs │ │ │ │ │ ├── Constants.cs │ │ │ │ │ ├── CustomLayoutEnumExtension.cs │ │ │ │ │ ├── CustomLayouts.cs │ │ │ │ │ ├── DefaultLayouts.cs │ │ │ │ │ ├── EditorData`1.cs │ │ │ │ │ ├── EditorParameters.cs │ │ │ │ │ ├── FancyZonesJsonContext.cs │ │ │ │ │ ├── FancyZonesPaths.cs │ │ │ │ │ ├── LayoutDefaultSettings.cs │ │ │ │ │ ├── LayoutHotkeys.cs │ │ │ │ │ └── LayoutTemplates.cs │ │ │ │ ├── FancyZonesEditorCommon.csproj │ │ │ │ └── Utils/ │ │ │ │ ├── DashCaseNamingPolicy.cs │ │ │ │ ├── FancyZonesDataIO.cs │ │ │ │ ├── IOUtils.cs │ │ │ │ └── StringUtils.cs │ │ │ ├── FancyZonesLib/ │ │ │ │ ├── Colors.cpp │ │ │ │ ├── Colors.h │ │ │ │ ├── DraggingState.cpp │ │ │ │ ├── DraggingState.h │ │ │ │ ├── EditorParameters.cpp │ │ │ │ ├── EditorParameters.h │ │ │ │ ├── FancyZones.cpp │ │ │ │ ├── FancyZones.h │ │ │ │ ├── FancyZonesData/ │ │ │ │ │ ├── AppZoneHistory.cpp │ │ │ │ │ ├── AppZoneHistory.h │ │ │ │ │ ├── AppliedLayouts.cpp │ │ │ │ │ ├── AppliedLayouts.h │ │ │ │ │ ├── CustomLayouts.cpp │ │ │ │ │ ├── CustomLayouts.h │ │ │ │ │ ├── DefaultLayouts.cpp │ │ │ │ │ ├── DefaultLayouts.h │ │ │ │ │ ├── LastUsedVirtualDesktop.cpp │ │ │ │ │ ├── LastUsedVirtualDesktop.h │ │ │ │ │ ├── LayoutData.h │ │ │ │ │ ├── LayoutDefaults.h │ │ │ │ │ ├── LayoutHotkeys.cpp │ │ │ │ │ ├── LayoutHotkeys.h │ │ │ │ │ ├── LayoutTemplates.cpp │ │ │ │ │ └── LayoutTemplates.h │ │ │ │ ├── FancyZonesData.cpp │ │ │ │ ├── FancyZonesData.h │ │ │ │ ├── FancyZonesDataTypes.cpp │ │ │ │ ├── FancyZonesDataTypes.h │ │ │ │ ├── FancyZonesLib.vcxproj │ │ │ │ ├── FancyZonesLib.vcxproj.filters │ │ │ │ ├── FancyZonesWinHookEventIDs.cpp │ │ │ │ ├── FancyZonesWinHookEventIDs.h │ │ │ │ ├── FancyZonesWindowProcessing.cpp │ │ │ │ ├── FancyZonesWindowProcessing.h │ │ │ │ ├── FancyZonesWindowProperties.cpp │ │ │ │ ├── FancyZonesWindowProperties.h │ │ │ │ ├── GenericKeyHook.h │ │ │ │ ├── GuidUtils.h │ │ │ │ ├── HighlightedZones.cpp │ │ │ │ ├── HighlightedZones.h │ │ │ │ ├── JsonHelpers.cpp │ │ │ │ ├── JsonHelpers.h │ │ │ │ ├── KeyState.h │ │ │ │ ├── KeyboardInput.cpp │ │ │ │ ├── KeyboardInput.h │ │ │ │ ├── Layout.cpp │ │ │ │ ├── Layout.h │ │ │ │ ├── LayoutAssignedWindows.cpp │ │ │ │ ├── LayoutAssignedWindows.h │ │ │ │ ├── LayoutConfigurator.cpp │ │ │ │ ├── LayoutConfigurator.h │ │ │ │ ├── ModuleConstants.h │ │ │ │ ├── MonitorUtils.cpp │ │ │ │ ├── MonitorUtils.h │ │ │ │ ├── MouseButtonsHook.cpp │ │ │ │ ├── MouseButtonsHook.h │ │ │ │ ├── OnThreadExecutor.cpp │ │ │ │ ├── Resources.resx │ │ │ │ ├── Settings.cpp │ │ │ │ ├── Settings.h │ │ │ │ ├── SettingsConstants.h │ │ │ │ ├── SettingsObserver.h │ │ │ │ ├── VirtualDesktop.cpp │ │ │ │ ├── VirtualDesktop.h │ │ │ │ ├── WindowDrag.cpp │ │ │ │ ├── WindowKeyboardSnap.cpp │ │ │ │ ├── WindowKeyboardSnap.h │ │ │ │ ├── WindowMouseSnap.cpp │ │ │ │ ├── WindowMouseSnap.h │ │ │ │ ├── WindowUtils.cpp │ │ │ │ ├── WindowUtils.h │ │ │ │ ├── WorkArea.cpp │ │ │ │ ├── WorkArea.h │ │ │ │ ├── WorkAreaConfiguration.cpp │ │ │ │ ├── WorkAreaConfiguration.h │ │ │ │ ├── Zone.cpp │ │ │ │ ├── Zone.h │ │ │ │ ├── ZoneIndexSetBitmask.h │ │ │ │ ├── ZonesOverlay.cpp │ │ │ │ ├── ZonesOverlay.h │ │ │ │ ├── fancyzones.base.rc │ │ │ │ ├── on_thread_executor.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ ├── trace.cpp │ │ │ │ ├── trace.h │ │ │ │ ├── util.cpp │ │ │ │ └── util.h │ │ │ ├── FancyZonesModuleInterface/ │ │ │ │ ├── FancyZonesModuleInterface.rc │ │ │ │ ├── FancyZonesModuleInterface.vcxproj │ │ │ │ ├── FancyZonesModuleInterface.vcxproj.filters │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.h │ │ │ │ └── targetver.h │ │ │ ├── FancyZonesTests/ │ │ │ │ └── UnitTests/ │ │ │ │ ├── AppZoneHistoryTests.Spec.cpp │ │ │ │ ├── AppliedLayoutsTests.Spec.cpp │ │ │ │ ├── CustomLayoutsTests.Spec.cpp │ │ │ │ ├── DefaultLayoutsTests.Spec.cpp │ │ │ │ ├── FancyZonesSettings.Spec.cpp │ │ │ │ ├── JsonHelpers.Tests.cpp │ │ │ │ ├── Layout.Spec.cpp │ │ │ │ ├── LayoutAssignedWindows.Spec.cpp │ │ │ │ ├── LayoutHotkeysTests.Spec.cpp │ │ │ │ ├── LayoutTemplatesTests.Spec.cpp │ │ │ │ ├── UnitTests-FancyZones.rc │ │ │ │ ├── UnitTests.vcxproj │ │ │ │ ├── UnitTests.vcxproj.filters │ │ │ │ ├── Util.Spec.cpp │ │ │ │ ├── Util.cpp │ │ │ │ ├── Util.h │ │ │ │ ├── WindowKeyboardSnap.Spec.cpp │ │ │ │ ├── WindowProcessingTests.Spec.cpp │ │ │ │ ├── WorkArea.Spec.cpp │ │ │ │ ├── WorkAreaIdTests.Spec.cpp │ │ │ │ ├── Zone.Spec.cpp │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ └── resource.h │ │ │ ├── README.md │ │ │ └── editor/ │ │ │ ├── FancyZonesEditor/ │ │ │ │ ├── App.config │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── CanvasEditor.xaml │ │ │ │ ├── CanvasEditor.xaml.cs │ │ │ │ ├── CanvasEditorWindow.xaml │ │ │ │ ├── CanvasEditorWindow.xaml.cs │ │ │ │ ├── CanvasZone.xaml │ │ │ │ ├── CanvasZone.xaml.cs │ │ │ │ ├── ClickAutomationEventButton.xaml │ │ │ │ ├── ClickAutomationEventButton.xaml.cs │ │ │ │ ├── Controls/ │ │ │ │ │ ├── CustomSlider.xaml │ │ │ │ │ ├── CustomSlider.xaml.cs │ │ │ │ │ └── CustomSliderAutomationPeer.cs │ │ │ │ ├── Converters/ │ │ │ │ │ ├── BooleanToIntConverter.xaml.cs │ │ │ │ │ ├── LayoutModelTypeBlankToVisibilityConverter.cs │ │ │ │ │ ├── LayoutModelTypeToVisibilityConverter.cs │ │ │ │ │ ├── LayoutTypeCustomToVisibilityConverter.cs │ │ │ │ │ ├── LayoutTypeTemplateToVisibilityConverter.cs │ │ │ │ │ └── ModelToVisibilityConverter.xaml.cs │ │ │ │ ├── EditorWindow.cs │ │ │ │ ├── FancyZonesEditor.csproj │ │ │ │ ├── GridData.cs │ │ │ │ ├── GridEditor.xaml │ │ │ │ ├── GridEditor.xaml.cs │ │ │ │ ├── GridEditorWindow.xaml │ │ │ │ ├── GridEditorWindow.xaml.cs │ │ │ │ ├── GridResizer.xaml │ │ │ │ ├── GridResizer.xaml.cs │ │ │ │ ├── GridZone.xaml │ │ │ │ ├── GridZone.xaml.cs │ │ │ │ ├── HeadingTextBlock.cs │ │ │ │ ├── LayoutBackup.cs │ │ │ │ ├── LayoutOverlayWindow.xaml │ │ │ │ ├── LayoutOverlayWindow.xaml.cs │ │ │ │ ├── LayoutPreview.xaml │ │ │ │ ├── LayoutPreview.xaml.cs │ │ │ │ ├── MagneticSnap.cs │ │ │ │ ├── MainWindow.xaml │ │ │ │ ├── MainWindow.xaml.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── CanvasLayoutModel.cs │ │ │ │ │ ├── DefaultLayoutsModel.cs │ │ │ │ │ ├── Device.cs │ │ │ │ │ ├── GridLayoutModel.cs │ │ │ │ │ ├── LayoutHotkeysModel.cs │ │ │ │ │ ├── LayoutModel.cs │ │ │ │ │ ├── LayoutSettings.cs │ │ │ │ │ ├── LayoutType.cs │ │ │ │ │ ├── LayoutTypeEnumExtension.cs │ │ │ │ │ ├── MainWindowSettingsModel.cs │ │ │ │ │ ├── Monitor.cs │ │ │ │ │ ├── MonitorConfigurationType.cs │ │ │ │ │ ├── MonitorConfigurationTypeEnumExtensions.cs │ │ │ │ │ └── MonitorInfoModel.cs │ │ │ │ ├── NativeMethods.cs │ │ │ │ ├── Overlay.cs │ │ │ │ ├── Properties/ │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── SplitEventArgs.cs │ │ │ │ ├── Styles/ │ │ │ │ │ ├── ButtonStyles.xaml │ │ │ │ │ ├── GridViewStyles.xaml │ │ │ │ │ └── LayoutPreviewStyles.xaml │ │ │ │ ├── Telemetry/ │ │ │ │ │ ├── FancyZonesEditorStartEvent.cs │ │ │ │ │ └── FancyZonesEditorStartFinishEvent.cs │ │ │ │ ├── Themes/ │ │ │ │ │ ├── Dark.xaml │ │ │ │ │ ├── HighContrast1.xaml │ │ │ │ │ ├── HighContrast2.xaml │ │ │ │ │ ├── HighContrastBlack.xaml │ │ │ │ │ ├── HighContrastWhite.xaml │ │ │ │ │ └── Light.xaml │ │ │ │ ├── Utils/ │ │ │ │ │ ├── EventArgs`1.cs │ │ │ │ │ ├── EventRaiser.cs │ │ │ │ │ ├── FancyZonesEditorIO.cs │ │ │ │ │ ├── MonitorChangedEventArgs.cs │ │ │ │ │ ├── NativeMethods.cs │ │ │ │ │ ├── ParsingResult.cs │ │ │ │ │ ├── RelayCommand.cs │ │ │ │ │ └── RelayCommand`1.cs │ │ │ │ ├── ViewModels/ │ │ │ │ │ └── MonitorViewModel.cs │ │ │ │ └── app.manifest │ │ │ └── FancyZonesEditor.sln │ │ ├── imageresizer/ │ │ │ ├── ImageResizerCLI/ │ │ │ │ ├── ImageResizerCLI.csproj │ │ │ │ └── Program.cs │ │ │ ├── ImageResizerContextMenu/ │ │ │ │ ├── AppxManifest.xml │ │ │ │ ├── ImageResizerContextMenu.base.rc │ │ │ │ ├── ImageResizerContextMenu.vcxproj │ │ │ │ ├── ImageResizerContextMenu.vcxproj.filters │ │ │ │ ├── Resources.resx │ │ │ │ ├── Source.def │ │ │ │ ├── dllmain.cpp │ │ │ │ ├── framework.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── resource.base.h │ │ │ │ └── targetver.h │ │ │ ├── ImageResizerLib/ │ │ │ │ ├── ImageResizerConstants.h │ │ │ │ ├── ImageResizerLib.vcxproj │ │ │ │ ├── ImageResizerLib.vcxproj.filters │ │ │ │ ├── Settings.cpp │ │ │ │ ├── Settings.h │ │ │ │ ├── framework.h │ │ │ │ ├── packages.config │ │ │ │ ├── pch.cpp │ │ │ │ ├── pch.h │ │ │ │ ├── trace.cpp │ │ │ │ └── trace.h
Copy disabled (too large)
Download .txt
Showing preview only (78,341K chars total). Download the full file to get everything.
SYMBOL INDEX (46729 symbols across 4168 files)
FILE: .github/skills/winmd-api-search/scripts/cache-generator/Program.cs
type TypeKind (line 281) | enum TypeKind { Class, Struct, Enum, Interface, Delegate }
type MemberKind (line 283) | enum MemberKind { Method, Property, Event, Field }
class WinMdTypeInfo (line 285) | sealed class WinMdTypeInfo
class WinMdMemberInfo (line 297) | sealed class WinMdMemberInfo
class WinMdParameterInfo (line 306) | sealed class WinMdParameterInfo
class ProjectPackageRef (line 312) | sealed class ProjectPackageRef
class ProjectManifest (line 318) | sealed class ProjectManifest
type PackageWithWinMd (line 331) | record PackageWithWinMd(string Id, string Version, List<string> WinMdFil...
class NuGetResolver (line 333) | static class NuGetResolver
method FindPackagesWithWinMd (line 335) | public static List<PackageWithWinMd> FindPackagesWithWinMd(string proj...
method FindWinMdFromProjectReferences (line 394) | internal static List<PackageWithWinMd> FindWinMdFromProjectReferences(...
method FindProjectAssetsJson (line 455) | internal static string? FindProjectAssetsJson(string projectDir)
method FindPackagesFromAssets (line 503) | internal static List<PackageWithWinMd> FindPackagesFromAssets(string a...
method FindPackagesFromConfig (line 594) | internal static List<PackageWithWinMd> FindPackagesFromConfig(string c...
method FindSolutionPackagesFolder (line 676) | internal static string? FindSolutionPackagesFolder(string startDir)
method FindWindowsSdkWinMd (line 699) | internal static (List<string> Files, string Version) FindWindowsSdkWin...
method FindWinAppSdkRuntimeWinMd (line 741) | internal static (List<string> Files, string Version) FindWinAppSdkRunt...
class SimpleTypeProvider (line 778) | sealed class SimpleTypeProvider : ISignatureTypeProvider<string, object?>
method GetPrimitiveType (line 780) | public string GetPrimitiveType(PrimitiveTypeCode typeCode) => typeCode...
method GetTypeFromDefinition (line 803) | public string GetTypeFromDefinition(MetadataReader reader, TypeDefinit...
method GetTypeFromReference (line 811) | public string GetTypeFromReference(MetadataReader reader, TypeReferenc...
method GetSZArrayType (line 819) | public string GetSZArrayType(string elementType) => $"{elementType}[]";
method GetArrayType (line 821) | public string GetArrayType(string elementType, ArrayShape shape) =>
method GetByReferenceType (line 824) | public string GetByReferenceType(string elementType) => $"ref {element...
method GetPointerType (line 825) | public string GetPointerType(string elementType) => $"{elementType}*";
method GetPinnedType (line 826) | public string GetPinnedType(string elementType) => elementType;
method GetGenericInstantiation (line 828) | public string GetGenericInstantiation(string genericType, ImmutableArr...
method GetGenericMethodParameter (line 840) | public string GetGenericMethodParameter(object? genericContext, int in...
method GetGenericTypeParameter (line 841) | public string GetGenericTypeParameter(object? genericContext, int inde...
method GetModifiedType (line 842) | public string GetModifiedType(string modifier, string unmodifiedType, ...
method GetFunctionPointerType (line 843) | public string GetFunctionPointerType(MethodSignature<string> signature...
method GetTypeFromSpecification (line 845) | public string GetTypeFromSpecification(MetadataReader reader, object? ...
class WinMdParser (line 856) | static class WinMdParser
method ParseFile (line 858) | public static List<WinMdTypeInfo> ParseFile(string filePath)
method ShouldSkipType (line 913) | internal static bool ShouldSkipType(string name, TypeDefinition typeDef)
method DetermineTypeKind (line 924) | internal static TypeKind DetermineTypeKind(MetadataReader reader, Type...
method GetBaseTypeName (line 941) | private static string? GetBaseTypeName(MetadataReader reader, TypeDefi...
method GetTypeDefName (line 956) | private static string GetTypeDefName(MetadataReader reader, TypeDefini...
method GetTypeRefName (line 964) | private static string GetTypeRefName(MetadataReader reader, TypeRefere...
method ParseMembers (line 972) | private static List<WinMdMemberInfo> ParseMembers(
method GetMethodParameters (line 1150) | private static List<WinMdParameterInfo> GetMethodParameters(
method ParseEnumValues (line 1178) | internal static List<string> ParseEnumValues(MetadataReader reader, Ty...
method GetHandleTypeName (line 1202) | private static string GetHandleTypeName(MetadataReader reader, EntityH...
method DecodeTypeSpecification (line 1210) | private static string DecodeTypeSpecification(MetadataReader reader, T...
FILE: installer/PowerToysSetupCustomActionsVNext/CustomAction.cpp
function isDataDiagnosticEnabled (line 60) | inline bool isDataDiagnosticEnabled()
function HRESULT (line 92) | HRESULT getInstallFolder(MSIHANDLE hInstall, std::wstring &installationDir)
function BOOL (line 109) | BOOL IsLocalSystem()
function BOOL (line 148) | BOOL ImpersonateLoggedInUserAndDoSomething(std::function<bool(HANDLE use...
function GetUserPowerShellModulesPath (line 193) | static std::filesystem::path GetUserPowerShellModulesPath()
function UINT (line 210) | UINT __stdcall LaunchPowerToysCA(MSIHANDLE hInstall)
function UINT (line 314) | UINT __stdcall CheckGPOCA(MSIHANDLE hInstall)
function UINT (line 341) | UINT __stdcall CleanVideoConferenceRegistryCA(MSIHANDLE hInstall)
function UINT (line 353) | UINT __stdcall ApplyModulesRegistryChangeSetsCA(MSIHANDLE hInstall)
function UINT (line 383) | UINT __stdcall UnApplyModulesRegistryChangeSetsCA(MSIHANDLE hInstall)
function UINT (line 410) | UINT __stdcall InstallDSCModuleCA(MSIHANDLE hInstall)
function UINT (line 467) | UINT __stdcall UninstallDSCModuleCA(MSIHANDLE hInstall)
function UINT (line 526) | UINT __stdcall InstallEmbeddedMSIXCA(MSIHANDLE hInstall)
function UINT (line 566) | UINT __stdcall UninstallEmbeddedMSIXCA(MSIHANDLE hInstall)
function UINT (line 598) | UINT __stdcall InstallPackageIdentityMSIXCA(MSIHANDLE hInstall)
function UINT (line 713) | UINT __stdcall UninstallPackageIdentityMSIXCA(MSIHANDLE hInstall)
function UINT (line 808) | UINT __stdcall RemoveWindowsServiceByName(std::wstring serviceName)
function UINT (line 853) | UINT __stdcall UnsetAdvancedPasteAPIKeyCA(MSIHANDLE hInstall)
function UINT (line 933) | UINT __stdcall UninstallCommandNotFoundModuleCA(MSIHANDLE hInstall)
function UINT (line 966) | UINT __stdcall UpgradeCommandNotFoundModuleCA(MSIHANDLE hInstall)
function UINT (line 990) | UINT __stdcall UninstallServicesCA(MSIHANDLE hInstall)
function UINT (line 1008) | UINT __stdcall RemoveScheduledTasksCA(MSIHANDLE hInstall)
function UINT (line 1122) | UINT __stdcall RestoreBuiltInNewContextMenuCA(MSIHANDLE hInstall)
function UINT (line 1151) | UINT __stdcall TelemetryLogInstallSuccessCA(MSIHANDLE hInstall)
function UINT (line 1172) | UINT __stdcall TelemetryLogInstallCancelCA(MSIHANDLE hInstall)
function UINT (line 1193) | UINT __stdcall TelemetryLogInstallFailCA(MSIHANDLE hInstall)
function UINT (line 1214) | UINT __stdcall TelemetryLogUninstallSuccessCA(MSIHANDLE hInstall)
function UINT (line 1235) | UINT __stdcall TelemetryLogUninstallCancelCA(MSIHANDLE hInstall)
function UINT (line 1256) | UINT __stdcall TelemetryLogUninstallFailCA(MSIHANDLE hInstall)
function UINT (line 1277) | UINT __stdcall TelemetryLogRepairCancelCA(MSIHANDLE hInstall)
function UINT (line 1298) | UINT __stdcall TelemetryLogRepairFailCA(MSIHANDLE hInstall)
function UINT (line 1319) | UINT __stdcall DetectPrevInstallPathCA(MSIHANDLE hInstall)
function UINT (line 1343) | UINT __stdcall InstallCmdPalPackageCA(MSIHANDLE hInstall)
function UINT (line 1384) | UINT __stdcall UnRegisterCmdPalPackageCA(MSIHANDLE hInstall)
function UINT (line 1419) | UINT __stdcall UnRegisterContextMenuPackagesCA(MSIHANDLE hInstall)
function UINT (line 1457) | UINT __stdcall CleanImageResizerRuntimeRegistryCA(MSIHANDLE hInstall)
function UINT (line 1493) | UINT __stdcall CleanFileLocksmithRuntimeRegistryCA(MSIHANDLE hInstall)
function UINT (line 1517) | UINT __stdcall CleanPowerRenameRuntimeRegistryCA(MSIHANDLE hInstall)
function UINT (line 1541) | UINT __stdcall CleanNewPlusRuntimeRegistryCA(MSIHANDLE hInstall)
function UINT (line 1564) | UINT __stdcall TerminateProcessesCA(MSIHANDLE hInstall)
function UINT (line 1681) | UINT __stdcall SetBundleInstallLocationCA(MSIHANDLE hInstall)
function initSystemLogger (line 1795) | void initSystemLogger()
function BOOL (line 1810) | BOOL WINAPI DllMain(__in HINSTANCE hInst, __in ULONG ulReason, __in LPVOID)
FILE: installer/PowerToysSetupCustomActionsVNext/RcResource.h
function class (line 10) | class RcResource
FILE: installer/PowerToysSetupVNext/SilentFilesInUseBA/SilentFilesInUseBAFunctions.cpp
class CSilentFilesInUseBAFunctions (line 7) | class CSilentFilesInUseBAFunctions : public CBalBaseBAFunctions
method STDMETHODIMP (line 10) | virtual STDMETHODIMP OnDetectBegin(
method STDMETHODIMP (line 25) | virtual STDMETHODIMP OnPlanBegin(
method STDMETHODIMP (line 42) | virtual STDMETHODIMP OnExecuteBegin(
method STDMETHODIMP (line 54) | virtual STDMETHODIMP OnExecuteFilesInUse(
method STDMETHODIMP (line 90) | virtual STDMETHODIMP OnExecuteComplete(
method CSilentFilesInUseBAFunctions (line 106) | CSilentFilesInUseBAFunctions(
function HRESULT (line 123) | HRESULT WINAPI CreateBAFunctions(
FILE: installer/PowerToysSetupVNext/SilentFilesInUseBA/bafunctions.cpp
function BOOL (line 7) | BOOL WINAPI DllMain(
function HRESULT (line 28) | HRESULT WINAPI BAFunctionsCreate(
function BAFunctionsDestroy (line 45) | void WINAPI BAFunctionsDestroy(
FILE: src/ActionRunner/actionRunner.cpp
function WinMain (line 31) | int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
FILE: src/Monaco/customLanguages/gitignore.js
function gitignoreDefinition (line 1) | function gitignoreDefinition() {
FILE: src/Monaco/customLanguages/reg.js
function regDefinition (line 1) | function regDefinition() {
FILE: src/Monaco/customLanguages/srt.js
function srtDefinition (line 1) | function srtDefinition() {
FILE: src/Monaco/monacoSRC/min/vs/base/worker/workerMain.js
class t (line 6) | class t{get isWindows(){return this._detect(),this._isWindows}get isNode...
method isWindows (line 6) | get isWindows(){return this._detect(),this._isWindows}
method isNode (line 6) | get isNode(){return this._detect(),this._isNode}
method isElectronRenderer (line 6) | get isElectronRenderer(){return this._detect(),this._isElectronRenderer}
method isWebWorker (line 6) | get isWebWorker(){return this._detect(),this._isWebWorker}
method isElectronNodeIntegrationWebWorker (line 6) | get isElectronNodeIntegrationWebWorker(){return this._detect(),this._i...
method constructor (line 6) | constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,thi...
method _detect (line 6) | _detect(){this._detected||(this._detected=!0,this._isWindows=t._isWind...
method _isWindows (line 6) | static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&...
method constructor (line 6) | constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}
method fileUriToFilePath (line 6) | static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"#"),R)...
method startsWith (line 6) | static startsWith(R,i){return R.length>=i.length&&R.substr(0,i.length)...
method endsWith (line 6) | static endsWith(R,i){return R.length>=i.length&&R.substr(R.length-i.le...
method containsQueryString (line 6) | static containsQueryString(R){return/^[^\#]*\?/gi.test(R)}
method isAbsolutePath (line 6) | static isAbsolutePath(R){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)...
method forEachProperty (line 6) | static forEachProperty(R,i){if(R){let d;for(d in R)R.hasOwnProperty(d)...
method isEmpty (line 6) | static isEmpty(R){let i=!0;return t.forEachProperty(R,()=>{i=!1}),i}
method recursiveClone (line 6) | static recursiveClone(R){if(!R||typeof R!="object"||R instanceof RegEx...
method generateAnonymousModule (line 6) | static generateAnonymousModule(){return"===anonymous"+t.NEXT_ANONYMOUS...
method isAnonymousModule (line 6) | static isAnonymousModule(R){return t.startsWith(R,"===anonymous")}
method getHighPerformanceTimestamp (line 6) | static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBE...
method constructor (line 6) | constructor(o){this._env=o,this._scriptLoader=null,this._callbackMap={}}
method load (line 6) | load(o,L,e,s){if(!this._scriptLoader)if(this._env.isWebWorker)this._sc...
method triggerCallback (line 6) | triggerCallback(o){let L=this._callbackMap[o];delete this._callbackMap...
method triggerErrorback (line 6) | triggerErrorback(o,L){let e=this._callbackMap[o];delete this._callback...
method constructor (line 8) | constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePath=c.s...
method _normalizeModuleId (line 8) | static _normalizeModuleId(c){let o=c,L;for(L=/\/\.\//;L.test(o);)o=o.r...
method resolveModule (line 8) | resolveModule(c){let o=c;return q.Utilities.isAbsolutePath(o)||(q.Util...
class t (line 6) | class t{constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}}
method isWindows (line 6) | get isWindows(){return this._detect(),this._isWindows}
method isNode (line 6) | get isNode(){return this._detect(),this._isNode}
method isElectronRenderer (line 6) | get isElectronRenderer(){return this._detect(),this._isElectronRenderer}
method isWebWorker (line 6) | get isWebWorker(){return this._detect(),this._isWebWorker}
method isElectronNodeIntegrationWebWorker (line 6) | get isElectronNodeIntegrationWebWorker(){return this._detect(),this._i...
method constructor (line 6) | constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,thi...
method _detect (line 6) | _detect(){this._detected||(this._detected=!0,this._isWindows=t._isWind...
method _isWindows (line 6) | static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&...
method constructor (line 6) | constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}
method fileUriToFilePath (line 6) | static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"#"),R)...
method startsWith (line 6) | static startsWith(R,i){return R.length>=i.length&&R.substr(0,i.length)...
method endsWith (line 6) | static endsWith(R,i){return R.length>=i.length&&R.substr(R.length-i.le...
method containsQueryString (line 6) | static containsQueryString(R){return/^[^\#]*\?/gi.test(R)}
method isAbsolutePath (line 6) | static isAbsolutePath(R){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)...
method forEachProperty (line 6) | static forEachProperty(R,i){if(R){let d;for(d in R)R.hasOwnProperty(d)...
method isEmpty (line 6) | static isEmpty(R){let i=!0;return t.forEachProperty(R,()=>{i=!1}),i}
method recursiveClone (line 6) | static recursiveClone(R){if(!R||typeof R!="object"||R instanceof RegEx...
method generateAnonymousModule (line 6) | static generateAnonymousModule(){return"===anonymous"+t.NEXT_ANONYMOUS...
method isAnonymousModule (line 6) | static isAnonymousModule(R){return t.startsWith(R,"===anonymous")}
method getHighPerformanceTimestamp (line 6) | static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBE...
method constructor (line 6) | constructor(o){this._env=o,this._scriptLoader=null,this._callbackMap={}}
method load (line 6) | load(o,L,e,s){if(!this._scriptLoader)if(this._env.isWebWorker)this._sc...
method triggerCallback (line 6) | triggerCallback(o){let L=this._callbackMap[o];delete this._callbackMap...
method triggerErrorback (line 6) | triggerErrorback(o,L){let e=this._callbackMap[o];delete this._callback...
method constructor (line 8) | constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePath=c.s...
method _normalizeModuleId (line 8) | static _normalizeModuleId(c){let o=c,L;for(L=/\/\.\//;L.test(o);)o=o.r...
method resolveModule (line 8) | resolveModule(c){let o=c;return q.Utilities.isAbsolutePath(o)||(q.Util...
class M (line 6) | class M{constructor(d){this._events=[new t(1,"",d)]}record(d,_){this._ev...
method constructor (line 6) | constructor(d){this._events=[new t(1,"",d)]}
method record (line 6) | record(d,_){this._events.push(new t(d,_,q.Utilities.getHighPerformance...
method getEvents (line 6) | getEvents(){return this._events}
method validateConfigurationOptions (line 6) | static validateConfigurationOptions(d){function _(p){if(p.phase==="loa...
method mergeConfigurationOptions (line 6) | static mergeConfigurationOptions(d=null,_=null){let p=q.Utilities.recu...
method attachListeners (line 6) | attachListeners(o,L,e){let s=()=>{o.removeEventListener("load",l),o.re...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){let l=o.getConfig().getOptionsLite...
method constructor (line 8) | constructor(c,o,L,e,s,l){this.id=c,this.strId=o,this.dependencies=L,th...
method _safeInvokeFunction (line 8) | static _safeInvokeFunction(c,o){try{return{returnedValue:c.apply(q.glo...
method _invokeFactory (line 8) | static _invokeFactory(c,o,L,e){return c.shouldInvokeFactory(o)?c.shoul...
method complete (line 8) | complete(c,o,L,e){this._isComplete=!0;let s=null;if(this._callback)if(...
method onDependencyError (line 8) | onDependencyError(c){return this._isComplete=!0,this.error=c,this._err...
method isComplete (line 8) | isComplete(){return this._isComplete}
method constructor (line 11) | constructor(d){this.fn=d,this.lastCache=void 0,this.lastArgKey=void 0}
method get (line 11) | get(d){const _=JSON.stringify(d);return this.lastArgKey!==_&&(this.las...
method constructor (line 11) | constructor(i,d,_,p){this.originalStart=i,this.originalLength=d,this.m...
method getOriginalEnd (line 11) | getOriginalEnd(){return this.originalStart+this.originalLength}
method getModifiedEnd (line 11) | getModifiedEnd(){return this.modifiedStart+this.modifiedLength}
method constructor (line 11) | constructor(){this.listeners=[],this.unexpectedErrorHandler=function(f...
method emit (line 15) | emit(f){this.listeners.forEach(y=>{y(f)})}
method onUnexpectedError (line 15) | onUnexpectedError(f){this.unexpectedErrorHandler(f),this.emit(f)}
method onUnexpectedExternalError (line 15) | onUnexpectedExternalError(f){this.unexpectedErrorHandler(f)}
method constructor (line 15) | constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(n...
method define (line 15) | define(s,l){this._keyCodeToStr[s]=l,this._strToKeyCode[l.toLowerCase()...
method keyCodeToStr (line 15) | keyCodeToStr(s){return this._keyCodeToStr[s]}
method strToKeyCode (line 15) | strToKeyCode(s){return this._strToKeyCode[s.toLowerCase()]||0}
method constructor (line 15) | constructor(i){this.executor=i,this._didRun=!1}
method value (line 15) | get value(){if(!this._didRun)try{this._value=this.executor()}catch(i){...
method rawValue (line 15) | get rawValue(){return this._value}
method constructor (line 15) | constructor(d){this.element=d,this.next=M.Undefined,this.prev=M.Undefi...
method constructor (line 17) | constructor(i,d){this.lineNumber=i,this.column=d}
method with (line 17) | with(i=this.lineNumber,d=this.column){return i===this.lineNumber&&d===...
method delta (line 17) | delta(i=0,d=0){return this.with(this.lineNumber+i,this.column+d)}
method equals (line 17) | equals(i){return M.equals(this,i)}
method equals (line 17) | static equals(i,d){return!i&&!d?!0:!!i&&!!d&&i.lineNumber===d.lineNumb...
method isBefore (line 17) | isBefore(i){return M.isBefore(this,i)}
method isBefore (line 17) | static isBefore(i,d){return i.lineNumber<d.lineNumber?!0:d.lineNumber<...
method isBeforeOrEqual (line 17) | isBeforeOrEqual(i){return M.isBeforeOrEqual(this,i)}
method isBeforeOrEqual (line 17) | static isBeforeOrEqual(i,d){return i.lineNumber<d.lineNumber?!0:d.line...
method compare (line 17) | static compare(i,d){const _=i.lineNumber|0,p=d.lineNumber|0;if(_===p){...
method clone (line 17) | clone(){return new M(this.lineNumber,this.column)}
method toString (line 17) | toString(){return"("+this.lineNumber+","+this.column+")"}
method lift (line 17) | static lift(i){return new M(i.lineNumber,i.column)}
method isIPosition (line 17) | static isIPosition(i){return i&&typeof i.lineNumber=="number"&&typeof ...
method toJSON (line 17) | toJSON(){return{lineNumber:this.lineNumber,column:this.column}}
method constructor (line 17) | constructor(d,_){this.trimmedHash=d,this.lines=_}
method getElement (line 17) | getElement(d){return this.trimmedHash[d]}
method length (line 17) | get length(){return this.trimmedHash.length}
method getBoundaryScore (line 17) | getBoundaryScore(d){const _=d===0?0:R(this.lines[d-1]),p=d===this.line...
method getText (line 17) | getText(d){return this.lines.slice(d.start,d.endExclusive).join(`
method isStronglyEqual (line 18) | isStronglyEqual(d,_){return this.lines[d]===this.lines[_]}
method constructor (line 18) | constructor(_,p){this.width=_,this.height=p,this.array=[],this.array=n...
method get (line 18) | get(_,p){return this.array[_+p*this.width]}
method set (line 18) | set(_,p,c){this.array[_+p*this.width]=c}
method constructor (line 19) | constructor(d,_,p){this.changes=d,this.moves=_,this.hitTimeout=p}
method constructor (line 20) | constructor(){this._defaultValueSet=[["true","false"],["True","False"]...
method navigateValueSet (line 20) | navigateValueSet(i,d,_,p,c){if(i&&d){const o=this.doNavigateValueSet(d...
method doNavigateValueSet (line 20) | doNavigateValueSet(i,d){const _=this.numberReplace(i,d);return _!==nul...
method numberReplace (line 20) | numberReplace(i,d){const _=Math.pow(10,i.length-(i.lastIndexOf(".")+1)...
method textReplace (line 20) | textReplace(i,d){return this.valueSetsReplace(this._defaultValueSet,i,d)}
method valueSetsReplace (line 20) | valueSetsReplace(i,d,_){let p=null;for(let c=0,o=i.length;p===null&&c<...
method valueSetReplace (line 20) | valueSetReplace(i,d,_){let p=i.indexOf(d);return p>=0?(p+=_?1:-1,p<0?p...
class R (line 6) | class R{record(d,_){}getEvents(){return[]}}
method record (line 6) | record(d,_){}
method getEvents (line 6) | getEvents(){return[]}
method constructor (line 6) | constructor(d,_){if(this._env=d,this.options=M.mergeConfigurationOptio...
method _createIgnoreDuplicateModulesMap (line 6) | _createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};f...
method _createSortedPathsRules (line 6) | _createSortedPathsRules(){this.sortedPathsRules=[],q.Utilities.forEach...
method cloneAndMerge (line 6) | cloneAndMerge(d){return new R(this._env,M.mergeConfigurationOptions(d,...
method getOptionsLiteral (line 6) | getOptionsLiteral(){return this.options}
method _applyPaths (line 6) | _applyPaths(d){let _;for(let p=0,c=this.sortedPathsRules.length;p<c;p+...
method _addUrlArgsToUrl (line 6) | _addUrlArgsToUrl(d){return q.Utilities.containsQueryString(d)?d+"&"+th...
method _addUrlArgsIfNecessaryToUrl (line 6) | _addUrlArgsIfNecessaryToUrl(d){return this.options.urlArgs?this._addUr...
method _addUrlArgsIfNecessaryToUrls (line 6) | _addUrlArgsIfNecessaryToUrls(d){if(this.options.urlArgs)for(let _=0,p=...
method moduleIdToPaths (line 6) | moduleIdToPaths(d){if(this._env.isNode&&this.options.amdModulesPattern...
method requireToUrl (line 6) | requireToUrl(d){let _=d;return q.Utilities.isAbsolutePath(_)||(_=this....
method isBuild (line 6) | isBuild(){return this.options.isBuild}
method shouldInvokeFactory (line 6) | shouldInvokeFactory(d){return!!(!this.options.isBuild||q.Utilities.isA...
method isDuplicateMessageIgnoredFor (line 6) | isDuplicateMessageIgnoredFor(d){return this.ignoreDuplicateModulesMap....
method getConfigForModule (line 6) | getConfigForModule(d){if(this.options.config)return this.options.confi...
method shouldCatchError (line 6) | shouldCatchError(){return this.options.catchError}
method shouldRecordStats (line 6) | shouldRecordStats(){return this.options.recordStats}
method onError (line 6) | onError(d){this.options.onError(d)}
method constructor (line 8) | constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,th...
method getMaxModuleId (line 8) | getMaxModuleId(){return this._nextId}
method getModuleId (line 8) | getModuleId(c){let o=this._strModuleIdToIntModuleId.get(c);return type...
method getStrModuleId (line 8) | getStrModuleId(c){return this._intModuleIdToStrModuleId[c]}
method cachedValues (line 11) | get cachedValues(){return this._map}
method constructor (line 11) | constructor(d){this.fn=d,this._map=new Map}
method get (line 11) | get(d){if(this._map.has(d))return this._map.get(d);const _=this.fn(d);...
method constructor (line 11) | constructor(c,o,L,e=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math...
method equals (line 11) | static equals(c,o){return c.r===o.r&&c.g===o.g&&c.b===o.b&&c.a===o.a}
method constructor (line 15) | constructor(){this._first=M.Undefined,this._last=M.Undefined,this._siz...
method size (line 15) | get size(){return this._size}
method isEmpty (line 15) | isEmpty(){return this._first===M.Undefined}
method clear (line 15) | clear(){let d=this._first;for(;d!==M.Undefined;){const _=d.next;d.prev...
method unshift (line 15) | unshift(d){return this._insert(d,!1)}
method push (line 15) | push(d){return this._insert(d,!0)}
method _insert (line 15) | _insert(d,_){const p=new M(d);if(this._first===M.Undefined)this._first...
method shift (line 15) | shift(){if(this._first!==M.Undefined){const d=this._first.element;retu...
method pop (line 15) | pop(){if(this._last!==M.Undefined){const d=this._last.element;return t...
method _remove (line 15) | _remove(d){if(d.prev!==M.Undefined&&d.next!==M.Undefined){const _=d.pr...
method create (line 15) | static create(d){return new R(d)}
method constructor (line 15) | constructor(d){this._now=M&&d===!1?Date.now:globalThis.performance.now...
method stop (line 15) | stop(){this._stopTime=this._now()}
method elapsed (line 15) | elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:th...
method constructor (line 17) | constructor(_){const p=(0,M.toUint8)(_);this._defaultValue=p,this._asc...
method _createAsciiMap (line 17) | static _createAsciiMap(_){const p=new Uint8Array(256);return p.fill(_),p}
method set (line 17) | set(_,p){const c=(0,M.toUint8)(p);_>=0&&_<256?this._asciiMap[_]=c:this...
method get (line 17) | get(_){return _>=0&&_<256?this._asciiMap[_]:this._map.get(_)||this._de...
method clear (line 17) | clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}
method addRange (line 17) | static addRange(_,p){let c=0;for(;c<p.length&&p[c].endExclusive<_.star...
method ofLength (line 17) | static ofLength(_){return new R(0,_)}
method ofStartAndLength (line 17) | static ofStartAndLength(_,p){return new R(_,_+p)}
method constructor (line 17) | constructor(_,p){if(this.start=_,this.endExclusive=p,_>p)throw new M.B...
method isEmpty (line 17) | get isEmpty(){return this.start===this.endExclusive}
method delta (line 17) | delta(_){return new R(this.start+_,this.endExclusive+_)}
method deltaStart (line 17) | deltaStart(_){return new R(this.start+_,this.endExclusive)}
method deltaEnd (line 17) | deltaEnd(_){return new R(this.start,this.endExclusive+_)}
method length (line 17) | get length(){return this.endExclusive-this.start}
method toString (line 17) | toString(){return`[${this.start}, ${this.endExclusive})`}
method contains (line 17) | contains(_){return this.start<=_&&_<this.endExclusive}
method join (line 17) | join(_){return new R(Math.min(this.start,_.start),Math.max(this.endExc...
method intersect (line 17) | intersect(_){const p=Math.max(this.start,_.start),c=Math.min(this.endE...
method intersects (line 17) | intersects(_){const p=Math.max(this.start,_.start),c=Math.min(this.end...
method isBefore (line 17) | isBefore(_){return this.endExclusive<=_.start}
method isAfter (line 17) | isAfter(_){return this.start>=_.endExclusive}
method slice (line 17) | slice(_){return _.slice(this.start,this.endExclusive)}
method clip (line 17) | clip(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid clippi...
method clipCyclic (line 17) | clipCyclic(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid ...
method forEach (line 17) | forEach(_){for(let p=this.start;p<this.endExclusive;p++)_(p)}
method constructor (line 17) | constructor(d,_,p,c){d>p||d===p&&_>c?(this.startLineNumber=p,this.star...
method isEmpty (line 17) | isEmpty(){return R.isEmpty(this)}
method isEmpty (line 17) | static isEmpty(d){return d.startLineNumber===d.endLineNumber&&d.startC...
method containsPosition (line 17) | containsPosition(d){return R.containsPosition(this,d)}
method containsPosition (line 17) | static containsPosition(d,_){return!(_.lineNumber<d.startLineNumber||_...
method strictContainsPosition (line 17) | static strictContainsPosition(d,_){return!(_.lineNumber<d.startLineNum...
method containsRange (line 17) | containsRange(d){return R.containsRange(this,d)}
method containsRange (line 17) | static containsRange(d,_){return!(_.startLineNumber<d.startLineNumber|...
method strictContainsRange (line 17) | strictContainsRange(d){return R.strictContainsRange(this,d)}
method strictContainsRange (line 17) | static strictContainsRange(d,_){return!(_.startLineNumber<d.startLineN...
method plusRange (line 17) | plusRange(d){return R.plusRange(this,d)}
method plusRange (line 17) | static plusRange(d,_){let p,c,o,L;return _.startLineNumber<d.startLine...
method intersectRanges (line 17) | intersectRanges(d){return R.intersectRanges(this,d)}
method intersectRanges (line 17) | static intersectRanges(d,_){let p=d.startLineNumber,c=d.startColumn,o=...
method equalsRange (line 17) | equalsRange(d){return R.equalsRange(this,d)}
method equalsRange (line 17) | static equalsRange(d,_){return!d&&!_?!0:!!d&&!!_&&d.startLineNumber===...
method getEndPosition (line 17) | getEndPosition(){return R.getEndPosition(this)}
method getEndPosition (line 17) | static getEndPosition(d){return new M.Position(d.endLineNumber,d.endCo...
method getStartPosition (line 17) | getStartPosition(){return R.getStartPosition(this)}
method getStartPosition (line 17) | static getStartPosition(d){return new M.Position(d.startLineNumber,d.s...
method toString (line 17) | toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+...
method setEndPosition (line 17) | setEndPosition(d,_){return new R(this.startLineNumber,this.startColumn...
method setStartPosition (line 17) | setStartPosition(d,_){return new R(d,_,this.endLineNumber,this.endColu...
method collapseToStart (line 17) | collapseToStart(){return R.collapseToStart(this)}
method collapseToStart (line 17) | static collapseToStart(d){return new R(d.startLineNumber,d.startColumn...
method collapseToEnd (line 17) | collapseToEnd(){return R.collapseToEnd(this)}
method collapseToEnd (line 17) | static collapseToEnd(d){return new R(d.endLineNumber,d.endColumn,d.end...
method delta (line 17) | delta(d){return new R(this.startLineNumber+d,this.startColumn,this.end...
method fromPositions (line 17) | static fromPositions(d,_=d){return new R(d.lineNumber,d.column,_.lineN...
method lift (line 17) | static lift(d){return d?new R(d.startLineNumber,d.startColumn,d.endLin...
method isIRange (line 17) | static isIRange(d){return d&&typeof d.startLineNumber=="number"&&typeo...
method areIntersectingOrTouching (line 17) | static areIntersectingOrTouching(d,_){return!(d.endLineNumber<_.startL...
method areIntersecting (line 17) | static areIntersecting(d,_){return!(d.endLineNumber<_.startLineNumber|...
method compareRangesUsingStarts (line 17) | static compareRangesUsingStarts(d,_){if(d&&_){const o=d.startLineNumbe...
method compareRangesUsingEnds (line 17) | static compareRangesUsingEnds(d,_){return d.endLineNumber===_.endLineN...
method spansMultipleLines (line 17) | static spansMultipleLines(d){return d.endLineNumber>d.startLineNumber}
method toJSON (line 17) | toJSON(){return this}
method constructor (line 17) | constructor(_){super(0);for(let p=0,c=_.length;p<c;p++)this.set(_.char...
method constructor (line 19) | constructor(d,_){this.lineRangeMapping=d,this.changes=_}
method inverse (line 19) | static inverse(p,c,o){const L=[];let e=1,s=1;for(const u of p){const b...
method clip (line 19) | static clip(p,c,o){const L=[];for(const e of p){const s=e.original.int...
method constructor (line 19) | constructor(p,c){this.original=p,this.modified=c}
method toString (line 19) | toString(){return`{${this.original.toString()}->${this.modified.toStri...
method flip (line 19) | flip(){return new R(this.modified,this.original)}
method join (line 19) | join(p){return new R(this.original.join(p.original),this.modified.join...
method constructor (line 20) | constructor(s,l,u){const b=new Uint8Array(s*l);for(let f=0,y=s*l;f<y;f...
method get (line 20) | get(s,l){return this._data[s*this.cols+l]}
method set (line 20) | set(s,l,u){this._data[s*this.cols+l]=u}
class t (line 6) | class t{static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"...
method isWindows (line 6) | get isWindows(){return this._detect(),this._isWindows}
method isNode (line 6) | get isNode(){return this._detect(),this._isNode}
method isElectronRenderer (line 6) | get isElectronRenderer(){return this._detect(),this._isElectronRenderer}
method isWebWorker (line 6) | get isWebWorker(){return this._detect(),this._isWebWorker}
method isElectronNodeIntegrationWebWorker (line 6) | get isElectronNodeIntegrationWebWorker(){return this._detect(),this._i...
method constructor (line 6) | constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,thi...
method _detect (line 6) | _detect(){this._detected||(this._detected=!0,this._isWindows=t._isWind...
method _isWindows (line 6) | static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&...
method constructor (line 6) | constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}
method fileUriToFilePath (line 6) | static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"#"),R)...
method startsWith (line 6) | static startsWith(R,i){return R.length>=i.length&&R.substr(0,i.length)...
method endsWith (line 6) | static endsWith(R,i){return R.length>=i.length&&R.substr(R.length-i.le...
method containsQueryString (line 6) | static containsQueryString(R){return/^[^\#]*\?/gi.test(R)}
method isAbsolutePath (line 6) | static isAbsolutePath(R){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)...
method forEachProperty (line 6) | static forEachProperty(R,i){if(R){let d;for(d in R)R.hasOwnProperty(d)...
method isEmpty (line 6) | static isEmpty(R){let i=!0;return t.forEachProperty(R,()=>{i=!1}),i}
method recursiveClone (line 6) | static recursiveClone(R){if(!R||typeof R!="object"||R instanceof RegEx...
method generateAnonymousModule (line 6) | static generateAnonymousModule(){return"===anonymous"+t.NEXT_ANONYMOUS...
method isAnonymousModule (line 6) | static isAnonymousModule(R){return t.startsWith(R,"===anonymous")}
method getHighPerformanceTimestamp (line 6) | static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBE...
method constructor (line 6) | constructor(o){this._env=o,this._scriptLoader=null,this._callbackMap={}}
method load (line 6) | load(o,L,e,s){if(!this._scriptLoader)if(this._env.isWebWorker)this._sc...
method triggerCallback (line 6) | triggerCallback(o){let L=this._callbackMap[o];delete this._callbackMap...
method triggerErrorback (line 6) | triggerErrorback(o,L){let e=this._callbackMap[o];delete this._callback...
method constructor (line 8) | constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePath=c.s...
method _normalizeModuleId (line 8) | static _normalizeModuleId(c){let o=c,L;for(L=/\/\.\//;L.test(o);)o=o.r...
method resolveModule (line 8) | resolveModule(c){let o=c;return q.Utilities.isAbsolutePath(o)||(q.Util...
function t (line 6) | function t(i){if(i instanceof Error)return i;const d=new Error(i.message...
method isWindows (line 6) | get isWindows(){return this._detect(),this._isWindows}
method isNode (line 6) | get isNode(){return this._detect(),this._isNode}
method isElectronRenderer (line 6) | get isElectronRenderer(){return this._detect(),this._isElectronRenderer}
method isWebWorker (line 6) | get isWebWorker(){return this._detect(),this._isWebWorker}
method isElectronNodeIntegrationWebWorker (line 6) | get isElectronNodeIntegrationWebWorker(){return this._detect(),this._i...
method constructor (line 6) | constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,thi...
method _detect (line 6) | _detect(){this._detected||(this._detected=!0,this._isWindows=t._isWind...
method _isWindows (line 6) | static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&...
method constructor (line 6) | constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}
method fileUriToFilePath (line 6) | static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"#"),R)...
method startsWith (line 6) | static startsWith(R,i){return R.length>=i.length&&R.substr(0,i.length)...
method endsWith (line 6) | static endsWith(R,i){return R.length>=i.length&&R.substr(R.length-i.le...
method containsQueryString (line 6) | static containsQueryString(R){return/^[^\#]*\?/gi.test(R)}
method isAbsolutePath (line 6) | static isAbsolutePath(R){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)...
method forEachProperty (line 6) | static forEachProperty(R,i){if(R){let d;for(d in R)R.hasOwnProperty(d)...
method isEmpty (line 6) | static isEmpty(R){let i=!0;return t.forEachProperty(R,()=>{i=!1}),i}
method recursiveClone (line 6) | static recursiveClone(R){if(!R||typeof R!="object"||R instanceof RegEx...
method generateAnonymousModule (line 6) | static generateAnonymousModule(){return"===anonymous"+t.NEXT_ANONYMOUS...
method isAnonymousModule (line 6) | static isAnonymousModule(R){return t.startsWith(R,"===anonymous")}
method getHighPerformanceTimestamp (line 6) | static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBE...
method constructor (line 6) | constructor(o){this._env=o,this._scriptLoader=null,this._callbackMap={}}
method load (line 6) | load(o,L,e,s){if(!this._scriptLoader)if(this._env.isWebWorker)this._sc...
method triggerCallback (line 6) | triggerCallback(o){let L=this._callbackMap[o];delete this._callbackMap...
method triggerErrorback (line 6) | triggerErrorback(o,L){let e=this._callbackMap[o];delete this._callback...
method constructor (line 8) | constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePath=c.s...
method _normalizeModuleId (line 8) | static _normalizeModuleId(c){let o=c,L;for(L=/\/\.\//;L.test(o);)o=o.r...
method resolveModule (line 8) | resolveModule(c){let o=c;return q.Utilities.isAbsolutePath(o)||(q.Util...
class M (line 6) | class M{static validateConfigurationOptions(d){function _(p){if(p.phase=...
method constructor (line 6) | constructor(d){this._events=[new t(1,"",d)]}
method record (line 6) | record(d,_){this._events.push(new t(d,_,q.Utilities.getHighPerformance...
method getEvents (line 6) | getEvents(){return this._events}
method validateConfigurationOptions (line 6) | static validateConfigurationOptions(d){function _(p){if(p.phase==="loa...
method mergeConfigurationOptions (line 6) | static mergeConfigurationOptions(d=null,_=null){let p=q.Utilities.recu...
method attachListeners (line 6) | attachListeners(o,L,e){let s=()=>{o.removeEventListener("load",l),o.re...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){let l=o.getConfig().getOptionsLite...
method constructor (line 8) | constructor(c,o,L,e,s,l){this.id=c,this.strId=o,this.dependencies=L,th...
method _safeInvokeFunction (line 8) | static _safeInvokeFunction(c,o){try{return{returnedValue:c.apply(q.glo...
method _invokeFactory (line 8) | static _invokeFactory(c,o,L,e){return c.shouldInvokeFactory(o)?c.shoul...
method complete (line 8) | complete(c,o,L,e){this._isComplete=!0;let s=null;if(this._callback)if(...
method onDependencyError (line 8) | onDependencyError(c){return this._isComplete=!0,this.error=c,this._err...
method isComplete (line 8) | isComplete(){return this._isComplete}
method constructor (line 11) | constructor(d){this.fn=d,this.lastCache=void 0,this.lastArgKey=void 0}
method get (line 11) | get(d){const _=JSON.stringify(d);return this.lastArgKey!==_&&(this.las...
method constructor (line 11) | constructor(i,d,_,p){this.originalStart=i,this.originalLength=d,this.m...
method getOriginalEnd (line 11) | getOriginalEnd(){return this.originalStart+this.originalLength}
method getModifiedEnd (line 11) | getModifiedEnd(){return this.modifiedStart+this.modifiedLength}
method constructor (line 11) | constructor(){this.listeners=[],this.unexpectedErrorHandler=function(f...
method emit (line 15) | emit(f){this.listeners.forEach(y=>{y(f)})}
method onUnexpectedError (line 15) | onUnexpectedError(f){this.unexpectedErrorHandler(f),this.emit(f)}
method onUnexpectedExternalError (line 15) | onUnexpectedExternalError(f){this.unexpectedErrorHandler(f)}
method constructor (line 15) | constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(n...
method define (line 15) | define(s,l){this._keyCodeToStr[s]=l,this._strToKeyCode[l.toLowerCase()...
method keyCodeToStr (line 15) | keyCodeToStr(s){return this._keyCodeToStr[s]}
method strToKeyCode (line 15) | strToKeyCode(s){return this._strToKeyCode[s.toLowerCase()]||0}
method constructor (line 15) | constructor(i){this.executor=i,this._didRun=!1}
method value (line 15) | get value(){if(!this._didRun)try{this._value=this.executor()}catch(i){...
method rawValue (line 15) | get rawValue(){return this._value}
method constructor (line 15) | constructor(d){this.element=d,this.next=M.Undefined,this.prev=M.Undefi...
method constructor (line 17) | constructor(i,d){this.lineNumber=i,this.column=d}
method with (line 17) | with(i=this.lineNumber,d=this.column){return i===this.lineNumber&&d===...
method delta (line 17) | delta(i=0,d=0){return this.with(this.lineNumber+i,this.column+d)}
method equals (line 17) | equals(i){return M.equals(this,i)}
method equals (line 17) | static equals(i,d){return!i&&!d?!0:!!i&&!!d&&i.lineNumber===d.lineNumb...
method isBefore (line 17) | isBefore(i){return M.isBefore(this,i)}
method isBefore (line 17) | static isBefore(i,d){return i.lineNumber<d.lineNumber?!0:d.lineNumber<...
method isBeforeOrEqual (line 17) | isBeforeOrEqual(i){return M.isBeforeOrEqual(this,i)}
method isBeforeOrEqual (line 17) | static isBeforeOrEqual(i,d){return i.lineNumber<d.lineNumber?!0:d.line...
method compare (line 17) | static compare(i,d){const _=i.lineNumber|0,p=d.lineNumber|0;if(_===p){...
method clone (line 17) | clone(){return new M(this.lineNumber,this.column)}
method toString (line 17) | toString(){return"("+this.lineNumber+","+this.column+")"}
method lift (line 17) | static lift(i){return new M(i.lineNumber,i.column)}
method isIPosition (line 17) | static isIPosition(i){return i&&typeof i.lineNumber=="number"&&typeof ...
method toJSON (line 17) | toJSON(){return{lineNumber:this.lineNumber,column:this.column}}
method constructor (line 17) | constructor(d,_){this.trimmedHash=d,this.lines=_}
method getElement (line 17) | getElement(d){return this.trimmedHash[d]}
method length (line 17) | get length(){return this.trimmedHash.length}
method getBoundaryScore (line 17) | getBoundaryScore(d){const _=d===0?0:R(this.lines[d-1]),p=d===this.line...
method getText (line 17) | getText(d){return this.lines.slice(d.start,d.endExclusive).join(`
method isStronglyEqual (line 18) | isStronglyEqual(d,_){return this.lines[d]===this.lines[_]}
method constructor (line 18) | constructor(_,p){this.width=_,this.height=p,this.array=[],this.array=n...
method get (line 18) | get(_,p){return this.array[_+p*this.width]}
method set (line 18) | set(_,p,c){this.array[_+p*this.width]=c}
method constructor (line 19) | constructor(d,_,p){this.changes=d,this.moves=_,this.hitTimeout=p}
method constructor (line 20) | constructor(){this._defaultValueSet=[["true","false"],["True","False"]...
method navigateValueSet (line 20) | navigateValueSet(i,d,_,p,c){if(i&&d){const o=this.doNavigateValueSet(d...
method doNavigateValueSet (line 20) | doNavigateValueSet(i,d){const _=this.numberReplace(i,d);return _!==nul...
method numberReplace (line 20) | numberReplace(i,d){const _=Math.pow(10,i.length-(i.lastIndexOf(".")+1)...
method textReplace (line 20) | textReplace(i,d){return this.valueSetsReplace(this._defaultValueSet,i,d)}
method valueSetsReplace (line 20) | valueSetsReplace(i,d,_){let p=null;for(let c=0,o=i.length;p===null&&c<...
method valueSetReplace (line 20) | valueSetReplace(i,d,_){let p=i.indexOf(d);return p>=0?(p+=_?1:-1,p<0?p...
class R (line 6) | class R{constructor(d,_){if(this._env=d,this.options=M.mergeConfiguratio...
method record (line 6) | record(d,_){}
method getEvents (line 6) | getEvents(){return[]}
method constructor (line 6) | constructor(d,_){if(this._env=d,this.options=M.mergeConfigurationOptio...
method _createIgnoreDuplicateModulesMap (line 6) | _createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};f...
method _createSortedPathsRules (line 6) | _createSortedPathsRules(){this.sortedPathsRules=[],q.Utilities.forEach...
method cloneAndMerge (line 6) | cloneAndMerge(d){return new R(this._env,M.mergeConfigurationOptions(d,...
method getOptionsLiteral (line 6) | getOptionsLiteral(){return this.options}
method _applyPaths (line 6) | _applyPaths(d){let _;for(let p=0,c=this.sortedPathsRules.length;p<c;p+...
method _addUrlArgsToUrl (line 6) | _addUrlArgsToUrl(d){return q.Utilities.containsQueryString(d)?d+"&"+th...
method _addUrlArgsIfNecessaryToUrl (line 6) | _addUrlArgsIfNecessaryToUrl(d){return this.options.urlArgs?this._addUr...
method _addUrlArgsIfNecessaryToUrls (line 6) | _addUrlArgsIfNecessaryToUrls(d){if(this.options.urlArgs)for(let _=0,p=...
method moduleIdToPaths (line 6) | moduleIdToPaths(d){if(this._env.isNode&&this.options.amdModulesPattern...
method requireToUrl (line 6) | requireToUrl(d){let _=d;return q.Utilities.isAbsolutePath(_)||(_=this....
method isBuild (line 6) | isBuild(){return this.options.isBuild}
method shouldInvokeFactory (line 6) | shouldInvokeFactory(d){return!!(!this.options.isBuild||q.Utilities.isA...
method isDuplicateMessageIgnoredFor (line 6) | isDuplicateMessageIgnoredFor(d){return this.ignoreDuplicateModulesMap....
method getConfigForModule (line 6) | getConfigForModule(d){if(this.options.config)return this.options.confi...
method shouldCatchError (line 6) | shouldCatchError(){return this.options.catchError}
method shouldRecordStats (line 6) | shouldRecordStats(){return this.options.recordStats}
method onError (line 6) | onError(d){this.options.onError(d)}
method constructor (line 8) | constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,th...
method getMaxModuleId (line 8) | getMaxModuleId(){return this._nextId}
method getModuleId (line 8) | getModuleId(c){let o=this._strModuleIdToIntModuleId.get(c);return type...
method getStrModuleId (line 8) | getStrModuleId(c){return this._intModuleIdToStrModuleId[c]}
method cachedValues (line 11) | get cachedValues(){return this._map}
method constructor (line 11) | constructor(d){this.fn=d,this._map=new Map}
method get (line 11) | get(d){if(this._map.has(d))return this._map.get(d);const _=this.fn(d);...
method constructor (line 11) | constructor(c,o,L,e=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math...
method equals (line 11) | static equals(c,o){return c.r===o.r&&c.g===o.g&&c.b===o.b&&c.a===o.a}
method constructor (line 15) | constructor(){this._first=M.Undefined,this._last=M.Undefined,this._siz...
method size (line 15) | get size(){return this._size}
method isEmpty (line 15) | isEmpty(){return this._first===M.Undefined}
method clear (line 15) | clear(){let d=this._first;for(;d!==M.Undefined;){const _=d.next;d.prev...
method unshift (line 15) | unshift(d){return this._insert(d,!1)}
method push (line 15) | push(d){return this._insert(d,!0)}
method _insert (line 15) | _insert(d,_){const p=new M(d);if(this._first===M.Undefined)this._first...
method shift (line 15) | shift(){if(this._first!==M.Undefined){const d=this._first.element;retu...
method pop (line 15) | pop(){if(this._last!==M.Undefined){const d=this._last.element;return t...
method _remove (line 15) | _remove(d){if(d.prev!==M.Undefined&&d.next!==M.Undefined){const _=d.pr...
method create (line 15) | static create(d){return new R(d)}
method constructor (line 15) | constructor(d){this._now=M&&d===!1?Date.now:globalThis.performance.now...
method stop (line 15) | stop(){this._stopTime=this._now()}
method elapsed (line 15) | elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:th...
method constructor (line 17) | constructor(_){const p=(0,M.toUint8)(_);this._defaultValue=p,this._asc...
method _createAsciiMap (line 17) | static _createAsciiMap(_){const p=new Uint8Array(256);return p.fill(_),p}
method set (line 17) | set(_,p){const c=(0,M.toUint8)(p);_>=0&&_<256?this._asciiMap[_]=c:this...
method get (line 17) | get(_){return _>=0&&_<256?this._asciiMap[_]:this._map.get(_)||this._de...
method clear (line 17) | clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}
method addRange (line 17) | static addRange(_,p){let c=0;for(;c<p.length&&p[c].endExclusive<_.star...
method ofLength (line 17) | static ofLength(_){return new R(0,_)}
method ofStartAndLength (line 17) | static ofStartAndLength(_,p){return new R(_,_+p)}
method constructor (line 17) | constructor(_,p){if(this.start=_,this.endExclusive=p,_>p)throw new M.B...
method isEmpty (line 17) | get isEmpty(){return this.start===this.endExclusive}
method delta (line 17) | delta(_){return new R(this.start+_,this.endExclusive+_)}
method deltaStart (line 17) | deltaStart(_){return new R(this.start+_,this.endExclusive)}
method deltaEnd (line 17) | deltaEnd(_){return new R(this.start,this.endExclusive+_)}
method length (line 17) | get length(){return this.endExclusive-this.start}
method toString (line 17) | toString(){return`[${this.start}, ${this.endExclusive})`}
method contains (line 17) | contains(_){return this.start<=_&&_<this.endExclusive}
method join (line 17) | join(_){return new R(Math.min(this.start,_.start),Math.max(this.endExc...
method intersect (line 17) | intersect(_){const p=Math.max(this.start,_.start),c=Math.min(this.endE...
method intersects (line 17) | intersects(_){const p=Math.max(this.start,_.start),c=Math.min(this.end...
method isBefore (line 17) | isBefore(_){return this.endExclusive<=_.start}
method isAfter (line 17) | isAfter(_){return this.start>=_.endExclusive}
method slice (line 17) | slice(_){return _.slice(this.start,this.endExclusive)}
method clip (line 17) | clip(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid clippi...
method clipCyclic (line 17) | clipCyclic(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid ...
method forEach (line 17) | forEach(_){for(let p=this.start;p<this.endExclusive;p++)_(p)}
method constructor (line 17) | constructor(d,_,p,c){d>p||d===p&&_>c?(this.startLineNumber=p,this.star...
method isEmpty (line 17) | isEmpty(){return R.isEmpty(this)}
method isEmpty (line 17) | static isEmpty(d){return d.startLineNumber===d.endLineNumber&&d.startC...
method containsPosition (line 17) | containsPosition(d){return R.containsPosition(this,d)}
method containsPosition (line 17) | static containsPosition(d,_){return!(_.lineNumber<d.startLineNumber||_...
method strictContainsPosition (line 17) | static strictContainsPosition(d,_){return!(_.lineNumber<d.startLineNum...
method containsRange (line 17) | containsRange(d){return R.containsRange(this,d)}
method containsRange (line 17) | static containsRange(d,_){return!(_.startLineNumber<d.startLineNumber|...
method strictContainsRange (line 17) | strictContainsRange(d){return R.strictContainsRange(this,d)}
method strictContainsRange (line 17) | static strictContainsRange(d,_){return!(_.startLineNumber<d.startLineN...
method plusRange (line 17) | plusRange(d){return R.plusRange(this,d)}
method plusRange (line 17) | static plusRange(d,_){let p,c,o,L;return _.startLineNumber<d.startLine...
method intersectRanges (line 17) | intersectRanges(d){return R.intersectRanges(this,d)}
method intersectRanges (line 17) | static intersectRanges(d,_){let p=d.startLineNumber,c=d.startColumn,o=...
method equalsRange (line 17) | equalsRange(d){return R.equalsRange(this,d)}
method equalsRange (line 17) | static equalsRange(d,_){return!d&&!_?!0:!!d&&!!_&&d.startLineNumber===...
method getEndPosition (line 17) | getEndPosition(){return R.getEndPosition(this)}
method getEndPosition (line 17) | static getEndPosition(d){return new M.Position(d.endLineNumber,d.endCo...
method getStartPosition (line 17) | getStartPosition(){return R.getStartPosition(this)}
method getStartPosition (line 17) | static getStartPosition(d){return new M.Position(d.startLineNumber,d.s...
method toString (line 17) | toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+...
method setEndPosition (line 17) | setEndPosition(d,_){return new R(this.startLineNumber,this.startColumn...
method setStartPosition (line 17) | setStartPosition(d,_){return new R(d,_,this.endLineNumber,this.endColu...
method collapseToStart (line 17) | collapseToStart(){return R.collapseToStart(this)}
method collapseToStart (line 17) | static collapseToStart(d){return new R(d.startLineNumber,d.startColumn...
method collapseToEnd (line 17) | collapseToEnd(){return R.collapseToEnd(this)}
method collapseToEnd (line 17) | static collapseToEnd(d){return new R(d.endLineNumber,d.endColumn,d.end...
method delta (line 17) | delta(d){return new R(this.startLineNumber+d,this.startColumn,this.end...
method fromPositions (line 17) | static fromPositions(d,_=d){return new R(d.lineNumber,d.column,_.lineN...
method lift (line 17) | static lift(d){return d?new R(d.startLineNumber,d.startColumn,d.endLin...
method isIRange (line 17) | static isIRange(d){return d&&typeof d.startLineNumber=="number"&&typeo...
method areIntersectingOrTouching (line 17) | static areIntersectingOrTouching(d,_){return!(d.endLineNumber<_.startL...
method areIntersecting (line 17) | static areIntersecting(d,_){return!(d.endLineNumber<_.startLineNumber|...
method compareRangesUsingStarts (line 17) | static compareRangesUsingStarts(d,_){if(d&&_){const o=d.startLineNumbe...
method compareRangesUsingEnds (line 17) | static compareRangesUsingEnds(d,_){return d.endLineNumber===_.endLineN...
method spansMultipleLines (line 17) | static spansMultipleLines(d){return d.endLineNumber>d.startLineNumber}
method toJSON (line 17) | toJSON(){return this}
method constructor (line 17) | constructor(_){super(0);for(let p=0,c=_.length;p<c;p++)this.set(_.char...
method constructor (line 19) | constructor(d,_){this.lineRangeMapping=d,this.changes=_}
method inverse (line 19) | static inverse(p,c,o){const L=[];let e=1,s=1;for(const u of p){const b...
method clip (line 19) | static clip(p,c,o){const L=[];for(const e of p){const s=e.original.int...
method constructor (line 19) | constructor(p,c){this.original=p,this.modified=c}
method toString (line 19) | toString(){return`{${this.original.toString()}->${this.modified.toStri...
method flip (line 19) | flip(){return new R(this.modified,this.original)}
method join (line 19) | join(p){return new R(this.original.join(p.original),this.modified.join...
method constructor (line 20) | constructor(s,l,u){const b=new Uint8Array(s*l);for(let f=0,y=s*l;f<y;f...
method get (line 20) | get(s,l){return this._data[s*this.cols+l]}
method set (line 20) | set(s,l,u){this._data[s*this.cols+l]=u}
class t (line 6) | class t{constructor(o){this._env=o,this._scriptLoader=null,this._callbac...
method isWindows (line 6) | get isWindows(){return this._detect(),this._isWindows}
method isNode (line 6) | get isNode(){return this._detect(),this._isNode}
method isElectronRenderer (line 6) | get isElectronRenderer(){return this._detect(),this._isElectronRenderer}
method isWebWorker (line 6) | get isWebWorker(){return this._detect(),this._isWebWorker}
method isElectronNodeIntegrationWebWorker (line 6) | get isElectronNodeIntegrationWebWorker(){return this._detect(),this._i...
method constructor (line 6) | constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,thi...
method _detect (line 6) | _detect(){this._detected||(this._detected=!0,this._isWindows=t._isWind...
method _isWindows (line 6) | static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&...
method constructor (line 6) | constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}
method fileUriToFilePath (line 6) | static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"#"),R)...
method startsWith (line 6) | static startsWith(R,i){return R.length>=i.length&&R.substr(0,i.length)...
method endsWith (line 6) | static endsWith(R,i){return R.length>=i.length&&R.substr(R.length-i.le...
method containsQueryString (line 6) | static containsQueryString(R){return/^[^\#]*\?/gi.test(R)}
method isAbsolutePath (line 6) | static isAbsolutePath(R){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)...
method forEachProperty (line 6) | static forEachProperty(R,i){if(R){let d;for(d in R)R.hasOwnProperty(d)...
method isEmpty (line 6) | static isEmpty(R){let i=!0;return t.forEachProperty(R,()=>{i=!1}),i}
method recursiveClone (line 6) | static recursiveClone(R){if(!R||typeof R!="object"||R instanceof RegEx...
method generateAnonymousModule (line 6) | static generateAnonymousModule(){return"===anonymous"+t.NEXT_ANONYMOUS...
method isAnonymousModule (line 6) | static isAnonymousModule(R){return t.startsWith(R,"===anonymous")}
method getHighPerformanceTimestamp (line 6) | static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBE...
method constructor (line 6) | constructor(o){this._env=o,this._scriptLoader=null,this._callbackMap={}}
method load (line 6) | load(o,L,e,s){if(!this._scriptLoader)if(this._env.isWebWorker)this._sc...
method triggerCallback (line 6) | triggerCallback(o){let L=this._callbackMap[o];delete this._callbackMap...
method triggerErrorback (line 6) | triggerErrorback(o,L){let e=this._callbackMap[o];delete this._callback...
method constructor (line 8) | constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePath=c.s...
method _normalizeModuleId (line 8) | static _normalizeModuleId(c){let o=c,L;for(L=/\/\.\//;L.test(o);)o=o.r...
method resolveModule (line 8) | resolveModule(c){let o=c;return q.Utilities.isAbsolutePath(o)||(q.Util...
class M (line 6) | class M{attachListeners(o,L,e){let s=()=>{o.removeEventListener("load",l...
method constructor (line 6) | constructor(d){this._events=[new t(1,"",d)]}
method record (line 6) | record(d,_){this._events.push(new t(d,_,q.Utilities.getHighPerformance...
method getEvents (line 6) | getEvents(){return this._events}
method validateConfigurationOptions (line 6) | static validateConfigurationOptions(d){function _(p){if(p.phase==="loa...
method mergeConfigurationOptions (line 6) | static mergeConfigurationOptions(d=null,_=null){let p=q.Utilities.recu...
method attachListeners (line 6) | attachListeners(o,L,e){let s=()=>{o.removeEventListener("load",l),o.re...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){let l=o.getConfig().getOptionsLite...
method constructor (line 8) | constructor(c,o,L,e,s,l){this.id=c,this.strId=o,this.dependencies=L,th...
method _safeInvokeFunction (line 8) | static _safeInvokeFunction(c,o){try{return{returnedValue:c.apply(q.glo...
method _invokeFactory (line 8) | static _invokeFactory(c,o,L,e){return c.shouldInvokeFactory(o)?c.shoul...
method complete (line 8) | complete(c,o,L,e){this._isComplete=!0;let s=null;if(this._callback)if(...
method onDependencyError (line 8) | onDependencyError(c){return this._isComplete=!0,this.error=c,this._err...
method isComplete (line 8) | isComplete(){return this._isComplete}
method constructor (line 11) | constructor(d){this.fn=d,this.lastCache=void 0,this.lastArgKey=void 0}
method get (line 11) | get(d){const _=JSON.stringify(d);return this.lastArgKey!==_&&(this.las...
method constructor (line 11) | constructor(i,d,_,p){this.originalStart=i,this.originalLength=d,this.m...
method getOriginalEnd (line 11) | getOriginalEnd(){return this.originalStart+this.originalLength}
method getModifiedEnd (line 11) | getModifiedEnd(){return this.modifiedStart+this.modifiedLength}
method constructor (line 11) | constructor(){this.listeners=[],this.unexpectedErrorHandler=function(f...
method emit (line 15) | emit(f){this.listeners.forEach(y=>{y(f)})}
method onUnexpectedError (line 15) | onUnexpectedError(f){this.unexpectedErrorHandler(f),this.emit(f)}
method onUnexpectedExternalError (line 15) | onUnexpectedExternalError(f){this.unexpectedErrorHandler(f)}
method constructor (line 15) | constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(n...
method define (line 15) | define(s,l){this._keyCodeToStr[s]=l,this._strToKeyCode[l.toLowerCase()...
method keyCodeToStr (line 15) | keyCodeToStr(s){return this._keyCodeToStr[s]}
method strToKeyCode (line 15) | strToKeyCode(s){return this._strToKeyCode[s.toLowerCase()]||0}
method constructor (line 15) | constructor(i){this.executor=i,this._didRun=!1}
method value (line 15) | get value(){if(!this._didRun)try{this._value=this.executor()}catch(i){...
method rawValue (line 15) | get rawValue(){return this._value}
method constructor (line 15) | constructor(d){this.element=d,this.next=M.Undefined,this.prev=M.Undefi...
method constructor (line 17) | constructor(i,d){this.lineNumber=i,this.column=d}
method with (line 17) | with(i=this.lineNumber,d=this.column){return i===this.lineNumber&&d===...
method delta (line 17) | delta(i=0,d=0){return this.with(this.lineNumber+i,this.column+d)}
method equals (line 17) | equals(i){return M.equals(this,i)}
method equals (line 17) | static equals(i,d){return!i&&!d?!0:!!i&&!!d&&i.lineNumber===d.lineNumb...
method isBefore (line 17) | isBefore(i){return M.isBefore(this,i)}
method isBefore (line 17) | static isBefore(i,d){return i.lineNumber<d.lineNumber?!0:d.lineNumber<...
method isBeforeOrEqual (line 17) | isBeforeOrEqual(i){return M.isBeforeOrEqual(this,i)}
method isBeforeOrEqual (line 17) | static isBeforeOrEqual(i,d){return i.lineNumber<d.lineNumber?!0:d.line...
method compare (line 17) | static compare(i,d){const _=i.lineNumber|0,p=d.lineNumber|0;if(_===p){...
method clone (line 17) | clone(){return new M(this.lineNumber,this.column)}
method toString (line 17) | toString(){return"("+this.lineNumber+","+this.column+")"}
method lift (line 17) | static lift(i){return new M(i.lineNumber,i.column)}
method isIPosition (line 17) | static isIPosition(i){return i&&typeof i.lineNumber=="number"&&typeof ...
method toJSON (line 17) | toJSON(){return{lineNumber:this.lineNumber,column:this.column}}
method constructor (line 17) | constructor(d,_){this.trimmedHash=d,this.lines=_}
method getElement (line 17) | getElement(d){return this.trimmedHash[d]}
method length (line 17) | get length(){return this.trimmedHash.length}
method getBoundaryScore (line 17) | getBoundaryScore(d){const _=d===0?0:R(this.lines[d-1]),p=d===this.line...
method getText (line 17) | getText(d){return this.lines.slice(d.start,d.endExclusive).join(`
method isStronglyEqual (line 18) | isStronglyEqual(d,_){return this.lines[d]===this.lines[_]}
method constructor (line 18) | constructor(_,p){this.width=_,this.height=p,this.array=[],this.array=n...
method get (line 18) | get(_,p){return this.array[_+p*this.width]}
method set (line 18) | set(_,p,c){this.array[_+p*this.width]=c}
method constructor (line 19) | constructor(d,_,p){this.changes=d,this.moves=_,this.hitTimeout=p}
method constructor (line 20) | constructor(){this._defaultValueSet=[["true","false"],["True","False"]...
method navigateValueSet (line 20) | navigateValueSet(i,d,_,p,c){if(i&&d){const o=this.doNavigateValueSet(d...
method doNavigateValueSet (line 20) | doNavigateValueSet(i,d){const _=this.numberReplace(i,d);return _!==nul...
method numberReplace (line 20) | numberReplace(i,d){const _=Math.pow(10,i.length-(i.lastIndexOf(".")+1)...
method textReplace (line 20) | textReplace(i,d){return this.valueSetsReplace(this._defaultValueSet,i,d)}
method valueSetsReplace (line 20) | valueSetsReplace(i,d,_){let p=null;for(let c=0,o=i.length;p===null&&c<...
method valueSetReplace (line 20) | valueSetReplace(i,d,_){let p=i.indexOf(d);return p>=0?(p+=_?1:-1,p<0?p...
function R (line 6) | function R(c){const{trustedTypesPolicy:o}=c.getConfig().getOptionsLitera...
method record (line 6) | record(d,_){}
method getEvents (line 6) | getEvents(){return[]}
method constructor (line 6) | constructor(d,_){if(this._env=d,this.options=M.mergeConfigurationOptio...
method _createIgnoreDuplicateModulesMap (line 6) | _createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};f...
method _createSortedPathsRules (line 6) | _createSortedPathsRules(){this.sortedPathsRules=[],q.Utilities.forEach...
method cloneAndMerge (line 6) | cloneAndMerge(d){return new R(this._env,M.mergeConfigurationOptions(d,...
method getOptionsLiteral (line 6) | getOptionsLiteral(){return this.options}
method _applyPaths (line 6) | _applyPaths(d){let _;for(let p=0,c=this.sortedPathsRules.length;p<c;p+...
method _addUrlArgsToUrl (line 6) | _addUrlArgsToUrl(d){return q.Utilities.containsQueryString(d)?d+"&"+th...
method _addUrlArgsIfNecessaryToUrl (line 6) | _addUrlArgsIfNecessaryToUrl(d){return this.options.urlArgs?this._addUr...
method _addUrlArgsIfNecessaryToUrls (line 6) | _addUrlArgsIfNecessaryToUrls(d){if(this.options.urlArgs)for(let _=0,p=...
method moduleIdToPaths (line 6) | moduleIdToPaths(d){if(this._env.isNode&&this.options.amdModulesPattern...
method requireToUrl (line 6) | requireToUrl(d){let _=d;return q.Utilities.isAbsolutePath(_)||(_=this....
method isBuild (line 6) | isBuild(){return this.options.isBuild}
method shouldInvokeFactory (line 6) | shouldInvokeFactory(d){return!!(!this.options.isBuild||q.Utilities.isA...
method isDuplicateMessageIgnoredFor (line 6) | isDuplicateMessageIgnoredFor(d){return this.ignoreDuplicateModulesMap....
method getConfigForModule (line 6) | getConfigForModule(d){if(this.options.config)return this.options.confi...
method shouldCatchError (line 6) | shouldCatchError(){return this.options.catchError}
method shouldRecordStats (line 6) | shouldRecordStats(){return this.options.recordStats}
method onError (line 6) | onError(d){this.options.onError(d)}
method constructor (line 8) | constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,th...
method getMaxModuleId (line 8) | getMaxModuleId(){return this._nextId}
method getModuleId (line 8) | getModuleId(c){let o=this._strModuleIdToIntModuleId.get(c);return type...
method getStrModuleId (line 8) | getStrModuleId(c){return this._intModuleIdToStrModuleId[c]}
method cachedValues (line 11) | get cachedValues(){return this._map}
method constructor (line 11) | constructor(d){this.fn=d,this._map=new Map}
method get (line 11) | get(d){if(this._map.has(d))return this._map.get(d);const _=this.fn(d);...
method constructor (line 11) | constructor(c,o,L,e=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math...
method equals (line 11) | static equals(c,o){return c.r===o.r&&c.g===o.g&&c.b===o.b&&c.a===o.a}
method constructor (line 15) | constructor(){this._first=M.Undefined,this._last=M.Undefined,this._siz...
method size (line 15) | get size(){return this._size}
method isEmpty (line 15) | isEmpty(){return this._first===M.Undefined}
method clear (line 15) | clear(){let d=this._first;for(;d!==M.Undefined;){const _=d.next;d.prev...
method unshift (line 15) | unshift(d){return this._insert(d,!1)}
method push (line 15) | push(d){return this._insert(d,!0)}
method _insert (line 15) | _insert(d,_){const p=new M(d);if(this._first===M.Undefined)this._first...
method shift (line 15) | shift(){if(this._first!==M.Undefined){const d=this._first.element;retu...
method pop (line 15) | pop(){if(this._last!==M.Undefined){const d=this._last.element;return t...
method _remove (line 15) | _remove(d){if(d.prev!==M.Undefined&&d.next!==M.Undefined){const _=d.pr...
method create (line 15) | static create(d){return new R(d)}
method constructor (line 15) | constructor(d){this._now=M&&d===!1?Date.now:globalThis.performance.now...
method stop (line 15) | stop(){this._stopTime=this._now()}
method elapsed (line 15) | elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:th...
method constructor (line 17) | constructor(_){const p=(0,M.toUint8)(_);this._defaultValue=p,this._asc...
method _createAsciiMap (line 17) | static _createAsciiMap(_){const p=new Uint8Array(256);return p.fill(_),p}
method set (line 17) | set(_,p){const c=(0,M.toUint8)(p);_>=0&&_<256?this._asciiMap[_]=c:this...
method get (line 17) | get(_){return _>=0&&_<256?this._asciiMap[_]:this._map.get(_)||this._de...
method clear (line 17) | clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}
method addRange (line 17) | static addRange(_,p){let c=0;for(;c<p.length&&p[c].endExclusive<_.star...
method ofLength (line 17) | static ofLength(_){return new R(0,_)}
method ofStartAndLength (line 17) | static ofStartAndLength(_,p){return new R(_,_+p)}
method constructor (line 17) | constructor(_,p){if(this.start=_,this.endExclusive=p,_>p)throw new M.B...
method isEmpty (line 17) | get isEmpty(){return this.start===this.endExclusive}
method delta (line 17) | delta(_){return new R(this.start+_,this.endExclusive+_)}
method deltaStart (line 17) | deltaStart(_){return new R(this.start+_,this.endExclusive)}
method deltaEnd (line 17) | deltaEnd(_){return new R(this.start,this.endExclusive+_)}
method length (line 17) | get length(){return this.endExclusive-this.start}
method toString (line 17) | toString(){return`[${this.start}, ${this.endExclusive})`}
method contains (line 17) | contains(_){return this.start<=_&&_<this.endExclusive}
method join (line 17) | join(_){return new R(Math.min(this.start,_.start),Math.max(this.endExc...
method intersect (line 17) | intersect(_){const p=Math.max(this.start,_.start),c=Math.min(this.endE...
method intersects (line 17) | intersects(_){const p=Math.max(this.start,_.start),c=Math.min(this.end...
method isBefore (line 17) | isBefore(_){return this.endExclusive<=_.start}
method isAfter (line 17) | isAfter(_){return this.start>=_.endExclusive}
method slice (line 17) | slice(_){return _.slice(this.start,this.endExclusive)}
method clip (line 17) | clip(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid clippi...
method clipCyclic (line 17) | clipCyclic(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid ...
method forEach (line 17) | forEach(_){for(let p=this.start;p<this.endExclusive;p++)_(p)}
method constructor (line 17) | constructor(d,_,p,c){d>p||d===p&&_>c?(this.startLineNumber=p,this.star...
method isEmpty (line 17) | isEmpty(){return R.isEmpty(this)}
method isEmpty (line 17) | static isEmpty(d){return d.startLineNumber===d.endLineNumber&&d.startC...
method containsPosition (line 17) | containsPosition(d){return R.containsPosition(this,d)}
method containsPosition (line 17) | static containsPosition(d,_){return!(_.lineNumber<d.startLineNumber||_...
method strictContainsPosition (line 17) | static strictContainsPosition(d,_){return!(_.lineNumber<d.startLineNum...
method containsRange (line 17) | containsRange(d){return R.containsRange(this,d)}
method containsRange (line 17) | static containsRange(d,_){return!(_.startLineNumber<d.startLineNumber|...
method strictContainsRange (line 17) | strictContainsRange(d){return R.strictContainsRange(this,d)}
method strictContainsRange (line 17) | static strictContainsRange(d,_){return!(_.startLineNumber<d.startLineN...
method plusRange (line 17) | plusRange(d){return R.plusRange(this,d)}
method plusRange (line 17) | static plusRange(d,_){let p,c,o,L;return _.startLineNumber<d.startLine...
method intersectRanges (line 17) | intersectRanges(d){return R.intersectRanges(this,d)}
method intersectRanges (line 17) | static intersectRanges(d,_){let p=d.startLineNumber,c=d.startColumn,o=...
method equalsRange (line 17) | equalsRange(d){return R.equalsRange(this,d)}
method equalsRange (line 17) | static equalsRange(d,_){return!d&&!_?!0:!!d&&!!_&&d.startLineNumber===...
method getEndPosition (line 17) | getEndPosition(){return R.getEndPosition(this)}
method getEndPosition (line 17) | static getEndPosition(d){return new M.Position(d.endLineNumber,d.endCo...
method getStartPosition (line 17) | getStartPosition(){return R.getStartPosition(this)}
method getStartPosition (line 17) | static getStartPosition(d){return new M.Position(d.startLineNumber,d.s...
method toString (line 17) | toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+...
method setEndPosition (line 17) | setEndPosition(d,_){return new R(this.startLineNumber,this.startColumn...
method setStartPosition (line 17) | setStartPosition(d,_){return new R(d,_,this.endLineNumber,this.endColu...
method collapseToStart (line 17) | collapseToStart(){return R.collapseToStart(this)}
method collapseToStart (line 17) | static collapseToStart(d){return new R(d.startLineNumber,d.startColumn...
method collapseToEnd (line 17) | collapseToEnd(){return R.collapseToEnd(this)}
method collapseToEnd (line 17) | static collapseToEnd(d){return new R(d.endLineNumber,d.endColumn,d.end...
method delta (line 17) | delta(d){return new R(this.startLineNumber+d,this.startColumn,this.end...
method fromPositions (line 17) | static fromPositions(d,_=d){return new R(d.lineNumber,d.column,_.lineN...
method lift (line 17) | static lift(d){return d?new R(d.startLineNumber,d.startColumn,d.endLin...
method isIRange (line 17) | static isIRange(d){return d&&typeof d.startLineNumber=="number"&&typeo...
method areIntersectingOrTouching (line 17) | static areIntersectingOrTouching(d,_){return!(d.endLineNumber<_.startL...
method areIntersecting (line 17) | static areIntersecting(d,_){return!(d.endLineNumber<_.startLineNumber|...
method compareRangesUsingStarts (line 17) | static compareRangesUsingStarts(d,_){if(d&&_){const o=d.startLineNumbe...
method compareRangesUsingEnds (line 17) | static compareRangesUsingEnds(d,_){return d.endLineNumber===_.endLineN...
method spansMultipleLines (line 17) | static spansMultipleLines(d){return d.endLineNumber>d.startLineNumber}
method toJSON (line 17) | toJSON(){return this}
method constructor (line 17) | constructor(_){super(0);for(let p=0,c=_.length;p<c;p++)this.set(_.char...
method constructor (line 19) | constructor(d,_){this.lineRangeMapping=d,this.changes=_}
method inverse (line 19) | static inverse(p,c,o){const L=[];let e=1,s=1;for(const u of p){const b...
method clip (line 19) | static clip(p,c,o){const L=[];for(const e of p){const s=e.original.int...
method constructor (line 19) | constructor(p,c){this.original=p,this.modified=c}
method toString (line 19) | toString(){return`{${this.original.toString()}->${this.modified.toStri...
method flip (line 19) | flip(){return new R(this.modified,this.original)}
method join (line 19) | join(p){return new R(this.original.join(p.original),this.modified.join...
method constructor (line 20) | constructor(s,l,u){const b=new Uint8Array(s*l);for(let f=0,y=s*l;f<y;f...
method get (line 20) | get(s,l){return this._data[s*this.cols+l]}
method set (line 20) | set(s,l,u){this._data[s*this.cols+l]=u}
class i (line 6) | class i{constructor(){this._cachedCanUseEval=null}_canUseEval(o){return ...
method constructor (line 6) | constructor(){this._cachedCanUseEval=null}
method _canUseEval (line 6) | _canUseEval(o){return this._cachedCanUseEval===null&&(this._cachedCanU...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){const l=o.getConfig().getOptionsLi...
method constructor (line 8) | constructor(c){this.id=c}
method constructor (line 11) | constructor(c,o,L,e){this._hslaBrand=void 0,this.h=Math.max(Math.min(3...
method equals (line 11) | static equals(c,o){return c.h===o.h&&c.s===o.s&&c.l===o.l&&c.a===o.a}
method fromRGBA (line 11) | static fromRGBA(c){const o=c.r/255,L=c.g/255,e=c.b/255,s=c.a,l=Math.ma...
method _hue2rgb (line 11) | static _hue2rgb(c,o,L){return L<0&&(L+=1),L>1&&(L-=1),L<1/6?c+(o-c)*6*...
method toRGBA (line 11) | static toRGBA(c){const o=c.h/360,{s:L,l:e,a:s}=c;let l,u,b;if(L===0)l=...
method constructor (line 15) | constructor(s,l){this.uri=s,this.value=l}
method constructor (line 17) | constructor(e){this.source=e}
method getElements (line 17) | getElements(){const e=this.source,s=new Int32Array(e.length);for(let l...
method constructor (line 17) | constructor(){this._actual=new R(0)}
method add (line 17) | add(_){this._actual.set(_,1)}
method has (line 17) | has(_){return this._actual.get(_)===1}
method clear (line 17) | clear(){return this._actual.clear()}
method constructor (line 17) | constructor(){this._sortedRanges=[]}
method addRange (line 17) | addRange(_){let p=0;for(;p<this._sortedRanges.length&&this._sortedRang...
method toString (line 17) | toString(){return this._sortedRanges.map(_=>_.toString()).join(", ")}
method intersectsStrict (line 17) | intersectsStrict(_){let p=0;for(;p<this._sortedRanges.length&&this._so...
method intersectWithRange (line 17) | intersectWithRange(_){const p=new i;for(const c of this._sortedRanges)...
method intersectWithRangeLength (line 17) | intersectWithRangeLength(_){return this.intersectWithRange(_).length}
method length (line 17) | get length(){return this._sortedRanges.reduce((_,p)=>_+p.length,0)}
method constructor (line 17) | constructor(_,p,c,o){super(_,p,c,o),this.selectionStartLineNumber=_,th...
method toString (line 17) | toString(){return"["+this.selectionStartLineNumber+","+this.selectionS...
method equalsSelection (line 17) | equalsSelection(_){return i.selectionsEqual(this,_)}
method selectionsEqual (line 17) | static selectionsEqual(_,p){return _.selectionStartLineNumber===p.sele...
method getDirection (line 17) | getDirection(){return this.selectionStartLineNumber===this.startLineNu...
method setEndPosition (line 17) | setEndPosition(_,p){return this.getDirection()===0?new i(this.startLin...
method getPosition (line 17) | getPosition(){return new M.Position(this.positionLineNumber,this.posit...
method getSelectionStart (line 17) | getSelectionStart(){return new M.Position(this.selectionStartLineNumbe...
method setStartPosition (line 17) | setStartPosition(_,p){return this.getDirection()===0?new i(_,p,this.en...
method fromPositions (line 17) | static fromPositions(_,p=_){return new i(_.lineNumber,_.column,p.lineN...
method fromRange (line 17) | static fromRange(_,p){return p===0?new i(_.startLineNumber,_.startColu...
method liftSelection (line 17) | static liftSelection(_){return new i(_.selectionStartLineNumber,_.sele...
method selectionsArrEqual (line 17) | static selectionsArrEqual(_,p){if(_&&!p||!_&&p)return!1;if(!_&&!p)retu...
method isISelection (line 17) | static isISelection(_){return _&&typeof _.selectionStartLineNumber=="n...
method createWithDirection (line 17) | static createWithDirection(_,p,c,o,L){return L===0?new i(_,p,c,o):new ...
method compute (line 17) | compute(o,L,e=R.InfiniteTimeout.instance){if(o.length===0||L.length===...
method getKey (line 18) | static getKey(_){let p=this.chrKeys.get(_);return p===void 0&&(p=this....
method constructor (line 18) | constructor(_,p,c){this.range=_,this.lines=p,this.source=c,this.histog...
method computeSimilarity (line 19) | computeSimilarity(_){var p,c;let o=0;const L=Math.max(this.histogram.l...
method constructor (line 19) | constructor(p,c,o){super(p,c),this.innerChanges=o}
method flip (line 19) | flip(){var p;return new i(this.modified,this.original,(p=this.innerCha...
method constructor (line 20) | constructor(s){let l=0,u=0;for(let f=0,y=s.length;f<y;f++){const[w,E,S...
method nextState (line 20) | nextState(s,l){return l<0||l>=this._maxCharCode?0:this._states.get(s,l)}
method constructor (line 20) | constructor(c){this.values=c,this.prefixSum=new Uint32Array(c.length),...
method insertValues (line 20) | insertValues(c,o){c=(0,R.toUint32)(c);const L=this.values,e=this.prefi...
method setValue (line 20) | setValue(c,o){return c=(0,R.toUint32)(c),o=(0,R.toUint32)(o),this.valu...
method removeValues (line 20) | removeValues(c,o){c=(0,R.toUint32)(c),o=(0,R.toUint32)(o);const L=this...
method getTotalSum (line 20) | getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this....
method getPrefixSum (line 20) | getPrefixSum(c){return c<0?0:(c=(0,R.toUint32)(c),this._getPrefixSum(c))}
method _getPrefixSum (line 20) | _getPrefixSum(c){if(c<=this.prefixSumValidIndex[0])return this.prefixS...
method getIndexOf (line 20) | getIndexOf(c){c=Math.floor(c),this.getTotalSum();let o=0,L=this.values...
method constructor (line 24) | constructor(){this._tokenizationSupports=new Map,this._factories=new M...
method handleChange (line 24) | handleChange(p){this._onDidChange.fire({changedLanguages:p,changedColo...
method register (line 24) | register(p,c){return this._tokenizationSupports.set(p,c),this.handleCh...
method get (line 24) | get(p){return this._tokenizationSupports.get(p)||null}
method registerFactory (line 24) | registerFactory(p,c){var o;(o=this._factories.get(p))===null||o===void...
method getOrCreate (line 24) | async getOrCreate(p){const c=this.get(p);if(c)return c;const o=this._f...
method isResolved (line 24) | isResolved(p){if(this.get(p))return!0;const o=this._factories.get(p);r...
method setColorMap (line 24) | setColorMap(p){this._colorMap=p,this._onDidChange.fire({changedLanguag...
method getColorMap (line 24) | getColorMap(){return this._colorMap}
method getDefaultBackground (line 24) | getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?...
class d (line 7) | class d{constructor(o){this._env=o,this._didInitialize=!1,this._didPatch...
method constructor (line 7) | constructor(o){this._env=o,this._didInitialize=!1,this._didPatchNodeRe...
method _init (line 7) | _init(o){this._didInitialize||(this._didInitialize=!0,this._fs=o("fs")...
method _initNodeRequire (line 7) | _initNodeRequire(o,L){const{nodeCachedData:e}=L.getConfig().getOptions...
method load (line 7) | load(o,L,e,s){const l=o.getConfig().getOptionsLiteral(),u=_(o.getRecor...
method _createAndEvalScript (line 7) | _createAndEvalScript(o,L,e,s,l){const u=o.getRecorder();u.record(31,e....
method _getElectronRendererScriptPathOrUri (line 7) | _getElectronRendererScriptPathOrUri(o){if(!this._env.isElectronRendere...
method _getCachedDataPath (line 7) | _getCachedDataPath(o,L){const e=this._crypto.createHash("md5").update(...
method _handleCachedData (line 7) | _handleCachedData(o,L,e,s,l){o.cachedDataRejected?this._fs.unlink(e,u=...
method _createAndWriteCachedData (line 7) | _createAndWriteCachedData(o,L,e,s){let l=Math.ceil(s.getConfig().getOp...
method _readSourceAndCachedData (line 7) | _readSourceAndCachedData(o,L,e,s){if(!L)this._fs.readFile(o,{encoding:...
method _verifyCachedData (line 7) | _verifyCachedData(o,L,e,s,l){s&&(o.cachedDataRejected||setTimeout(()=>...
method constructor (line 8) | constructor(c,o,L){this.id=c,this.pluginId=o,this.pluginParam=L}
method constructor (line 11) | constructor(c,o,L,e){this._hsvaBrand=void 0,this.h=Math.max(Math.min(3...
method equals (line 11) | static equals(c,o){return c.h===o.h&&c.s===o.s&&c.v===o.v&&c.a===o.a}
method fromRGBA (line 11) | static fromRGBA(c){const o=c.r/255,L=c.g/255,e=c.b/255,s=Math.max(o,L,...
method toRGBA (line 11) | static toRGBA(c){const{h:o,s:L,v:e,a:s}=c,l=e*L,u=l*(1-Math.abs(o/60%2...
method constructor (line 17) | constructor(){this._isCancelled=!1,this._emitter=null}
method cancel (line 17) | cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this...
method isCancellationRequested (line 17) | get isCancellationRequested(){return this._isCancelled}
method onCancellationRequested (line 17) | get onCancellationRequested(){return this._isCancelled?R:(this._emitte...
method dispose (line 17) | dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}
method trivial (line 17) | static trivial(e,s){return new d([new _(i.OffsetRange.ofLength(e.lengt...
method trivialTimedOut (line 17) | static trivialTimedOut(e,s){return new d([new _(i.OffsetRange.ofLength...
method constructor (line 17) | constructor(e,s){this.diffs=e,this.hitTimeout=s}
method constructor (line 17) | constructor(o,L,e,s){this.prev=o,this.x=L,this.y=e,this.length=s}
method compute (line 19) | compute(p,c,o=R.InfiniteTimeout.instance,L){if(p.length===0||c.length=...
method constructor (line 19) | constructor(p,c){this.originalRange=p,this.modifiedRange=c}
method toString (line 19) | toString(){return`{${this.originalRange.toString()}->${this.modifiedRa...
method flip (line 19) | flip(){return new d(this.modifiedRange,this.originalRange)}
method constructor (line 20) | constructor(c){this._values=c,this._isValid=!1,this._validEndIndex=-1,...
method getTotalSum (line 20) | getTotalSum(){return this._ensureValid(),this._indexBySum.length}
method getPrefixSum (line 20) | getPrefixSum(c){return this._ensureValid(),c===0?0:this._prefixSum[c-1]}
method getIndexOf (line 20) | getIndexOf(c){this._ensureValid();const o=this._indexBySum[c],L=o>0?th...
method removeValues (line 20) | removeValues(c,o){this._values.splice(c,o),this._invalidate(c)}
method insertValues (line 20) | insertValues(c,o){this._values=(0,M.arrayInsert)(this._values,c,o),thi...
method _invalidate (line 20) | _invalidate(c){this._isValid=!1,this._validEndIndex=Math.min(this._val...
method _ensureValid (line 20) | _ensureValid(){if(!this._isValid){for(let c=this._validEndIndex+1,o=th...
method setValue (line 20) | setValue(c,o){this._values[c]!==o&&(this._values[c]=o,this._invalidate...
method constructor (line 20) | constructor(p,c,o,L){this._uri=p,this._lines=c,this._eol=o,this._versi...
method dispose (line 20) | dispose(){this._lines.length=0}
method version (line 20) | get version(){return this._versionId}
method getText (line 20) | getText(){return this._cachedTextValue===null&&(this._cachedTextValue=...
method onEvents (line 20) | onEvents(p){p.eol&&p.eol!==this._eol&&(this._eol=p.eol,this._lineStart...
method _ensureLineStarts (line 20) | _ensureLineStarts(){if(!this._lineStarts){const p=this._eol.length,c=t...
method _setLineText (line 20) | _setLineText(p,c){this._lines[p]=c,this._lineStarts&&this._lineStarts....
method _acceptDeleteRange (line 20) | _acceptDeleteRange(p){if(p.startLineNumber===p.endLineNumber){if(p.sta...
method _acceptInsertText (line 20) | _acceptInsertText(p,c){if(c.length===0)return;const o=(0,M.splitLines)...
method isResolved (line 24) | get isResolved(){return this._isResolved}
method constructor (line 24) | constructor(p,c,o){super(),this._registry=p,this._languageId=c,this._f...
method dispose (line 24) | dispose(){this._isDisposed=!0,super.dispose()}
method resolve (line 24) | async resolve(){return this._resolvePromise||(this._resolvePromise=thi...
method _create (line 24) | async _create(){const p=await this._factory.tokenizationSupport;this._...
function _ (line 8) | function _(c,o){if(o.__$__isRecorded)return o;const L=function(s){c.reco...
method constructor (line 8) | constructor(c,o,L,e,s=0){this._env=c,this._scriptLoader=o,this._loader...
method reset (line 8) | reset(){return new _(this._env,this._scriptLoader,this._defineFunc,thi...
method getGlobalAMDDefineFunc (line 8) | getGlobalAMDDefineFunc(){return this._defineFunc}
method getGlobalAMDRequireFunc (line 8) | getGlobalAMDRequireFunc(){return this._requireFunc}
method _findRelevantLocationInStack (line 8) | static _findRelevantLocationInStack(c,o){let L=l=>l.replace(/\\/g,"/")...
method getBuildInfo (line 8) | getBuildInfo(){if(!this._config.isBuild())return null;let c=[],o=0;for...
method getRecorder (line 8) | getRecorder(){return this._recorder||(this._config.shouldRecordStats()...
method getLoaderEvents (line 8) | getLoaderEvents(){return this.getRecorder().getEvents()}
method enqueueDefineAnonymousModule (line 8) | enqueueDefineAnonymousModule(c,o){if(this._currentAnonymousDefineCall!...
method defineModule (line 8) | defineModule(c,o,L,e,s,l=new t(c)){let u=this._moduleIdProvider.getMod...
method _normalizeDependency (line 8) | _normalizeDependency(c,o){if(c==="exports")return i.EXPORTS;if(c==="mo...
method _normalizeDependencies (line 8) | _normalizeDependencies(c,o){let L=[],e=0;for(let s=0,l=c.length;s<l;s+...
method _relativeRequire (line 8) | _relativeRequire(c,o,L,e){if(typeof o=="string")return this.synchronou...
method synchronousRequire (line 8) | synchronousRequire(c,o=new t(c)){let L=this._normalizeDependency(c,o),...
method configure (line 8) | configure(c,o){let L=this._config.shouldRecordStats();o?this._config=n...
method getConfig (line 8) | getConfig(){return this._config}
method _onLoad (line 8) | _onLoad(c){if(this._currentAnonymousDefineCall!==null){let o=this._cur...
method _createLoadError (line 8) | _createLoadError(c,o){let L=this._moduleIdProvider.getStrModuleId(c),e...
method _onLoadError (line 8) | _onLoadError(c,o){const L=this._createLoadError(c,o);this._modules2[c]...
method _hasDependencyPath (line 8) | _hasDependencyPath(c,o){let L=this._modules2[c];if(!L)return!1;let e=[...
method _findCyclePath (line 8) | _findCyclePath(c,o,L){if(c===o||L===50)return[c];let e=this._modules2[...
method _createRequire (line 8) | _createRequire(c){let o=(L,e,s)=>this._relativeRequire(c,L,e,s);return...
method _loadModule (line 8) | _loadModule(c){if(this._modules2[c]||this._knownModules2[c])return;thi...
method _loadPluginDependency (line 8) | _loadPluginDependency(c,o){if(this._modules2[o.id]||this._knownModules...
method _resolve (line 8) | _resolve(c){let o=c.dependencies;if(o)for(let L=0,e=o.length;L<e;L++){...
method _onModuleComplete (line 9) | _onModuleComplete(c){let o=this.getRecorder();if(c.isComplete())return...
method fromHex (line 11) | static fromHex(c){return _.Format.CSS.parseHex(c)||_.red}
method equals (line 11) | static equals(c,o){return!c&&!o?!0:!c||!o?!1:c.equals(o)}
method hsla (line 11) | get hsla(){return this._hsla?this._hsla:i.fromRGBA(this.rgba)}
method hsva (line 11) | get hsva(){return this._hsva?this._hsva:d.fromRGBA(this.rgba)}
method constructor (line 11) | constructor(c){if(c)if(c instanceof R)this.rgba=c;else if(c instanceof...
method equals (line 11) | equals(c){return!!c&&R.equals(this.rgba,c.rgba)&&i.equals(this.hsla,c....
method getRelativeLuminance (line 11) | getRelativeLuminance(){const c=_._relativeLuminanceForComponent(this.r...
method _relativeLuminanceForComponent (line 11) | static _relativeLuminanceForComponent(c){const o=c/255;return o<=.0392...
method isLighter (line 11) | isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e...
method isLighterThan (line 11) | isLighterThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLu...
method isDarkerThan (line 11) | isDarkerThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLum...
method lighten (line 11) | lighten(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l+this...
method darken (line 11) | darken(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l-this....
method transparent (line 11) | transparent(c){const{r:o,g:L,b:e,a:s}=this.rgba;return new _(new R(o,L...
method isTransparent (line 11) | isTransparent(){return this.rgba.a===0}
method isOpaque (line 11) | isOpaque(){return this.rgba.a===1}
method opposite (line 11) | opposite(){return new _(new R(255-this.rgba.r,255-this.rgba.g,255-this...
method makeOpaque (line 11) | makeOpaque(c){if(this.isOpaque()||c.rgba.a!==1)return this;const{r:o,g...
method toString (line 11) | toString(){return this._toString||(this._toString=_.Format.CSS.format(...
method getLighterColor (line 11) | static getLighterColor(c,o,L){if(c.isLighterThan(o))return c;L=L||.5;c...
method getDarkerColor (line 11) | static getDarkerColor(c,o,L){if(c.isDarkerThan(o))return c;L=L||.5;con...
method constructor (line 15) | constructor(s,l){if(this[M]="ResourceMap",s instanceof _)this.map=new ...
method set (line 15) | set(s,l){return this.map.set(this.toKey(s),new i(s,l)),this}
method get (line 15) | get(s){var l;return(l=this.map.get(this.toKey(s)))===null||l===void 0?...
method has (line 15) | has(s){return this.map.has(this.toKey(s))}
method size (line 15) | get size(){return this.map.size}
method clear (line 15) | clear(){this.map.clear()}
method delete (line 15) | delete(s){return this.map.delete(this.toKey(s))}
method forEach (line 15) | forEach(s,l){typeof l<"u"&&(s=s.bind(l));for(const[u,b]of this.map)s(b...
method values (line 15) | *values(){for(const s of this.map.values())yield s.value}
method keys (line 15) | *keys(){for(const s of this.map.values())yield s.uri}
method entries (line 15) | *entries(){for(const s of this.map.values())yield[s.uri,s.value]}
method constructor (line 17) | constructor(c){this._token=void 0,this._parentListener=void 0,this._pa...
method token (line 17) | get token(){return this._token||(this._token=new d),this._token}
method cancel (line 17) | cancel(){this._token?this._token instanceof d&&this._token.cancel():th...
method dispose (line 17) | dispose(c=!1){var o;c&&this.cancel(),(o=this._parentListener)===null||...
method Assert (line 17) | static Assert(e,s){if(!e)throw new Error(s)}
method fromRangeInclusive (line 17) | static fromRangeInclusive(o){return new _(o.startLineNumber,o.endLineN...
method joinMany (line 17) | static joinMany(o){if(o.length===0)return[];let L=new p(o[0].slice());...
method ofLength (line 17) | static ofLength(o,L){return new _(o,o+L)}
method deserialize (line 17) | static deserialize(o){return new _(o[0],o[1])}
method constructor (line 17) | constructor(o,L){if(o>L)throw new M.BugIndicatingError(`startLineNumbe...
method contains (line 17) | contains(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method isEmpty (line 17) | get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}
method delta (line 17) | delta(o){return new _(this.startLineNumber+o,this.endLineNumberExclusi...
method deltaLength (line 17) | deltaLength(o){return new _(this.startLineNumber,this.endLineNumberExc...
method length (line 17) | get length(){return this.endLineNumberExclusive-this.startLineNumber}
method join (line 17) | join(o){return new _(Math.min(this.startLineNumber,o.startLineNumber),...
method toString (line 17) | toString(){return`[${this.startLineNumber},${this.endLineNumberExclusi...
method intersect (line 17) | intersect(o){const L=Math.max(this.startLineNumber,o.startLineNumber),...
method intersectsStrict (line 17) | intersectsStrict(o){return this.startLineNumber<o.endLineNumberExclusi...
method overlapOrTouch (line 17) | overlapOrTouch(o){return this.startLineNumber<=o.endLineNumberExclusiv...
method equals (line 17) | equals(o){return this.startLineNumber===o.startLineNumber&&this.endLin...
method toInclusiveRange (line 17) | toInclusiveRange(){return this.isEmpty?null:new i.Range(this.startLine...
method toExclusiveRange (line 17) | toExclusiveRange(){return new i.Range(this.startLineNumber,1,this.endL...
method mapToLineArray (line 17) | mapToLineArray(o){const L=[];for(let e=this.startLineNumber;e<this.end...
method forEach (line 17) | forEach(o){for(let L=this.startLineNumber;L<this.endLineNumberExclusiv...
method serialize (line 17) | serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}
method includes (line 17) | includes(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method toOffsetRange (line 17) | toOffsetRange(){return new R.OffsetRange(this.startLineNumber-1,this.e...
method invert (line 17) | static invert(e,s){const l=[];return(0,M.forEachAdjacent)(e,(u,b)=>{l....
method fromOffsetPairs (line 17) | static fromOffsetPairs(e,s){return new _(new i.OffsetRange(e.offset1,s...
method constructor (line 17) | constructor(e,s){this.seq1Range=e,this.seq2Range=s}
method swap (line 17) | swap(){return new _(this.seq2Range,this.seq1Range)}
method toString (line 17) | toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}
method join (line 17) | join(e){return new _(this.seq1Range.join(e.seq1Range),this.seq2Range.j...
method delta (line 17) | delta(e){return e===0?this:new _(this.seq1Range.delta(e),this.seq2Rang...
method deltaStart (line 17) | deltaStart(e){return e===0?this:new _(this.seq1Range.deltaStart(e),thi...
method deltaEnd (line 17) | deltaEnd(e){return e===0?this:new _(this.seq1Range.deltaEnd(e),this.se...
method intersect (line 17) | intersect(e){const s=this.seq1Range.intersect(e.seq1Range),l=this.seq2...
method getStarts (line 17) | getStarts(){return new p(this.seq1Range.start,this.seq2Range.start)}
method getEndExclusives (line 17) | getEndExclusives(){return new p(this.seq1Range.endExclusive,this.seq2R...
method constructor (line 17) | constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new...
method get (line 17) | get(o){return o<0?(o=-o-1,this.negativeArr[o]):this.positiveArr[o]}
method set (line 17) | set(o,L){if(o<0){if(o=-o-1,o>=this.negativeArr.length){const e=this.ne...
method constructor (line 20) | constructor(c,o){this.index=c,this.remainder=o,this._prefixSumIndexOfR...
function p (line 8) | function p(c){return new t(c)}
method constructor (line 15) | constructor(){this[R]="LinkedMap",this._map=new Map,this._head=void 0,...
method clear (line 15) | clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._si...
method isEmpty (line 15) | isEmpty(){return!this._head&&!this._tail}
method size (line 15) | get size(){return this._size}
method first (line 15) | get first(){var s;return(s=this._head)===null||s===void 0?void 0:s.value}
method last (line 15) | get last(){var s;return(s=this._tail)===null||s===void 0?void 0:s.value}
method has (line 15) | has(s){return this._map.has(s)}
method get (line 15) | get(s,l=0){const u=this._map.get(s);if(u)return l!==0&&this.touch(u,l)...
method set (line 15) | set(s,l,u=0){let b=this._map.get(s);if(b)b.value=l,u!==0&&this.touch(b...
method delete (line 15) | delete(s){return!!this.remove(s)}
method remove (line 15) | remove(s){const l=this._map.get(s);if(l)return this._map.delete(s),thi...
method shift (line 15) | shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail...
method forEach (line 15) | forEach(s,l){const u=this._state;let b=this._head;for(;b;){if(l?s.bind...
method keys (line 15) | keys(){const s=this,l=this._state;let u=this._head;const b={[Symbol.it...
method values (line 15) | values(){const s=this,l=this._state;let u=this._head;const b={[Symbol....
method entries (line 15) | entries(){const s=this,l=this._state;let u=this._head;const b={[Symbol...
method trimOld (line 15) | trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let l=...
method addItemFirst (line 15) | addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this....
method addItemLast (line 15) | addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._...
method removeItem (line 15) | removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this...
method touch (line 15) | touch(s,l){if(!this._head||!this._tail)throw new Error("Invalid list")...
method toJSON (line 15) | toJSON(){const s=[];return this.forEach((l,u)=>{s.push([u,l])}),s}
method fromJSON (line 15) | fromJSON(s){this.clear();for(const[l,u]of s)this.set(l,u)}
method Copy (line 17) | static Copy(e,s,l,u,b){for(let f=0;f<b;f++)l[u+f]=e[s+f]}
method Copy2 (line 17) | static Copy2(e,s,l,u,b){for(let f=0;f<b;f++)l[u+f]=e[s+f]}
method constructor (line 17) | constructor(o=[]){this._normalizedRanges=o}
method ranges (line 17) | get ranges(){return this._normalizedRanges}
method addRange (line 17) | addRange(o){if(o.length===0)return;const L=(0,d.findFirstIdxMonotonous...
method contains (line 17) | contains(o){const L=(0,d.findLastMonotonous)(this._normalizedRanges,e=...
method intersects (line 17) | intersects(o){const L=(0,d.findLastMonotonous)(this._normalizedRanges,...
method getUnion (line 17) | getUnion(o){if(this._normalizedRanges.length===0)return o;if(o._normal...
method subtractFrom (line 17) | subtractFrom(o){const L=(0,d.findFirstIdxMonotonousOrArrLen)(this._nor...
method toString (line 17) | toString(){return this._normalizedRanges.map(o=>o.toString()).join(", ")}
method getIntersection (line 17) | getIntersection(o){const L=[];let e=0,s=0;for(;e<this._normalizedRange...
method getWithDelta (line 17) | getWithDelta(o){return new p(this._normalizedRanges.map(L=>L.delta(o)))}
method constructor (line 17) | constructor(e,s){this.offset1=e,this.offset2=s}
method toString (line 17) | toString(){return`${this.offset1} <-> ${this.offset2}`}
method delta (line 17) | delta(e){return e===0?this:new p(this.offset1+e,this.offset2+e)}
method equals (line 17) | equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}
method constructor (line 17) | constructor(){this.positiveArr=[],this.negativeArr=[]}
method get (line 17) | get(o){return o<0?(o=-o-1,this.negativeArr[o]):this.positiveArr[o]}
method set (line 17) | set(o,L){o<0?(o=-o-1,this.negativeArr[o]=L):this.positiveArr[o]=L}
method constructor (line 19) | constructor(l,u,b){this.lines=l,this.considerWhitespaceChanges=b,this....
method toString (line 19) | toString(){return`Slice: "${this.text}"`}
method text (line 19) | get text(){return this.getText(new R.OffsetRange(0,this.length))}
method getText (line 19) | getText(l){return this.elements.slice(l.start,l.endExclusive).map(u=>S...
method getElement (line 19) | getElement(l){return this.elements[l]}
method length (line 19) | get length(){return this.elements.length}
method getBoundaryScore (line 19) | getBoundaryScore(l){const u=e(l>0?this.elements[l-1]:-1),b=e(l<this.el...
method translateOffset (line 19) | translateOffset(l){if(this.lineRange.isEmpty)return new i.Position(thi...
method translateRange (line 19) | translateRange(l){return d.Range.fromPositions(this.translateOffset(l....
method findWordContaining (line 19) | findWordContaining(l){if(l<0||l>=this.elements.length||!c(this.element...
method countLinesIn (line 19) | countLinesIn(l){return this.translateOffset(l.endExclusive).lineNumber...
method isStronglyEqual (line 19) | isStronglyEqual(l,u){return this.elements[l]===this.elements[u]}
method extendToFullLines (line 19) | extendToFullLines(l){var u,b;const f=(u=(0,M.findLastMonotonous)(this....
method originalIndentSize (line 20) | get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":th...
method constructor (line 20) | constructor(b){this._textModelResolvedOptionsBrand=void 0,this.tabSize...
method equals (line 20) | equals(b){return this.tabSize===b.tabSize&&this._indentSizeIsTabSize==...
method createChangeEvent (line 20) | createChangeEvent(b){return{tabSize:this.tabSize!==b.tabSize,indentSiz...
method computeUnicodeHighlights (line 23) | static computeUnicodeHighlights(s,l,u){const b=u?u.startLineNumber:1,f...
method computeUnicodeHighlightReason (line 23) | static computeUnicodeHighlightReason(s,l){const u=new o(l);switch(u.sh...
method constructor (line 24) | constructor(h,v,N){this.offset=h,this.type=v,this.language=N,this._tok...
method toString (line 24) | toString(){return"("+this.offset+", "+this.type+")"}
class t (line 8) | class t{constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePa...
method isWindows (line 6) | get isWindows(){return this._detect(),this._isWindows}
method isNode (line 6) | get isNode(){return this._detect(),this._isNode}
method isElectronRenderer (line 6) | get isElectronRenderer(){return this._detect(),this._isElectronRenderer}
method isWebWorker (line 6) | get isWebWorker(){return this._detect(),this._isWebWorker}
method isElectronNodeIntegrationWebWorker (line 6) | get isElectronNodeIntegrationWebWorker(){return this._detect(),this._i...
method constructor (line 6) | constructor(){this._detected=!1,this._isWindows=!1,this._isNode=!1,thi...
method _detect (line 6) | _detect(){this._detected||(this._detected=!0,this._isWindows=t._isWind...
method _isWindows (line 6) | static _isWindows(){return typeof navigator<"u"&&navigator.userAgent&&...
method constructor (line 6) | constructor(d,_,p){this.type=d,this.detail=_,this.timestamp=p}
method fileUriToFilePath (line 6) | static fileUriToFilePath(R,i){if(i=decodeURI(i).replace(/%23/g,"#"),R)...
method startsWith (line 6) | static startsWith(R,i){return R.length>=i.length&&R.substr(0,i.length)...
method endsWith (line 6) | static endsWith(R,i){return R.length>=i.length&&R.substr(R.length-i.le...
method containsQueryString (line 6) | static containsQueryString(R){return/^[^\#]*\?/gi.test(R)}
method isAbsolutePath (line 6) | static isAbsolutePath(R){return/^((http:\/\/)|(https:\/\/)|(file:\/\/)...
method forEachProperty (line 6) | static forEachProperty(R,i){if(R){let d;for(d in R)R.hasOwnProperty(d)...
method isEmpty (line 6) | static isEmpty(R){let i=!0;return t.forEachProperty(R,()=>{i=!1}),i}
method recursiveClone (line 6) | static recursiveClone(R){if(!R||typeof R!="object"||R instanceof RegEx...
method generateAnonymousModule (line 6) | static generateAnonymousModule(){return"===anonymous"+t.NEXT_ANONYMOUS...
method isAnonymousModule (line 6) | static isAnonymousModule(R){return t.startsWith(R,"===anonymous")}
method getHighPerformanceTimestamp (line 6) | static getHighPerformanceTimestamp(){return this.PERFORMANCE_NOW_PROBE...
method constructor (line 6) | constructor(o){this._env=o,this._scriptLoader=null,this._callbackMap={}}
method load (line 6) | load(o,L,e,s){if(!this._scriptLoader)if(this._env.isWebWorker)this._sc...
method triggerCallback (line 6) | triggerCallback(o){let L=this._callbackMap[o];delete this._callbackMap...
method triggerErrorback (line 6) | triggerErrorback(o,L){let e=this._callbackMap[o];delete this._callback...
method constructor (line 8) | constructor(c){let o=c.lastIndexOf("/");o!==-1?this.fromModulePath=c.s...
method _normalizeModuleId (line 8) | static _normalizeModuleId(c){let o=c,L;for(L=/\/\.\//;L.test(o);)o=o.r...
method resolveModule (line 8) | resolveModule(c){let o=c;return q.Utilities.isAbsolutePath(o)||(q.Util...
class M (line 8) | class M{constructor(c,o,L,e,s,l){this.id=c,this.strId=o,this.dependencie...
method constructor (line 6) | constructor(d){this._events=[new t(1,"",d)]}
method record (line 6) | record(d,_){this._events.push(new t(d,_,q.Utilities.getHighPerformance...
method getEvents (line 6) | getEvents(){return this._events}
method validateConfigurationOptions (line 6) | static validateConfigurationOptions(d){function _(p){if(p.phase==="loa...
method mergeConfigurationOptions (line 6) | static mergeConfigurationOptions(d=null,_=null){let p=q.Utilities.recu...
method attachListeners (line 6) | attachListeners(o,L,e){let s=()=>{o.removeEventListener("load",l),o.re...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){let l=o.getConfig().getOptionsLite...
method constructor (line 8) | constructor(c,o,L,e,s,l){this.id=c,this.strId=o,this.dependencies=L,th...
method _safeInvokeFunction (line 8) | static _safeInvokeFunction(c,o){try{return{returnedValue:c.apply(q.glo...
method _invokeFactory (line 8) | static _invokeFactory(c,o,L,e){return c.shouldInvokeFactory(o)?c.shoul...
method complete (line 8) | complete(c,o,L,e){this._isComplete=!0;let s=null;if(this._callback)if(...
method onDependencyError (line 8) | onDependencyError(c){return this._isComplete=!0,this.error=c,this._err...
method isComplete (line 8) | isComplete(){return this._isComplete}
method constructor (line 11) | constructor(d){this.fn=d,this.lastCache=void 0,this.lastArgKey=void 0}
method get (line 11) | get(d){const _=JSON.stringify(d);return this.lastArgKey!==_&&(this.las...
method constructor (line 11) | constructor(i,d,_,p){this.originalStart=i,this.originalLength=d,this.m...
method getOriginalEnd (line 11) | getOriginalEnd(){return this.originalStart+this.originalLength}
method getModifiedEnd (line 11) | getModifiedEnd(){return this.modifiedStart+this.modifiedLength}
method constructor (line 11) | constructor(){this.listeners=[],this.unexpectedErrorHandler=function(f...
method emit (line 15) | emit(f){this.listeners.forEach(y=>{y(f)})}
method onUnexpectedError (line 15) | onUnexpectedError(f){this.unexpectedErrorHandler(f),this.emit(f)}
method onUnexpectedExternalError (line 15) | onUnexpectedExternalError(f){this.unexpectedErrorHandler(f)}
method constructor (line 15) | constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(n...
method define (line 15) | define(s,l){this._keyCodeToStr[s]=l,this._strToKeyCode[l.toLowerCase()...
method keyCodeToStr (line 15) | keyCodeToStr(s){return this._keyCodeToStr[s]}
method strToKeyCode (line 15) | strToKeyCode(s){return this._strToKeyCode[s.toLowerCase()]||0}
method constructor (line 15) | constructor(i){this.executor=i,this._didRun=!1}
method value (line 15) | get value(){if(!this._didRun)try{this._value=this.executor()}catch(i){...
method rawValue (line 15) | get rawValue(){return this._value}
method constructor (line 15) | constructor(d){this.element=d,this.next=M.Undefined,this.prev=M.Undefi...
method constructor (line 17) | constructor(i,d){this.lineNumber=i,this.column=d}
method with (line 17) | with(i=this.lineNumber,d=this.column){return i===this.lineNumber&&d===...
method delta (line 17) | delta(i=0,d=0){return this.with(this.lineNumber+i,this.column+d)}
method equals (line 17) | equals(i){return M.equals(this,i)}
method equals (line 17) | static equals(i,d){return!i&&!d?!0:!!i&&!!d&&i.lineNumber===d.lineNumb...
method isBefore (line 17) | isBefore(i){return M.isBefore(this,i)}
method isBefore (line 17) | static isBefore(i,d){return i.lineNumber<d.lineNumber?!0:d.lineNumber<...
method isBeforeOrEqual (line 17) | isBeforeOrEqual(i){return M.isBeforeOrEqual(this,i)}
method isBeforeOrEqual (line 17) | static isBeforeOrEqual(i,d){return i.lineNumber<d.lineNumber?!0:d.line...
method compare (line 17) | static compare(i,d){const _=i.lineNumber|0,p=d.lineNumber|0;if(_===p){...
method clone (line 17) | clone(){return new M(this.lineNumber,this.column)}
method toString (line 17) | toString(){return"("+this.lineNumber+","+this.column+")"}
method lift (line 17) | static lift(i){return new M(i.lineNumber,i.column)}
method isIPosition (line 17) | static isIPosition(i){return i&&typeof i.lineNumber=="number"&&typeof ...
method toJSON (line 17) | toJSON(){return{lineNumber:this.lineNumber,column:this.column}}
method constructor (line 17) | constructor(d,_){this.trimmedHash=d,this.lines=_}
method getElement (line 17) | getElement(d){return this.trimmedHash[d]}
method length (line 17) | get length(){return this.trimmedHash.length}
method getBoundaryScore (line 17) | getBoundaryScore(d){const _=d===0?0:R(this.lines[d-1]),p=d===this.line...
method getText (line 17) | getText(d){return this.lines.slice(d.start,d.endExclusive).join(`
method isStronglyEqual (line 18) | isStronglyEqual(d,_){return this.lines[d]===this.lines[_]}
method constructor (line 18) | constructor(_,p){this.width=_,this.height=p,this.array=[],this.array=n...
method get (line 18) | get(_,p){return this.array[_+p*this.width]}
method set (line 18) | set(_,p,c){this.array[_+p*this.width]=c}
method constructor (line 19) | constructor(d,_,p){this.changes=d,this.moves=_,this.hitTimeout=p}
method constructor (line 20) | constructor(){this._defaultValueSet=[["true","false"],["True","False"]...
method navigateValueSet (line 20) | navigateValueSet(i,d,_,p,c){if(i&&d){const o=this.doNavigateValueSet(d...
method doNavigateValueSet (line 20) | doNavigateValueSet(i,d){const _=this.numberReplace(i,d);return _!==nul...
method numberReplace (line 20) | numberReplace(i,d){const _=Math.pow(10,i.length-(i.lastIndexOf(".")+1)...
method textReplace (line 20) | textReplace(i,d){return this.valueSetsReplace(this._defaultValueSet,i,d)}
method valueSetsReplace (line 20) | valueSetsReplace(i,d,_){let p=null;for(let c=0,o=i.length;p===null&&c<...
method valueSetReplace (line 20) | valueSetReplace(i,d,_){let p=i.indexOf(d);return p>=0?(p+=_?1:-1,p<0?p...
class R (line 8) | class R{constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new ...
method record (line 6) | record(d,_){}
method getEvents (line 6) | getEvents(){return[]}
method constructor (line 6) | constructor(d,_){if(this._env=d,this.options=M.mergeConfigurationOptio...
method _createIgnoreDuplicateModulesMap (line 6) | _createIgnoreDuplicateModulesMap(){this.ignoreDuplicateModulesMap={};f...
method _createSortedPathsRules (line 6) | _createSortedPathsRules(){this.sortedPathsRules=[],q.Utilities.forEach...
method cloneAndMerge (line 6) | cloneAndMerge(d){return new R(this._env,M.mergeConfigurationOptions(d,...
method getOptionsLiteral (line 6) | getOptionsLiteral(){return this.options}
method _applyPaths (line 6) | _applyPaths(d){let _;for(let p=0,c=this.sortedPathsRules.length;p<c;p+...
method _addUrlArgsToUrl (line 6) | _addUrlArgsToUrl(d){return q.Utilities.containsQueryString(d)?d+"&"+th...
method _addUrlArgsIfNecessaryToUrl (line 6) | _addUrlArgsIfNecessaryToUrl(d){return this.options.urlArgs?this._addUr...
method _addUrlArgsIfNecessaryToUrls (line 6) | _addUrlArgsIfNecessaryToUrls(d){if(this.options.urlArgs)for(let _=0,p=...
method moduleIdToPaths (line 6) | moduleIdToPaths(d){if(this._env.isNode&&this.options.amdModulesPattern...
method requireToUrl (line 6) | requireToUrl(d){let _=d;return q.Utilities.isAbsolutePath(_)||(_=this....
method isBuild (line 6) | isBuild(){return this.options.isBuild}
method shouldInvokeFactory (line 6) | shouldInvokeFactory(d){return!!(!this.options.isBuild||q.Utilities.isA...
method isDuplicateMessageIgnoredFor (line 6) | isDuplicateMessageIgnoredFor(d){return this.ignoreDuplicateModulesMap....
method getConfigForModule (line 6) | getConfigForModule(d){if(this.options.config)return this.options.confi...
method shouldCatchError (line 6) | shouldCatchError(){return this.options.catchError}
method shouldRecordStats (line 6) | shouldRecordStats(){return this.options.recordStats}
method onError (line 6) | onError(d){this.options.onError(d)}
method constructor (line 8) | constructor(){this._nextId=0,this._strModuleIdToIntModuleId=new Map,th...
method getMaxModuleId (line 8) | getMaxModuleId(){return this._nextId}
method getModuleId (line 8) | getModuleId(c){let o=this._strModuleIdToIntModuleId.get(c);return type...
method getStrModuleId (line 8) | getStrModuleId(c){return this._intModuleIdToStrModuleId[c]}
method cachedValues (line 11) | get cachedValues(){return this._map}
method constructor (line 11) | constructor(d){this.fn=d,this._map=new Map}
method get (line 11) | get(d){if(this._map.has(d))return this._map.get(d);const _=this.fn(d);...
method constructor (line 11) | constructor(c,o,L,e=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math...
method equals (line 11) | static equals(c,o){return c.r===o.r&&c.g===o.g&&c.b===o.b&&c.a===o.a}
method constructor (line 15) | constructor(){this._first=M.Undefined,this._last=M.Undefined,this._siz...
method size (line 15) | get size(){return this._size}
method isEmpty (line 15) | isEmpty(){return this._first===M.Undefined}
method clear (line 15) | clear(){let d=this._first;for(;d!==M.Undefined;){const _=d.next;d.prev...
method unshift (line 15) | unshift(d){return this._insert(d,!1)}
method push (line 15) | push(d){return this._insert(d,!0)}
method _insert (line 15) | _insert(d,_){const p=new M(d);if(this._first===M.Undefined)this._first...
method shift (line 15) | shift(){if(this._first!==M.Undefined){const d=this._first.element;retu...
method pop (line 15) | pop(){if(this._last!==M.Undefined){const d=this._last.element;return t...
method _remove (line 15) | _remove(d){if(d.prev!==M.Undefined&&d.next!==M.Undefined){const _=d.pr...
method create (line 15) | static create(d){return new R(d)}
method constructor (line 15) | constructor(d){this._now=M&&d===!1?Date.now:globalThis.performance.now...
method stop (line 15) | stop(){this._stopTime=this._now()}
method elapsed (line 15) | elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:th...
method constructor (line 17) | constructor(_){const p=(0,M.toUint8)(_);this._defaultValue=p,this._asc...
method _createAsciiMap (line 17) | static _createAsciiMap(_){const p=new Uint8Array(256);return p.fill(_),p}
method set (line 17) | set(_,p){const c=(0,M.toUint8)(p);_>=0&&_<256?this._asciiMap[_]=c:this...
method get (line 17) | get(_){return _>=0&&_<256?this._asciiMap[_]:this._map.get(_)||this._de...
method clear (line 17) | clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}
method addRange (line 17) | static addRange(_,p){let c=0;for(;c<p.length&&p[c].endExclusive<_.star...
method ofLength (line 17) | static ofLength(_){return new R(0,_)}
method ofStartAndLength (line 17) | static ofStartAndLength(_,p){return new R(_,_+p)}
method constructor (line 17) | constructor(_,p){if(this.start=_,this.endExclusive=p,_>p)throw new M.B...
method isEmpty (line 17) | get isEmpty(){return this.start===this.endExclusive}
method delta (line 17) | delta(_){return new R(this.start+_,this.endExclusive+_)}
method deltaStart (line 17) | deltaStart(_){return new R(this.start+_,this.endExclusive)}
method deltaEnd (line 17) | deltaEnd(_){return new R(this.start,this.endExclusive+_)}
method length (line 17) | get length(){return this.endExclusive-this.start}
method toString (line 17) | toString(){return`[${this.start}, ${this.endExclusive})`}
method contains (line 17) | contains(_){return this.start<=_&&_<this.endExclusive}
method join (line 17) | join(_){return new R(Math.min(this.start,_.start),Math.max(this.endExc...
method intersect (line 17) | intersect(_){const p=Math.max(this.start,_.start),c=Math.min(this.endE...
method intersects (line 17) | intersects(_){const p=Math.max(this.start,_.start),c=Math.min(this.end...
method isBefore (line 17) | isBefore(_){return this.endExclusive<=_.start}
method isAfter (line 17) | isAfter(_){return this.start>=_.endExclusive}
method slice (line 17) | slice(_){return _.slice(this.start,this.endExclusive)}
method clip (line 17) | clip(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid clippi...
method clipCyclic (line 17) | clipCyclic(_){if(this.isEmpty)throw new M.BugIndicatingError(`Invalid ...
method forEach (line 17) | forEach(_){for(let p=this.start;p<this.endExclusive;p++)_(p)}
method constructor (line 17) | constructor(d,_,p,c){d>p||d===p&&_>c?(this.startLineNumber=p,this.star...
method isEmpty (line 17) | isEmpty(){return R.isEmpty(this)}
method isEmpty (line 17) | static isEmpty(d){return d.startLineNumber===d.endLineNumber&&d.startC...
method containsPosition (line 17) | containsPosition(d){return R.containsPosition(this,d)}
method containsPosition (line 17) | static containsPosition(d,_){return!(_.lineNumber<d.startLineNumber||_...
method strictContainsPosition (line 17) | static strictContainsPosition(d,_){return!(_.lineNumber<d.startLineNum...
method containsRange (line 17) | containsRange(d){return R.containsRange(this,d)}
method containsRange (line 17) | static containsRange(d,_){return!(_.startLineNumber<d.startLineNumber|...
method strictContainsRange (line 17) | strictContainsRange(d){return R.strictContainsRange(this,d)}
method strictContainsRange (line 17) | static strictContainsRange(d,_){return!(_.startLineNumber<d.startLineN...
method plusRange (line 17) | plusRange(d){return R.plusRange(this,d)}
method plusRange (line 17) | static plusRange(d,_){let p,c,o,L;return _.startLineNumber<d.startLine...
method intersectRanges (line 17) | intersectRanges(d){return R.intersectRanges(this,d)}
method intersectRanges (line 17) | static intersectRanges(d,_){let p=d.startLineNumber,c=d.startColumn,o=...
method equalsRange (line 17) | equalsRange(d){return R.equalsRange(this,d)}
method equalsRange (line 17) | static equalsRange(d,_){return!d&&!_?!0:!!d&&!!_&&d.startLineNumber===...
method getEndPosition (line 17) | getEndPosition(){return R.getEndPosition(this)}
method getEndPosition (line 17) | static getEndPosition(d){return new M.Position(d.endLineNumber,d.endCo...
method getStartPosition (line 17) | getStartPosition(){return R.getStartPosition(this)}
method getStartPosition (line 17) | static getStartPosition(d){return new M.Position(d.startLineNumber,d.s...
method toString (line 17) | toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+...
method setEndPosition (line 17) | setEndPosition(d,_){return new R(this.startLineNumber,this.startColumn...
method setStartPosition (line 17) | setStartPosition(d,_){return new R(d,_,this.endLineNumber,this.endColu...
method collapseToStart (line 17) | collapseToStart(){return R.collapseToStart(this)}
method collapseToStart (line 17) | static collapseToStart(d){return new R(d.startLineNumber,d.startColumn...
method collapseToEnd (line 17) | collapseToEnd(){return R.collapseToEnd(this)}
method collapseToEnd (line 17) | static collapseToEnd(d){return new R(d.endLineNumber,d.endColumn,d.end...
method delta (line 17) | delta(d){return new R(this.startLineNumber+d,this.startColumn,this.end...
method fromPositions (line 17) | static fromPositions(d,_=d){return new R(d.lineNumber,d.column,_.lineN...
method lift (line 17) | static lift(d){return d?new R(d.startLineNumber,d.startColumn,d.endLin...
method isIRange (line 17) | static isIRange(d){return d&&typeof d.startLineNumber=="number"&&typeo...
method areIntersectingOrTouching (line 17) | static areIntersectingOrTouching(d,_){return!(d.endLineNumber<_.startL...
method areIntersecting (line 17) | static areIntersecting(d,_){return!(d.endLineNumber<_.startLineNumber|...
method compareRangesUsingStarts (line 17) | static compareRangesUsingStarts(d,_){if(d&&_){const o=d.startLineNumbe...
method compareRangesUsingEnds (line 17) | static compareRangesUsingEnds(d,_){return d.endLineNumber===_.endLineN...
method spansMultipleLines (line 17) | static spansMultipleLines(d){return d.endLineNumber>d.startLineNumber}
method toJSON (line 17) | toJSON(){return this}
method constructor (line 17) | constructor(_){super(0);for(let p=0,c=_.length;p<c;p++)this.set(_.char...
method constructor (line 19) | constructor(d,_){this.lineRangeMapping=d,this.changes=_}
method inverse (line 19) | static inverse(p,c,o){const L=[];let e=1,s=1;for(const u of p){const b...
method clip (line 19) | static clip(p,c,o){const L=[];for(const e of p){const s=e.original.int...
method constructor (line 19) | constructor(p,c){this.original=p,this.modified=c}
method toString (line 19) | toString(){return`{${this.original.toString()}->${this.modified.toStri...
method flip (line 19) | flip(){return new R(this.modified,this.original)}
method join (line 19) | join(p){return new R(this.original.join(p.original),this.modified.join...
method constructor (line 20) | constructor(s,l,u){const b=new Uint8Array(s*l);for(let f=0,y=s*l;f<y;f...
method get (line 20) | get(s,l){return this._data[s*this.cols+l]}
method set (line 20) | set(s,l,u){this._data[s*this.cols+l]=u}
class i (line 8) | class i{constructor(c){this.id=c}}
method constructor (line 6) | constructor(){this._cachedCanUseEval=null}
method _canUseEval (line 6) | _canUseEval(o){return this._cachedCanUseEval===null&&(this._cachedCanU...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){const l=o.getConfig().getOptionsLi...
method constructor (line 8) | constructor(c){this.id=c}
method constructor (line 11) | constructor(c,o,L,e){this._hslaBrand=void 0,this.h=Math.max(Math.min(3...
method equals (line 11) | static equals(c,o){return c.h===o.h&&c.s===o.s&&c.l===o.l&&c.a===o.a}
method fromRGBA (line 11) | static fromRGBA(c){const o=c.r/255,L=c.g/255,e=c.b/255,s=c.a,l=Math.ma...
method _hue2rgb (line 11) | static _hue2rgb(c,o,L){return L<0&&(L+=1),L>1&&(L-=1),L<1/6?c+(o-c)*6*...
method toRGBA (line 11) | static toRGBA(c){const o=c.h/360,{s:L,l:e,a:s}=c;let l,u,b;if(L===0)l=...
method constructor (line 15) | constructor(s,l){this.uri=s,this.value=l}
method constructor (line 17) | constructor(e){this.source=e}
method getElements (line 17) | getElements(){const e=this.source,s=new Int32Array(e.length);for(let l...
method constructor (line 17) | constructor(){this._actual=new R(0)}
method add (line 17) | add(_){this._actual.set(_,1)}
method has (line 17) | has(_){return this._actual.get(_)===1}
method clear (line 17) | clear(){return this._actual.clear()}
method constructor (line 17) | constructor(){this._sortedRanges=[]}
method addRange (line 17) | addRange(_){let p=0;for(;p<this._sortedRanges.length&&this._sortedRang...
method toString (line 17) | toString(){return this._sortedRanges.map(_=>_.toString()).join(", ")}
method intersectsStrict (line 17) | intersectsStrict(_){let p=0;for(;p<this._sortedRanges.length&&this._so...
method intersectWithRange (line 17) | intersectWithRange(_){const p=new i;for(const c of this._sortedRanges)...
method intersectWithRangeLength (line 17) | intersectWithRangeLength(_){return this.intersectWithRange(_).length}
method length (line 17) | get length(){return this._sortedRanges.reduce((_,p)=>_+p.length,0)}
method constructor (line 17) | constructor(_,p,c,o){super(_,p,c,o),this.selectionStartLineNumber=_,th...
method toString (line 17) | toString(){return"["+this.selectionStartLineNumber+","+this.selectionS...
method equalsSelection (line 17) | equalsSelection(_){return i.selectionsEqual(this,_)}
method selectionsEqual (line 17) | static selectionsEqual(_,p){return _.selectionStartLineNumber===p.sele...
method getDirection (line 17) | getDirection(){return this.selectionStartLineNumber===this.startLineNu...
method setEndPosition (line 17) | setEndPosition(_,p){return this.getDirection()===0?new i(this.startLin...
method getPosition (line 17) | getPosition(){return new M.Position(this.positionLineNumber,this.posit...
method getSelectionStart (line 17) | getSelectionStart(){return new M.Position(this.selectionStartLineNumbe...
method setStartPosition (line 17) | setStartPosition(_,p){return this.getDirection()===0?new i(_,p,this.en...
method fromPositions (line 17) | static fromPositions(_,p=_){return new i(_.lineNumber,_.column,p.lineN...
method fromRange (line 17) | static fromRange(_,p){return p===0?new i(_.startLineNumber,_.startColu...
method liftSelection (line 17) | static liftSelection(_){return new i(_.selectionStartLineNumber,_.sele...
method selectionsArrEqual (line 17) | static selectionsArrEqual(_,p){if(_&&!p||!_&&p)return!1;if(!_&&!p)retu...
method isISelection (line 17) | static isISelection(_){return _&&typeof _.selectionStartLineNumber=="n...
method createWithDirection (line 17) | static createWithDirection(_,p,c,o,L){return L===0?new i(_,p,c,o):new ...
method compute (line 17) | compute(o,L,e=R.InfiniteTimeout.instance){if(o.length===0||L.length===...
method getKey (line 18) | static getKey(_){let p=this.chrKeys.get(_);return p===void 0&&(p=this....
method constructor (line 18) | constructor(_,p,c){this.range=_,this.lines=p,this.source=c,this.histog...
method computeSimilarity (line 19) | computeSimilarity(_){var p,c;let o=0;const L=Math.max(this.histogram.l...
method constructor (line 19) | constructor(p,c,o){super(p,c),this.innerChanges=o}
method flip (line 19) | flip(){var p;return new i(this.modified,this.original,(p=this.innerCha...
method constructor (line 20) | constructor(s){let l=0,u=0;for(let f=0,y=s.length;f<y;f++){const[w,E,S...
method nextState (line 20) | nextState(s,l){return l<0||l>=this._maxCharCode?0:this._states.get(s,l)}
method constructor (line 20) | constructor(c){this.values=c,this.prefixSum=new Uint32Array(c.length),...
method insertValues (line 20) | insertValues(c,o){c=(0,R.toUint32)(c);const L=this.values,e=this.prefi...
method setValue (line 20) | setValue(c,o){return c=(0,R.toUint32)(c),o=(0,R.toUint32)(o),this.valu...
method removeValues (line 20) | removeValues(c,o){c=(0,R.toUint32)(c),o=(0,R.toUint32)(o);const L=this...
method getTotalSum (line 20) | getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this....
method getPrefixSum (line 20) | getPrefixSum(c){return c<0?0:(c=(0,R.toUint32)(c),this._getPrefixSum(c))}
method _getPrefixSum (line 20) | _getPrefixSum(c){if(c<=this.prefixSumValidIndex[0])return this.prefixS...
method getIndexOf (line 20) | getIndexOf(c){c=Math.floor(c),this.getTotalSum();let o=0,L=this.values...
method constructor (line 24) | constructor(){this._tokenizationSupports=new Map,this._factories=new M...
method handleChange (line 24) | handleChange(p){this._onDidChange.fire({changedLanguages:p,changedColo...
method register (line 24) | register(p,c){return this._tokenizationSupports.set(p,c),this.handleCh...
method get (line 24) | get(p){return this._tokenizationSupports.get(p)||null}
method registerFactory (line 24) | registerFactory(p,c){var o;(o=this._factories.get(p))===null||o===void...
method getOrCreate (line 24) | async getOrCreate(p){const c=this.get(p);if(c)return c;const o=this._f...
method isResolved (line 24) | isResolved(p){if(this.get(p))return!0;const o=this._factories.get(p);r...
method setColorMap (line 24) | setColorMap(p){this._colorMap=p,this._onDidChange.fire({changedLanguag...
method getColorMap (line 24) | getColorMap(){return this._colorMap}
method getDefaultBackground (line 24) | getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?...
class d (line 8) | class d{constructor(c,o,L){this.id=c,this.pluginId=o,this.pluginParam=L}}
method constructor (line 7) | constructor(o){this._env=o,this._didInitialize=!1,this._didPatchNodeRe...
method _init (line 7) | _init(o){this._didInitialize||(this._didInitialize=!0,this._fs=o("fs")...
method _initNodeRequire (line 7) | _initNodeRequire(o,L){const{nodeCachedData:e}=L.getConfig().getOptions...
method load (line 7) | load(o,L,e,s){const l=o.getConfig().getOptionsLiteral(),u=_(o.getRecor...
method _createAndEvalScript (line 7) | _createAndEvalScript(o,L,e,s,l){const u=o.getRecorder();u.record(31,e....
method _getElectronRendererScriptPathOrUri (line 7) | _getElectronRendererScriptPathOrUri(o){if(!this._env.isElectronRendere...
method _getCachedDataPath (line 7) | _getCachedDataPath(o,L){const e=this._crypto.createHash("md5").update(...
method _handleCachedData (line 7) | _handleCachedData(o,L,e,s,l){o.cachedDataRejected?this._fs.unlink(e,u=...
method _createAndWriteCachedData (line 7) | _createAndWriteCachedData(o,L,e,s){let l=Math.ceil(s.getConfig().getOp...
method _readSourceAndCachedData (line 7) | _readSourceAndCachedData(o,L,e,s){if(!L)this._fs.readFile(o,{encoding:...
method _verifyCachedData (line 7) | _verifyCachedData(o,L,e,s,l){s&&(o.cachedDataRejected||setTimeout(()=>...
method constructor (line 8) | constructor(c,o,L){this.id=c,this.pluginId=o,this.pluginParam=L}
method constructor (line 11) | constructor(c,o,L,e){this._hsvaBrand=void 0,this.h=Math.max(Math.min(3...
method equals (line 11) | static equals(c,o){return c.h===o.h&&c.s===o.s&&c.v===o.v&&c.a===o.a}
method fromRGBA (line 11) | static fromRGBA(c){const o=c.r/255,L=c.g/255,e=c.b/255,s=Math.max(o,L,...
method toRGBA (line 11) | static toRGBA(c){const{h:o,s:L,v:e,a:s}=c,l=e*L,u=l*(1-Math.abs(o/60%2...
method constructor (line 17) | constructor(){this._isCancelled=!1,this._emitter=null}
method cancel (line 17) | cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this...
method isCancellationRequested (line 17) | get isCancellationRequested(){return this._isCancelled}
method onCancellationRequested (line 17) | get onCancellationRequested(){return this._isCancelled?R:(this._emitte...
method dispose (line 17) | dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}
method trivial (line 17) | static trivial(e,s){return new d([new _(i.OffsetRange.ofLength(e.lengt...
method trivialTimedOut (line 17) | static trivialTimedOut(e,s){return new d([new _(i.OffsetRange.ofLength...
method constructor (line 17) | constructor(e,s){this.diffs=e,this.hitTimeout=s}
method constructor (line 17) | constructor(o,L,e,s){this.prev=o,this.x=L,this.y=e,this.length=s}
method compute (line 19) | compute(p,c,o=R.InfiniteTimeout.instance,L){if(p.length===0||c.length=...
method constructor (line 19) | constructor(p,c){this.originalRange=p,this.modifiedRange=c}
method toString (line 19) | toString(){return`{${this.originalRange.toString()}->${this.modifiedRa...
method flip (line 19) | flip(){return new d(this.modifiedRange,this.originalRange)}
method constructor (line 20) | constructor(c){this._values=c,this._isValid=!1,this._validEndIndex=-1,...
method getTotalSum (line 20) | getTotalSum(){return this._ensureValid(),this._indexBySum.length}
method getPrefixSum (line 20) | getPrefixSum(c){return this._ensureValid(),c===0?0:this._prefixSum[c-1]}
method getIndexOf (line 20) | getIndexOf(c){this._ensureValid();const o=this._indexBySum[c],L=o>0?th...
method removeValues (line 20) | removeValues(c,o){this._values.splice(c,o),this._invalidate(c)}
method insertValues (line 20) | insertValues(c,o){this._values=(0,M.arrayInsert)(this._values,c,o),thi...
method _invalidate (line 20) | _invalidate(c){this._isValid=!1,this._validEndIndex=Math.min(this._val...
method _ensureValid (line 20) | _ensureValid(){if(!this._isValid){for(let c=this._validEndIndex+1,o=th...
method setValue (line 20) | setValue(c,o){this._values[c]!==o&&(this._values[c]=o,this._invalidate...
method constructor (line 20) | constructor(p,c,o,L){this._uri=p,this._lines=c,this._eol=o,this._versi...
method dispose (line 20) | dispose(){this._lines.length=0}
method version (line 20) | get version(){return this._versionId}
method getText (line 20) | getText(){return this._cachedTextValue===null&&(this._cachedTextValue=...
method onEvents (line 20) | onEvents(p){p.eol&&p.eol!==this._eol&&(this._eol=p.eol,this._lineStart...
method _ensureLineStarts (line 20) | _ensureLineStarts(){if(!this._lineStarts){const p=this._eol.length,c=t...
method _setLineText (line 20) | _setLineText(p,c){this._lines[p]=c,this._lineStarts&&this._lineStarts....
method _acceptDeleteRange (line 20) | _acceptDeleteRange(p){if(p.startLineNumber===p.endLineNumber){if(p.sta...
method _acceptInsertText (line 20) | _acceptInsertText(p,c){if(c.length===0)return;const o=(0,M.splitLines)...
method isResolved (line 24) | get isResolved(){return this._isResolved}
method constructor (line 24) | constructor(p,c,o){super(),this._registry=p,this._languageId=c,this._f...
method dispose (line 24) | dispose(){this._isDisposed=!0,super.dispose()}
method resolve (line 24) | async resolve(){return this._resolvePromise||(this._resolvePromise=thi...
method _create (line 24) | async _create(){const p=await this._factory.tokenizationSupport;this._...
class _ (line 8) | class _{constructor(c,o,L,e,s=0){this._env=c,this._scriptLoader=o,this._...
method constructor (line 8) | constructor(c,o,L,e,s=0){this._env=c,this._scriptLoader=o,this._loader...
method reset (line 8) | reset(){return new _(this._env,this._scriptLoader,this._defineFunc,thi...
method getGlobalAMDDefineFunc (line 8) | getGlobalAMDDefineFunc(){return this._defineFunc}
method getGlobalAMDRequireFunc (line 8) | getGlobalAMDRequireFunc(){return this._requireFunc}
method _findRelevantLocationInStack (line 8) | static _findRelevantLocationInStack(c,o){let L=l=>l.replace(/\\/g,"/")...
method getBuildInfo (line 8) | getBuildInfo(){if(!this._config.isBuild())return null;let c=[],o=0;for...
method getRecorder (line 8) | getRecorder(){return this._recorder||(this._config.shouldRecordStats()...
method getLoaderEvents (line 8) | getLoaderEvents(){return this.getRecorder().getEvents()}
method enqueueDefineAnonymousModule (line 8) | enqueueDefineAnonymousModule(c,o){if(this._currentAnonymousDefineCall!...
method defineModule (line 8) | defineModule(c,o,L,e,s,l=new t(c)){let u=this._moduleIdProvider.getMod...
method _normalizeDependency (line 8) | _normalizeDependency(c,o){if(c==="exports")return i.EXPORTS;if(c==="mo...
method _normalizeDependencies (line 8) | _normalizeDependencies(c,o){let L=[],e=0;for(let s=0,l=c.length;s<l;s+...
method _relativeRequire (line 8) | _relativeRequire(c,o,L,e){if(typeof o=="string")return this.synchronou...
method synchronousRequire (line 8) | synchronousRequire(c,o=new t(c)){let L=this._normalizeDependency(c,o),...
method configure (line 8) | configure(c,o){let L=this._config.shouldRecordStats();o?this._config=n...
method getConfig (line 8) | getConfig(){return this._config}
method _onLoad (line 8) | _onLoad(c){if(this._currentAnonymousDefineCall!==null){let o=this._cur...
method _createLoadError (line 8) | _createLoadError(c,o){let L=this._moduleIdProvider.getStrModuleId(c),e...
method _onLoadError (line 8) | _onLoadError(c,o){const L=this._createLoadError(c,o);this._modules2[c]...
method _hasDependencyPath (line 8) | _hasDependencyPath(c,o){let L=this._modules2[c];if(!L)return!1;let e=[...
method _findCyclePath (line 8) | _findCyclePath(c,o,L){if(c===o||L===50)return[c];let e=this._modules2[...
method _createRequire (line 8) | _createRequire(c){let o=(L,e,s)=>this._relativeRequire(c,L,e,s);return...
method _loadModule (line 8) | _loadModule(c){if(this._modules2[c]||this._knownModules2[c])return;thi...
method _loadPluginDependency (line 8) | _loadPluginDependency(c,o){if(this._modules2[o.id]||this._knownModules...
method _resolve (line 8) | _resolve(c){let o=c.dependencies;if(o)for(let L=0,e=o.length;L<e;L++){...
method _onModuleComplete (line 9) | _onModuleComplete(c){let o=this.getRecorder();if(c.isComplete())return...
method fromHex (line 11) | static fromHex(c){return _.Format.CSS.parseHex(c)||_.red}
method equals (line 11) | static equals(c,o){return!c&&!o?!0:!c||!o?!1:c.equals(o)}
method hsla (line 11) | get hsla(){return this._hsla?this._hsla:i.fromRGBA(this.rgba)}
method hsva (line 11) | get hsva(){return this._hsva?this._hsva:d.fromRGBA(this.rgba)}
method constructor (line 11) | constructor(c){if(c)if(c instanceof R)this.rgba=c;else if(c instanceof...
method equals (line 11) | equals(c){return!!c&&R.equals(this.rgba,c.rgba)&&i.equals(this.hsla,c....
method getRelativeLuminance (line 11) | getRelativeLuminance(){const c=_._relativeLuminanceForComponent(this.r...
method _relativeLuminanceForComponent (line 11) | static _relativeLuminanceForComponent(c){const o=c/255;return o<=.0392...
method isLighter (line 11) | isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e...
method isLighterThan (line 11) | isLighterThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLu...
method isDarkerThan (line 11) | isDarkerThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLum...
method lighten (line 11) | lighten(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l+this...
method darken (line 11) | darken(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l-this....
method transparent (line 11) | transparent(c){const{r:o,g:L,b:e,a:s}=this.rgba;return new _(new R(o,L...
method isTransparent (line 11) | isTransparent(){return this.rgba.a===0}
method isOpaque (line 11) | isOpaque(){return this.rgba.a===1}
method opposite (line 11) | opposite(){return new _(new R(255-this.rgba.r,255-this.rgba.g,255-this...
method makeOpaque (line 11) | makeOpaque(c){if(this.isOpaque()||c.rgba.a!==1)return this;const{r:o,g...
method toString (line 11) | toString(){return this._toString||(this._toString=_.Format.CSS.format(...
method getLighterColor (line 11) | static getLighterColor(c,o,L){if(c.isLighterThan(o))return c;L=L||.5;c...
method getDarkerColor (line 11) | static getDarkerColor(c,o,L){if(c.isDarkerThan(o))return c;L=L||.5;con...
method constructor (line 15) | constructor(s,l){if(this[M]="ResourceMap",s instanceof _)this.map=new ...
method set (line 15) | set(s,l){return this.map.set(this.toKey(s),new i(s,l)),this}
method get (line 15) | get(s){var l;return(l=this.map.get(this.toKey(s)))===null||l===void 0?...
method has (line 15) | has(s){return this.map.has(this.toKey(s))}
method size (line 15) | get size(){return this.map.size}
method clear (line 15) | clear(){this.map.clear()}
method delete (line 15) | delete(s){return this.map.delete(this.toKey(s))}
method forEach (line 15) | forEach(s,l){typeof l<"u"&&(s=s.bind(l));for(const[u,b]of this.map)s(b...
method values (line 15) | *values(){for(const s of this.map.values())yield s.value}
method keys (line 15) | *keys(){for(const s of this.map.values())yield s.uri}
method entries (line 15) | *entries(){for(const s of this.map.values())yield[s.uri,s.value]}
method constructor (line 17) | constructor(c){this._token=void 0,this._parentListener=void 0,this._pa...
method token (line 17) | get token(){return this._token||(this._token=new d),this._token}
method cancel (line 17) | cancel(){this._token?this._token instanceof d&&this._token.cancel():th...
method dispose (line 17) | dispose(c=!1){var o;c&&this.cancel(),(o=this._parentListener)===null||...
method Assert (line 17) | static Assert(e,s){if(!e)throw new Error(s)}
method fromRangeInclusive (line 17) | static fromRangeInclusive(o){return new _(o.startLineNumber,o.endLineN...
method joinMany (line 17) | static joinMany(o){if(o.length===0)return[];let L=new p(o[0].slice());...
method ofLength (line 17) | static ofLength(o,L){return new _(o,o+L)}
method deserialize (line 17) | static deserialize(o){return new _(o[0],o[1])}
method constructor (line 17) | constructor(o,L){if(o>L)throw new M.BugIndicatingError(`startLineNumbe...
method contains (line 17) | contains(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method isEmpty (line 17) | get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}
method delta (line 17) | delta(o){return new _(this.startLineNumber+o,this.endLineNumberExclusi...
method deltaLength (line 17) | deltaLength(o){return new _(this.startLineNumber,this.endLineNumberExc...
method length (line 17) | get length(){return this.endLineNumberExclusive-this.startLineNumber}
method join (line 17) | join(o){return new _(Math.min(this.startLineNumber,o.startLineNumber),...
method toString (line 17) | toString(){return`[${this.startLineNumber},${this.endLineNumberExclusi...
method intersect (line 17) | intersect(o){const L=Math.max(this.startLineNumber,o.startLineNumber),...
method intersectsStrict (line 17) | intersectsStrict(o){return this.startLineNumber<o.endLineNumberExclusi...
method overlapOrTouch (line 17) | overlapOrTouch(o){return this.startLineNumber<=o.endLineNumberExclusiv...
method equals (line 17) | equals(o){return this.startLineNumber===o.startLineNumber&&this.endLin...
method toInclusiveRange (line 17) | toInclusiveRange(){return this.isEmpty?null:new i.Range(this.startLine...
method toExclusiveRange (line 17) | toExclusiveRange(){return new i.Range(this.startLineNumber,1,this.endL...
method mapToLineArray (line 17) | mapToLineArray(o){const L=[];for(let e=this.startLineNumber;e<this.end...
method forEach (line 17) | forEach(o){for(let L=this.startLineNumber;L<this.endLineNumberExclusiv...
method serialize (line 17) | serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}
method includes (line 17) | includes(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method toOffsetRange (line 17) | toOffsetRange(){return new R.OffsetRange(this.startLineNumber-1,this.e...
method invert (line 17) | static invert(e,s){const l=[];return(0,M.forEachAdjacent)(e,(u,b)=>{l....
method fromOffsetPairs (line 17) | static fromOffsetPairs(e,s){return new _(new i.OffsetRange(e.offset1,s...
method constructor (line 17) | constructor(e,s){this.seq1Range=e,this.seq2Range=s}
method swap (line 17) | swap(){return new _(this.seq2Range,this.seq1Range)}
method toString (line 17) | toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}
method join (line 17) | join(e){return new _(this.seq1Range.join(e.seq1Range),this.seq2Range.j...
method delta (line 17) | delta(e){return e===0?this:new _(this.seq1Range.delta(e),this.seq2Rang...
method deltaStart (line 17) | deltaStart(e){return e===0?this:new _(this.seq1Range.deltaStart(e),thi...
method deltaEnd (line 17) | deltaEnd(e){return e===0?this:new _(this.seq1Range.deltaEnd(e),this.se...
method intersect (line 17) | intersect(e){const s=this.seq1Range.intersect(e.seq1Range),l=this.seq2...
method getStarts (line 17) | getStarts(){return new p(this.seq1Range.start,this.seq2Range.start)}
method getEndExclusives (line 17) | getEndExclusives(){return new p(this.seq1Range.endExclusive,this.seq2R...
method constructor (line 17) | constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new...
method get (line 17) | get(o){return o<0?(o=-o-1,this.negativeArr[o]):this.positiveArr[o]}
method set (line 17) | set(o,L){if(o<0){if(o=-o-1,o>=this.negativeArr.length){const e=this.ne...
method constructor (line 20) | constructor(c,o){this.index=c,this.remainder=o,this._prefixSumIndexOfR...
function _ (line 9) | function _(){if(typeof q.global.require<"u"||typeof require<"u"){const p...
method constructor (line 8) | constructor(c,o,L,e,s=0){this._env=c,this._scriptLoader=o,this._loader...
method reset (line 8) | reset(){return new _(this._env,this._scriptLoader,this._defineFunc,thi...
method getGlobalAMDDefineFunc (line 8) | getGlobalAMDDefineFunc(){return this._defineFunc}
method getGlobalAMDRequireFunc (line 8) | getGlobalAMDRequireFunc(){return this._requireFunc}
method _findRelevantLocationInStack (line 8) | static _findRelevantLocationInStack(c,o){let L=l=>l.replace(/\\/g,"/")...
method getBuildInfo (line 8) | getBuildInfo(){if(!this._config.isBuild())return null;let c=[],o=0;for...
method getRecorder (line 8) | getRecorder(){return this._recorder||(this._config.shouldRecordStats()...
method getLoaderEvents (line 8) | getLoaderEvents(){return this.getRecorder().getEvents()}
method enqueueDefineAnonymousModule (line 8) | enqueueDefineAnonymousModule(c,o){if(this._currentAnonymousDefineCall!...
method defineModule (line 8) | defineModule(c,o,L,e,s,l=new t(c)){let u=this._moduleIdProvider.getMod...
method _normalizeDependency (line 8) | _normalizeDependency(c,o){if(c==="exports")return i.EXPORTS;if(c==="mo...
method _normalizeDependencies (line 8) | _normalizeDependencies(c,o){let L=[],e=0;for(let s=0,l=c.length;s<l;s+...
method _relativeRequire (line 8) | _relativeRequire(c,o,L,e){if(typeof o=="string")return this.synchronou...
method synchronousRequire (line 8) | synchronousRequire(c,o=new t(c)){let L=this._normalizeDependency(c,o),...
method configure (line 8) | configure(c,o){let L=this._config.shouldRecordStats();o?this._config=n...
method getConfig (line 8) | getConfig(){return this._config}
method _onLoad (line 8) | _onLoad(c){if(this._currentAnonymousDefineCall!==null){let o=this._cur...
method _createLoadError (line 8) | _createLoadError(c,o){let L=this._moduleIdProvider.getStrModuleId(c),e...
method _onLoadError (line 8) | _onLoadError(c,o){const L=this._createLoadError(c,o);this._modules2[c]...
method _hasDependencyPath (line 8) | _hasDependencyPath(c,o){let L=this._modules2[c];if(!L)return!1;let e=[...
method _findCyclePath (line 8) | _findCyclePath(c,o,L){if(c===o||L===50)return[c];let e=this._modules2[...
method _createRequire (line 8) | _createRequire(c){let o=(L,e,s)=>this._relativeRequire(c,L,e,s);return...
method _loadModule (line 8) | _loadModule(c){if(this._modules2[c]||this._knownModules2[c])return;thi...
method _loadPluginDependency (line 8) | _loadPluginDependency(c,o){if(this._modules2[o.id]||this._knownModules...
method _resolve (line 8) | _resolve(c){let o=c.dependencies;if(o)for(let L=0,e=o.length;L<e;L++){...
method _onModuleComplete (line 9) | _onModuleComplete(c){let o=this.getRecorder();if(c.isComplete())return...
method fromHex (line 11) | static fromHex(c){return _.Format.CSS.parseHex(c)||_.red}
method equals (line 11) | static equals(c,o){return!c&&!o?!0:!c||!o?!1:c.equals(o)}
method hsla (line 11) | get hsla(){return this._hsla?this._hsla:i.fromRGBA(this.rgba)}
method hsva (line 11) | get hsva(){return this._hsva?this._hsva:d.fromRGBA(this.rgba)}
method constructor (line 11) | constructor(c){if(c)if(c instanceof R)this.rgba=c;else if(c instanceof...
method equals (line 11) | equals(c){return!!c&&R.equals(this.rgba,c.rgba)&&i.equals(this.hsla,c....
method getRelativeLuminance (line 11) | getRelativeLuminance(){const c=_._relativeLuminanceForComponent(this.r...
method _relativeLuminanceForComponent (line 11) | static _relativeLuminanceForComponent(c){const o=c/255;return o<=.0392...
method isLighter (line 11) | isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e...
method isLighterThan (line 11) | isLighterThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLu...
method isDarkerThan (line 11) | isDarkerThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLum...
method lighten (line 11) | lighten(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l+this...
method darken (line 11) | darken(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l-this....
method transparent (line 11) | transparent(c){const{r:o,g:L,b:e,a:s}=this.rgba;return new _(new R(o,L...
method isTransparent (line 11) | isTransparent(){return this.rgba.a===0}
method isOpaque (line 11) | isOpaque(){return this.rgba.a===1}
method opposite (line 11) | opposite(){return new _(new R(255-this.rgba.r,255-this.rgba.g,255-this...
method makeOpaque (line 11) | makeOpaque(c){if(this.isOpaque()||c.rgba.a!==1)return this;const{r:o,g...
method toString (line 11) | toString(){return this._toString||(this._toString=_.Format.CSS.format(...
method getLighterColor (line 11) | static getLighterColor(c,o,L){if(c.isLighterThan(o))return c;L=L||.5;c...
method getDarkerColor (line 11) | static getDarkerColor(c,o,L){if(c.isDarkerThan(o))return c;L=L||.5;con...
method constructor (line 15) | constructor(s,l){if(this[M]="ResourceMap",s instanceof _)this.map=new ...
method set (line 15) | set(s,l){return this.map.set(this.toKey(s),new i(s,l)),this}
method get (line 15) | get(s){var l;return(l=this.map.get(this.toKey(s)))===null||l===void 0?...
method has (line 15) | has(s){return this.map.has(this.toKey(s))}
method size (line 15) | get size(){return this.map.size}
method clear (line 15) | clear(){this.map.clear()}
method delete (line 15) | delete(s){return this.map.delete(this.toKey(s))}
method forEach (line 15) | forEach(s,l){typeof l<"u"&&(s=s.bind(l));for(const[u,b]of this.map)s(b...
method values (line 15) | *values(){for(const s of this.map.values())yield s.value}
method keys (line 15) | *keys(){for(const s of this.map.values())yield s.uri}
method entries (line 15) | *entries(){for(const s of this.map.values())yield[s.uri,s.value]}
method constructor (line 17) | constructor(c){this._token=void 0,this._parentListener=void 0,this._pa...
method token (line 17) | get token(){return this._token||(this._token=new d),this._token}
method cancel (line 17) | cancel(){this._token?this._token instanceof d&&this._token.cancel():th...
method dispose (line 17) | dispose(c=!1){var o;c&&this.cancel(),(o=this._parentListener)===null||...
method Assert (line 17) | static Assert(e,s){if(!e)throw new Error(s)}
method fromRangeInclusive (line 17) | static fromRangeInclusive(o){return new _(o.startLineNumber,o.endLineN...
method joinMany (line 17) | static joinMany(o){if(o.length===0)return[];let L=new p(o[0].slice());...
method ofLength (line 17) | static ofLength(o,L){return new _(o,o+L)}
method deserialize (line 17) | static deserialize(o){return new _(o[0],o[1])}
method constructor (line 17) | constructor(o,L){if(o>L)throw new M.BugIndicatingError(`startLineNumbe...
method contains (line 17) | contains(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method isEmpty (line 17) | get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}
method delta (line 17) | delta(o){return new _(this.startLineNumber+o,this.endLineNumberExclusi...
method deltaLength (line 17) | deltaLength(o){return new _(this.startLineNumber,this.endLineNumberExc...
method length (line 17) | get length(){return this.endLineNumberExclusive-this.startLineNumber}
method join (line 17) | join(o){return new _(Math.min(this.startLineNumber,o.startLineNumber),...
method toString (line 17) | toString(){return`[${this.startLineNumber},${this.endLineNumberExclusi...
method intersect (line 17) | intersect(o){const L=Math.max(this.startLineNumber,o.startLineNumber),...
method intersectsStrict (line 17) | intersectsStrict(o){return this.startLineNumber<o.endLineNumberExclusi...
method overlapOrTouch (line 17) | overlapOrTouch(o){return this.startLineNumber<=o.endLineNumberExclusiv...
method equals (line 17) | equals(o){return this.startLineNumber===o.startLineNumber&&this.endLin...
method toInclusiveRange (line 17) | toInclusiveRange(){return this.isEmpty?null:new i.Range(this.startLine...
method toExclusiveRange (line 17) | toExclusiveRange(){return new i.Range(this.startLineNumber,1,this.endL...
method mapToLineArray (line 17) | mapToLineArray(o){const L=[];for(let e=this.startLineNumber;e<this.end...
method forEach (line 17) | forEach(o){for(let L=this.startLineNumber;L<this.endLineNumberExclusiv...
method serialize (line 17) | serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}
method includes (line 17) | includes(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method toOffsetRange (line 17) | toOffsetRange(){return new R.OffsetRange(this.startLineNumber-1,this.e...
method invert (line 17) | static invert(e,s){const l=[];return(0,M.forEachAdjacent)(e,(u,b)=>{l....
method fromOffsetPairs (line 17) | static fromOffsetPairs(e,s){return new _(new i.OffsetRange(e.offset1,s...
method constructor (line 17) | constructor(e,s){this.seq1Range=e,this.seq2Range=s}
method swap (line 17) | swap(){return new _(this.seq2Range,this.seq1Range)}
method toString (line 17) | toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}
method join (line 17) | join(e){return new _(this.seq1Range.join(e.seq1Range),this.seq2Range.j...
method delta (line 17) | delta(e){return e===0?this:new _(this.seq1Range.delta(e),this.seq2Rang...
method deltaStart (line 17) | deltaStart(e){return e===0?this:new _(this.seq1Range.deltaStart(e),thi...
method deltaEnd (line 17) | deltaEnd(e){return e===0?this:new _(this.seq1Range.deltaEnd(e),this.se...
method intersect (line 17) | intersect(e){const s=this.seq1Range.intersect(e.seq1Range),l=this.seq2...
method getStarts (line 17) | getStarts(){return new p(this.seq1Range.start,this.seq2Range.start)}
method getEndExclusives (line 17) | getEndExclusives(){return new p(this.seq1Range.endExclusive,this.seq2R...
method constructor (line 17) | constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new...
method get (line 17) | get(o){return o<0?(o=-o-1,this.negativeArr[o]):this.positiveArr[o]}
method set (line 17) | set(o,L){if(o<0){if(o=-o-1,o>=this.negativeArr.length){const e=this.ne...
method constructor (line 20) | constructor(c,o){this.index=c,this.remainder=o,this._prefixSumIndexOfR...
function i (line 9) | function i(f,y){let w;return y.length===0?w=f:w=f.replace(/\{(\d+)\}/g,(...
method constructor (line 6) | constructor(){this._cachedCanUseEval=null}
method _canUseEval (line 6) | _canUseEval(o){return this._cachedCanUseEval===null&&(this._cachedCanU...
method load (line 6) | load(o,L,e,s){if(/^node\|/.test(L)){const l=o.getConfig().getOptionsLi...
method constructor (line 8) | constructor(c){this.id=c}
method constructor (line 11) | constructor(c,o,L,e){this._hslaBrand=void 0,this.h=Math.max(Math.min(3...
method equals (line 11) | static equals(c,o){return c.h===o.h&&c.s===o.s&&c.l===o.l&&c.a===o.a}
method fromRGBA (line 11) | static fromRGBA(c){const o=c.r/255,L=c.g/255,e=c.b/255,s=c.a,l=Math.ma...
method _hue2rgb (line 11) | static _hue2rgb(c,o,L){return L<0&&(L+=1),L>1&&(L-=1),L<1/6?c+(o-c)*6*...
method toRGBA (line 11) | static toRGBA(c){const o=c.h/360,{s:L,l:e,a:s}=c;let l,u,b;if(L===0)l=...
method constructor (line 15) | constructor(s,l){this.uri=s,this.value=l}
method constructor (line 17) | constructor(e){this.source=e}
method getElements (line 17) | getElements(){const e=this.source,s=new Int32Array(e.length);for(let l...
method constructor (line 17) | constructor(){this._actual=new R(0)}
method add (line 17) | add(_){this._actual.set(_,1)}
method has (line 17) | has(_){return this._actual.get(_)===1}
method clear (line 17) | clear(){return this._actual.clear()}
method constructor (line 17) | constructor(){this._sortedRanges=[]}
method addRange (line 17) | addRange(_){let p=0;for(;p<this._sortedRanges.length&&this._sortedRang...
method toString (line 17) | toString(){return this._sortedRanges.map(_=>_.toString()).join(", ")}
method intersectsStrict (line 17) | intersectsStrict(_){let p=0;for(;p<this._sortedRanges.length&&this._so...
method intersectWithRange (line 17) | intersectWithRange(_){const p=new i;for(const c of this._sortedRanges)...
method intersectWithRangeLength (line 17) | intersectWithRangeLength(_){return this.intersectWithRange(_).length}
method length (line 17) | get length(){return this._sortedRanges.reduce((_,p)=>_+p.length,0)}
method constructor (line 17) | constructor(_,p,c,o){super(_,p,c,o),this.selectionStartLineNumber=_,th...
method toString (line 17) | toString(){return"["+this.selectionStartLineNumber+","+this.selectionS...
method equalsSelection (line 17) | equalsSelection(_){return i.selectionsEqual(this,_)}
method selectionsEqual (line 17) | static selectionsEqual(_,p){return _.selectionStartLineNumber===p.sele...
method getDirection (line 17) | getDirection(){return this.selectionStartLineNumber===this.startLineNu...
method setEndPosition (line 17) | setEndPosition(_,p){return this.getDirection()===0?new i(this.startLin...
method getPosition (line 17) | getPosition(){return new M.Position(this.positionLineNumber,this.posit...
method getSelectionStart (line 17) | getSelectionStart(){return new M.Position(this.selectionStartLineNumbe...
method setStartPosition (line 17) | setStartPosition(_,p){return this.getDirection()===0?new i(_,p,this.en...
method fromPositions (line 17) | static fromPositions(_,p=_){return new i(_.lineNumber,_.column,p.lineN...
method fromRange (line 17) | static fromRange(_,p){return p===0?new i(_.startLineNumber,_.startColu...
method liftSelection (line 17) | static liftSelection(_){return new i(_.selectionStartLineNumber,_.sele...
method selectionsArrEqual (line 17) | static selectionsArrEqual(_,p){if(_&&!p||!_&&p)return!1;if(!_&&!p)retu...
method isISelection (line 17) | static isISelection(_){return _&&typeof _.selectionStartLineNumber=="n...
method createWithDirection (line 17) | static createWithDirection(_,p,c,o,L){return L===0?new i(_,p,c,o):new ...
method compute (line 17) | compute(o,L,e=R.InfiniteTimeout.instance){if(o.length===0||L.length===...
method getKey (line 18) | static getKey(_){let p=this.chrKeys.get(_);return p===void 0&&(p=this....
method constructor (line 18) | constructor(_,p,c){this.range=_,this.lines=p,this.source=c,this.histog...
method computeSimilarity (line 19) | computeSimilarity(_){var p,c;let o=0;const L=Math.max(this.histogram.l...
method constructor (line 19) | constructor(p,c,o){super(p,c),this.innerChanges=o}
method flip (line 19) | flip(){var p;return new i(this.modified,this.original,(p=this.innerCha...
method constructor (line 20) | constructor(s){let l=0,u=0;for(let f=0,y=s.length;f<y;f++){const[w,E,S...
method nextState (line 20) | nextState(s,l){return l<0||l>=this._maxCharCode?0:this._states.get(s,l)}
method constructor (line 20) | constructor(c){this.values=c,this.prefixSum=new Uint32Array(c.length),...
method insertValues (line 20) | insertValues(c,o){c=(0,R.toUint32)(c);const L=this.values,e=this.prefi...
method setValue (line 20) | setValue(c,o){return c=(0,R.toUint32)(c),o=(0,R.toUint32)(o),this.valu...
method removeValues (line 20) | removeValues(c,o){c=(0,R.toUint32)(c),o=(0,R.toUint32)(o);const L=this...
method getTotalSum (line 20) | getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this....
method getPrefixSum (line 20) | getPrefixSum(c){return c<0?0:(c=(0,R.toUint32)(c),this._getPrefixSum(c))}
method _getPrefixSum (line 20) | _getPrefixSum(c){if(c<=this.prefixSumValidIndex[0])return this.prefixS...
method getIndexOf (line 20) | getIndexOf(c){c=Math.floor(c),this.getTotalSum();let o=0,L=this.values...
method constructor (line 24) | constructor(){this._tokenizationSupports=new Map,this._factories=new M...
method handleChange (line 24) | handleChange(p){this._onDidChange.fire({changedLanguages:p,changedColo...
method register (line 24) | register(p,c){return this._tokenizationSupports.set(p,c),this.handleCh...
method get (line 24) | get(p){return this._tokenizationSupports.get(p)||null}
method registerFactory (line 24) | registerFactory(p,c){var o;(o=this._factories.get(p))===null||o===void...
method getOrCreate (line 24) | async getOrCreate(p){const c=this.get(p);if(c)return c;const o=this._f...
method isResolved (line 24) | isResolved(p){if(this.get(p))return!0;const o=this._factories.get(p);r...
method setColorMap (line 24) | setColorMap(p){this._colorMap=p,this._onDidChange.fire({changedLanguag...
method getColorMap (line 24) | getColorMap(){return this._colorMap}
method getDefaultBackground (line 24) | getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?...
function d (line 9) | function d(f,y){let w=f[y];return w||(w=f["*"],w)?w:null}
method constructor (line 7) | constructor(o){this._env=o,this._didInitialize=!1,this._didPatchNodeRe...
method _init (line 7) | _init(o){this._didInitialize||(this._didInitialize=!0,this._fs=o("fs")...
method _initNodeRequire (line 7) | _initNodeRequire(o,L){const{nodeCachedData:e}=L.getConfig().getOptions...
method load (line 7) | load(o,L,e,s){const l=o.getConfig().getOptionsLiteral(),u=_(o.getRecor...
method _createAndEvalScript (line 7) | _createAndEvalScript(o,L,e,s,l){const u=o.getRecorder();u.record(31,e....
method _getElectronRendererScriptPathOrUri (line 7) | _getElectronRendererScriptPathOrUri(o){if(!this._env.isElectronRendere...
method _getCachedDataPath (line 7) | _getCachedDataPath(o,L){const e=this._crypto.createHash("md5").update(...
method _handleCachedData (line 7) | _handleCachedData(o,L,e,s,l){o.cachedDataRejected?this._fs.unlink(e,u=...
method _createAndWriteCachedData (line 7) | _createAndWriteCachedData(o,L,e,s){let l=Math.ceil(s.getConfig().getOp...
method _readSourceAndCachedData (line 7) | _readSourceAndCachedData(o,L,e,s){if(!L)this._fs.readFile(o,{encoding:...
method _verifyCachedData (line 7) | _verifyCachedData(o,L,e,s,l){s&&(o.cachedDataRejected||setTimeout(()=>...
method constructor (line 8) | constructor(c,o,L){this.id=c,this.pluginId=o,this.pluginParam=L}
method constructor (line 11) | constructor(c,o,L,e){this._hsvaBrand=void 0,this.h=Math.max(Math.min(3...
method equals (line 11) | static equals(c,o){return c.h===o.h&&c.s===o.s&&c.v===o.v&&c.a===o.a}
method fromRGBA (line 11) | static fromRGBA(c){const o=c.r/255,L=c.g/255,e=c.b/255,s=Math.max(o,L,...
method toRGBA (line 11) | static toRGBA(c){const{h:o,s:L,v:e,a:s}=c,l=e*L,u=l*(1-Math.abs(o/60%2...
method constructor (line 17) | constructor(){this._isCancelled=!1,this._emitter=null}
method cancel (line 17) | cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this...
method isCancellationRequested (line 17) | get isCancellationRequested(){return this._isCancelled}
method onCancellationRequested (line 17) | get onCancellationRequested(){return this._isCancelled?R:(this._emitte...
method dispose (line 17) | dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}
method trivial (line 17) | static trivial(e,s){return new d([new _(i.OffsetRange.ofLength(e.lengt...
method trivialTimedOut (line 17) | static trivialTimedOut(e,s){return new d([new _(i.OffsetRange.ofLength...
method constructor (line 17) | constructor(e,s){this.diffs=e,this.hitTimeout=s}
method constructor (line 17) | constructor(o,L,e,s){this.prev=o,this.x=L,this.y=e,this.length=s}
method compute (line 19) | compute(p,c,o=R.InfiniteTimeout.instance,L){if(p.length===0||c.length=...
method constructor (line 19) | constructor(p,c){this.originalRange=p,this.modifiedRange=c}
method toString (line 19) | toString(){return`{${this.originalRange.toString()}->${this.modifiedRa...
method flip (line 19) | flip(){return new d(this.modifiedRange,this.originalRange)}
method constructor (line 20) | constructor(c){this._values=c,this._isValid=!1,this._validEndIndex=-1,...
method getTotalSum (line 20) | getTotalSum(){return this._ensureValid(),this._indexBySum.length}
method getPrefixSum (line 20) | getPrefixSum(c){return this._ensureValid(),c===0?0:this._prefixSum[c-1]}
method getIndexOf (line 20) | getIndexOf(c){this._ensureValid();const o=this._indexBySum[c],L=o>0?th...
method removeValues (line 20) | removeValues(c,o){this._values.splice(c,o),this._invalidate(c)}
method insertValues (line 20) | insertValues(c,o){this._values=(0,M.arrayInsert)(this._values,c,o),thi...
method _invalidate (line 20) | _invalidate(c){this._isValid=!1,this._validEndIndex=Math.min(this._val...
method _ensureValid (line 20) | _ensureValid(){if(!this._isValid){for(let c=this._validEndIndex+1,o=th...
method setValue (line 20) | setValue(c,o){this._values[c]!==o&&(this._values[c]=o,this._invalidate...
method constructor (line 20) | constructor(p,c,o,L){this._uri=p,this._lines=c,this._eol=o,this._versi...
method dispose (line 20) | dispose(){this._lines.length=0}
method version (line 20) | get version(){return this._versionId}
method getText (line 20) | getText(){return this._cachedTextValue===null&&(this._cachedTextValue=...
method onEvents (line 20) | onEvents(p){p.eol&&p.eol!==this._eol&&(this._eol=p.eol,this._lineStart...
method _ensureLineStarts (line 20) | _ensureLineStarts(){if(!this._lineStarts){const p=this._eol.length,c=t...
method _setLineText (line 20) | _setLineText(p,c){this._lines[p]=c,this._lineStarts&&this._lineStarts....
method _acceptDeleteRange (line 20) | _acceptDeleteRange(p){if(p.startLineNumber===p.endLineNumber){if(p.sta...
method _acceptInsertText (line 20) | _acceptInsertText(p,c){if(c.length===0)return;const o=(0,M.splitLines)...
method isResolved (line 24) | get isResolved(){return this._isResolved}
method constructor (line 24) | constructor(p,c,o){super(),this._registry=p,this._languageId=c,this._f...
method dispose (line 24) | dispose(){this._isDisposed=!0,super.dispose()}
method resolve (line 24) | async resolve(){return this._resolvePromise||(this._resolvePromise=thi...
method _create (line 24) | async _create(){const p=await this._factory.tokenizationSupport;this._...
function _ (line 9) | function _(f){return f.charAt(f.length-1)==="/"?f:f+"/"}
method constructor (line 8) | constructor(c,o,L,e,s=0){this._env=c,this._scriptLoader=o,this._loader...
method reset (line 8) | reset(){return new _(this._env,this._scriptLoader,this._defineFunc,thi...
method getGlobalAMDDefineFunc (line 8) | getGlobalAMDDefineFunc(){return this._defineFunc}
method getGlobalAMDRequireFunc (line 8) | getGlobalAMDRequireFunc(){return this._requireFunc}
method _findRelevantLocationInStack (line 8) | static _findRelevantLocationInStack(c,o){let L=l=>l.replace(/\\/g,"/")...
method getBuildInfo (line 8) | getBuildInfo(){if(!this._config.isBuild())return null;let c=[],o=0;for...
method getRecorder (line 8) | getRecorder(){return this._recorder||(this._config.shouldRecordStats()...
method getLoaderEvents (line 8) | getLoaderEvents(){return this.getRecorder().getEvents()}
method enqueueDefineAnonymousModule (line 8) | enqueueDefineAnonymousModule(c,o){if(this._currentAnonymousDefineCall!...
method defineModule (line 8) | defineModule(c,o,L,e,s,l=new t(c)){let u=this._moduleIdProvider.getMod...
method _normalizeDependency (line 8) | _normalizeDependency(c,o){if(c==="exports")return i.EXPORTS;if(c==="mo...
method _normalizeDependencies (line 8) | _normalizeDependencies(c,o){let L=[],e=0;for(let s=0,l=c.length;s<l;s+...
method _relativeRequire (line 8) | _relativeRequire(c,o,L,e){if(typeof o=="string")return this.synchronou...
method synchronousRequire (line 8) | synchronousRequire(c,o=new t(c)){let L=this._normalizeDependency(c,o),...
method configure (line 8) | configure(c,o){let L=this._config.shouldRecordStats();o?this._config=n...
method getConfig (line 8) | getConfig(){return this._config}
method _onLoad (line 8) | _onLoad(c){if(this._currentAnonymousDefineCall!==null){let o=this._cur...
method _createLoadError (line 8) | _createLoadError(c,o){let L=this._moduleIdProvider.getStrModuleId(c),e...
method _onLoadError (line 8) | _onLoadError(c,o){const L=this._createLoadError(c,o);this._modules2[c]...
method _hasDependencyPath (line 8) | _hasDependencyPath(c,o){let L=this._modules2[c];if(!L)return!1;let e=[...
method _findCyclePath (line 8) | _findCyclePath(c,o,L){if(c===o||L===50)return[c];let e=this._modules2[...
method _createRequire (line 8) | _createRequire(c){let o=(L,e,s)=>this._relativeRequire(c,L,e,s);return...
method _loadModule (line 8) | _loadModule(c){if(this._modules2[c]||this._knownModules2[c])return;thi...
method _loadPluginDependency (line 8) | _loadPluginDependency(c,o){if(this._modules2[o.id]||this._knownModules...
method _resolve (line 8) | _resolve(c){let o=c.dependencies;if(o)for(let L=0,e=o.length;L<e;L++){...
method _onModuleComplete (line 9) | _onModuleComplete(c){let o=this.getRecorder();if(c.isComplete())return...
method fromHex (line 11) | static fromHex(c){return _.Format.CSS.parseHex(c)||_.red}
method equals (line 11) | static equals(c,o){return!c&&!o?!0:!c||!o?!1:c.equals(o)}
method hsla (line 11) | get hsla(){return this._hsla?this._hsla:i.fromRGBA(this.rgba)}
method hsva (line 11) | get hsva(){return this._hsva?this._hsva:d.fromRGBA(this.rgba)}
method constructor (line 11) | constructor(c){if(c)if(c instanceof R)this.rgba=c;else if(c instanceof...
method equals (line 11) | equals(c){return!!c&&R.equals(this.rgba,c.rgba)&&i.equals(this.hsla,c....
method getRelativeLuminance (line 11) | getRelativeLuminance(){const c=_._relativeLuminanceForComponent(this.r...
method _relativeLuminanceForComponent (line 11) | static _relativeLuminanceForComponent(c){const o=c/255;return o<=.0392...
method isLighter (line 11) | isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e...
method isLighterThan (line 11) | isLighterThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLu...
method isDarkerThan (line 11) | isDarkerThan(c){const o=this.getRelativeLuminance(),L=c.getRelativeLum...
method lighten (line 11) | lighten(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l+this...
method darken (line 11) | darken(c){return new _(new i(this.hsla.h,this.hsla.s,this.hsla.l-this....
method transparent (line 11) | transparent(c){const{r:o,g:L,b:e,a:s}=this.rgba;return new _(new R(o,L...
method isTransparent (line 11) | isTransparent(){return this.rgba.a===0}
method isOpaque (line 11) | isOpaque(){return this.rgba.a===1}
method opposite (line 11) | opposite(){return new _(new R(255-this.rgba.r,255-this.rgba.g,255-this...
method makeOpaque (line 11) | makeOpaque(c){if(this.isOpaque()||c.rgba.a!==1)return this;const{r:o,g...
method toString (line 11) | toString(){return this._toString||(this._toString=_.Format.CSS.format(...
method getLighterColor (line 11) | static getLighterColor(c,o,L){if(c.isLighterThan(o))return c;L=L||.5;c...
method getDarkerColor (line 11) | static getDarkerColor(c,o,L){if(c.isDarkerThan(o))return c;L=L||.5;con...
method constructor (line 15) | constructor(s,l){if(this[M]="ResourceMap",s instanceof _)this.map=new ...
method set (line 15) | set(s,l){return this.map.set(this.toKey(s),new i(s,l)),this}
method get (line 15) | get(s){var l;return(l=this.map.get(this.toKey(s)))===null||l===void 0?...
method has (line 15) | has(s){return this.map.has(this.toKey(s))}
method size (line 15) | get size(){return this.map.size}
method clear (line 15) | clear(){this.map.clear()}
method delete (line 15) | delete(s){return this.map.delete(this.toKey(s))}
method forEach (line 15) | forEach(s,l){typeof l<"u"&&(s=s.bind(l));for(const[u,b]of this.map)s(b...
method values (line 15) | *values(){for(const s of this.map.values())yield s.value}
method keys (line 15) | *keys(){for(const s of this.map.values())yield s.uri}
method entries (line 15) | *entries(){for(const s of this.map.values())yield[s.uri,s.value]}
method constructor (line 17) | constructor(c){this._token=void 0,this._parentListener=void 0,this._pa...
method token (line 17) | get token(){return this._token||(this._token=new d),this._token}
method cancel (line 17) | cancel(){this._token?this._token instanceof d&&this._token.cancel():th...
method dispose (line 17) | dispose(c=!1){var o;c&&this.cancel(),(o=this._parentListener)===null||...
method Assert (line 17) | static Assert(e,s){if(!e)throw new Error(s)}
method fromRangeInclusive (line 17) | static fromRangeInclusive(o){return new _(o.startLineNumber,o.endLineN...
method joinMany (line 17) | static joinMany(o){if(o.length===0)return[];let L=new p(o[0].slice());...
method ofLength (line 17) | static ofLength(o,L){return new _(o,o+L)}
method deserialize (line 17) | static deserialize(o){return new _(o[0],o[1])}
method constructor (line 17) | constructor(o,L){if(o>L)throw new M.BugIndicatingError(`startLineNumbe...
method contains (line 17) | contains(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method isEmpty (line 17) | get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}
method delta (line 17) | delta(o){return new _(this.startLineNumber+o,this.endLineNumberExclusi...
method deltaLength (line 17) | deltaLength(o){return new _(this.startLineNumber,this.endLineNumberExc...
method length (line 17) | get length(){return this.endLineNumberExclusive-this.startLineNumber}
method join (line 17) | join(o){return new _(Math.min(this.startLineNumber,o.startLineNumber),...
method toString (line 17) | toString(){return`[${this.startLineNumber},${this.endLineNumberExclusi...
method intersect (line 17) | intersect(o){const L=Math.max(this.startLineNumber,o.startLineNumber),...
method intersectsStrict (line 17) | intersectsStrict(o){return this.startLineNumber<o.endLineNumberExclusi...
method overlapOrTouch (line 17) | overlapOrTouch(o){return this.startLineNumber<=o.endLineNumberExclusiv...
method equals (line 17) | equals(o){return this.startLineNumber===o.startLineNumber&&this.endLin...
method toInclusiveRange (line 17) | toInclusiveRange(){return this.isEmpty?null:new i.Range(this.startLine...
method toExclusiveRange (line 17) | toExclusiveRange(){return new i.Range(this.startLineNumber,1,this.endL...
method mapToLineArray (line 17) | mapToLineArray(o){const L=[];for(let e=this.startLineNumber;e<this.end...
method forEach (line 17) | forEach(o){for(let L=this.startLineNumber;L<this.endLineNumberExclusiv...
method serialize (line 17) | serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}
method includes (line 17) | includes(o){return this.startLineNumber<=o&&o<this.endLineNumberExclus...
method toOffsetRange (line 17) | toOffsetRange(){return new R.OffsetRange(this.startLineNumber-1,this.e...
method invert (line 17) | static invert(e,s){const l=[];return(0,M.forEachAdjacent)(e,(u,b)=>{l....
method fromOffsetPairs (line 17) | static fromOffsetPairs(e,s){return new _(new i.OffsetRange(e.offset1,s...
method constructor (line 17) | constructor(e,s){this.seq1Range=e,this.seq2Range=s}
method swap (line 17) | swap(){return new _(this.seq2Range,this.seq1Range)}
method toString (line 17) | toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}
method join (line 17) | join(e){return new _(this.seq1Range.join(e.seq1Range),this.seq2Range.j...
method delta (line 17) | delta(e){return e===0?this:new _(this.seq1Range.delta(e),this.seq2Rang...
method deltaStart (line 17) | deltaStart(e){return e===0?this:new _(this.seq1Range.deltaStart(e),thi...
method deltaEnd (line 17) | deltaEnd(e){return e===0?this:new _(this.seq1Range.deltaEnd(e),this.se...
method intersect (line 17) | intersect(e){const s=this.seq1Range.intersect(e.seq1Range),l=this.seq2...
method getStarts (line 17) | getStarts(){return new p(this.seq1Range.start,this.seq2Range.start)}
method getEndExclusives (line 17) | getEndExclusives(){return new p(this.seq1Range.endExclusive,this.seq2R...
method constructor (line 17) | constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new...
method get (line 17) | get(o){return o<0?(o=-o-1,this.negativeArr[o]):this.positiveArr[o]}
method set (line 17) | set(o,L){if(o<0){if(o=-o-1,o>=this.negativeArr.length){const e=this.ne...
method constructor (line 20) | constructor(c,o){this.index=c,this.remainder=o,this._prefixSumIndexOfR...
function p (line 9) | async function p(f,y,w){const E=_(f)+_(y)+"vscode/"+_(w),S=await fetch(E...
method constructor (line 15) | constructor(){this[R]="LinkedMap",this._map=new Map,this._head=void 0,...
method clear (line 15) | clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._si...
method isEmpty (line 15) | isEmpty(){return!this._head&&!this._tail}
method size (line 15) | get size(){return this._size}
method first (line 15) | get first(){var s;return(s=this._head)===null||s===void 0?void 0:s.value}
method last (line 15) | get last(){var s;return(s=this._tail)===null||s===void 0?void 0:s.value}
method has (line 15) | has(s){return this._map.has(s)}
method get (line 15) | get(s,l=0){const u=this._map.get(s);if(u)return l!==0&&this.touch(u,l)...
method set (line 15) | set(s,l,u=0){let b=this._map.get(s);if(b)b.value=l,u!==0&&this.touch(b...
method delete (line 15) | delete(s){return!!this.remove(s)}
method remove (line 15) | remove(s){const l=this._map.get(s);if(l)return this._map.delete(s),thi...
method shift (line 15) | shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail...
method forEach (line 15) | forEach(s,l){const u=this._state;let b=this._head;for(;b;){if(l?s.bind...
method keys (line 15) | keys(){const s=this,l=this._state;let u=this._head;const b={[Symbol.it...
method values (line 15) | values(){const s=this,l=this._state;let u=this._head;const b={[Symbol....
method entries (line 15) | entries(){const s=this,l=this._state;let u=this._head;const b={[Symbol...
method trimOld (line 15) | trimOld(s){if(s>=this.size)return;if(s===0){this.clear();return}let l=...
method addItemFirst (line 15) | addItemFirst(s){if(!this._head&&!this._tail)this._tail=s;else if(this....
method addItemLast (line 15) | addItemLast(s){if(!this._head&&!this._tail)this._head=s;else if(this._...
method removeItem (line 15) | removeItem(s){if(s===this._head&&s===this._tail)this._head=void 0,this...
method touch (line 15) | touch(s,l){if(!this._head||!this._tail)throw new Error("Invalid list")...
method toJSON (line 15) | toJSON(){const s=[];return this.forEach((l,u)=>{s.push([u,l])}),s}
method fromJSON (line 15) | fromJSON(s){this.clear();for(const[l,u]of s)this.set(l,u)}
method Copy (line 17) | static Copy(e,s,l,u,b){for(let f=0;f<b;f++)l[u+f]=e[s+f]}
method Copy2 (line 17) | static Copy2(e,s,l,u,b){for(let f=0;f<b;f++)l[u+f]=e[s+f]}
method constructor (line 17) | constructor(o=[]){this._normalizedRanges=o}
method ranges (line 17) | get ranges(){return this._normalizedRanges}
method addRange (line 17) | addRange(o){if(o.length===0)return;const L=(0,d.findFirstIdxMonotonous...
method contains (line 17) | contains(o){const L=(0,d.findLastMonotonous)(this._normalizedRanges,e=...
method intersects (line 17) | intersects(o){const L=(0,d.findLastMonotonous)(this._normalizedRanges,...
method getUnion (line 17) | getUnion(o){if(this._normalizedRanges.length===0)return o;if(o._normal...
method subtractFrom (line 17) | subtractFrom(o){const L=(0,d.findFirstIdxMonotonousOrArrLen)(this._nor...
method toString (line 17) | toString(){return this._normalizedRanges.map(o=>o.toString()).join(", ")}
method getIntersection (line 17) | getIntersection(o){const L=[];let e=0,s=0;for(;e<this._normalizedRange...
method getWithDelta (line 17) | getWithDelta(o){return new p(this._normalizedRanges.map(L=>L.delta(o)))}
method constructor (line 17) | constructor(e,s){this.offset1=e,this.offset2=s}
method toString (line 17) | toString(){return`${this.offset1} <-> ${this.offset2}`}
method delta (line 17) | delta(e){return e===0?this:new p(this.offset1+e,this.offset2+e)}
method equals (line 17) | equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}
method constructor (line 17) | constructor(){this.positiveArr=[],this.negativeArr=[]}
method get (line 17) | get(o){return o<0?(o=-o-1,this.negativeArr[o]):this.positiveArr[o]}
method set (line 17) | set(o,L){o<0?(o=-o-1,this.negativeArr[o]=L):this.positiveArr[o]=L}
method constructor (line 19) | constructor(l,u,b){this.lines=l,this.considerWhitespaceChanges=b,this....
method toString (line 19) | toString(){return`Slice: "${this.text}"`}
method text (line 19) | get text(){return this.getText(new R.OffsetRange(0,this.length))}
method getText (line 19) | getText(l){return this.elements.slice(l.start,l.endExclusive).map(u=>S...
method getElement (line 19) | getElement(l){return this.elements[l]}
method length (line 19) | get length(){return this.elements.length}
method getBoundaryScore (line 19) | getBoundaryScore(l){const u=e(l>0?this.elements[l-1]:-1),b=e(l<this.el...
method translateOffset (line 19) | translateOffset(l){if(this.lineRange.isEmpty)return new i.Position(thi...
method translateRange (line 19) | translateRange(l){return d.Range.fromPositions(this.translateOffset(l....
method findWordContaining (line 19) | findWordContaining(l){if(l<0||l>=this.elements.length||!c(this.element...
method countLinesIn (line 19) | countLinesIn(l){return this.translateOffset(l.endExclusive).lineNumber...
method isStronglyEqual (line 19) | isStronglyEqual(l,u){return this.elements[l]===this.elements[u]}
method extendToFullLines (line 19) | extendToFullLines(l){var u,b;const f=(u=(0,M.findLastMonotonous)(this....
method originalIndentSize (line 20) | get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":th...
method constructor (line 20) | constructor(b){this._textModelResolvedOptionsBrand=void 0,this.tabSize...
method equals (line 20) | equals(b){return this.tabSize===b.tabSize&&this._indentSizeIsTabSize==...
method createChangeEvent (line 20) | createChangeEvent(b){return{tabSize:this.tabSize!==b.tabSize,indentSiz...
method computeUnicodeHighlights (line 23) | static computeUnicodeHighlights(s,l,u){const b=u?u.startLineNumber:1,f...
method computeUnicodeHighlightReason (line 23) | static computeUnicodeHighlightReason(s,l){const u=new o(l);switch(u.sh...
method constructor (line 24) | constructor(h,v,N){this.offset=h,this.type=v,this.language=N,this._tok...
method toString (line 24) | toString(){return"("+this.offset+", "+this.type+")"}
function c (line 9) | function c(f){return function(y,w){const E=Array.prototype.slice.call(ar...
method constructor (line 11) | constructor(b){this._array=b,this._findLastMonotonousLastIdx=0}
method findLastMonotonous (line 11) | findLastMonotonous(b){if(c.assertInvariants){if(this._prevFindLastPred...
method constructor (line 15) | constructor(){super(_),this.name=this.message}
method constructor (line 15) | constructor(s,l=1){super(),this._limit=s,this._ratio=Math.min(Math.max...
method limit (line 15) | get limit(){return this._limit}
method limit (line 15) | set limit(s){this._limit=s,this.checkTrim()}
method get (line 15) | get(s,l=2){return super.get(s,l)}
method peek (line 15) | peek(s){return super.get(s,0)}
method set (line 15) | set(s,l){return super.set(s,l,2),this.checkTrim(),this}
method checkTrim (line 15) | checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit...
method constructor (line 17) | constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m...
method MarkNextChange (line 17) | MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&thi...
method AddOriginalElement (line 17) | AddOriginalElement(e,s){this.m_originalStart=Math.min(this.m_originalS...
method AddModifiedElement (line 17) | AddModifiedElement(e,s){this.m_originalStart=Math.min(this.m_originalS...
method getChanges (line 17) | getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&t...
method getReverseChanges (line 17) | getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCoun...
method isValid (line 17) | isValid(){return!0}
method constructor (line 20) | constructor(b,f){this._findMatchBrand=void 0,this.range=b,this.matches=f}
method constructor (line 20) | constructor(w,E,S,C){this.searchString=w,this.isRegex=E,this.matchCase...
method parseSearchRequest (line 20) | parseSearchRequest(){if(this.searchString==="")return null;let w;this....
method constructor (line 24) | constructor(h,v){this.tokens=h,this.endState=v,this._tokenizationResul...
function o (line 9) | function o(f){return(y,w,...E)=>({value:i(f[y],E),original:i(w,E)})}
method constructor (line 15) | constructor(s){if(this._m1=new Map,this._m2=new Map,s)for(const[l,u]of...
method clear (line 15) | clear(){this._m1.clear(),this._m2.clear()}
method set (line 15) | set(s,l){this._m1.set(s,l),this._m2.set(l,s)}
method get (line 15) | get(s){return this._m1.get(s)}
method getKey (line 15) | getKey(s){return this._m2.get(s)}
method delete (line 15) | delete(s){const l=this._m1.get(s);return l===void 0?!1:(this._m1.delet...
method keys (line 15) | keys(){return this._m1.keys()}
method values (line 15) | values(){return this._m1.values()}
method constructor (line 17) | constructor(e,s,l=null){this.ContinueProcessingPredicate=l,this._origi...
method _isStringArray (line 17) | static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}
method _getElements (line 17) | static _getElements(e){const s=e.getElements();if(o._isStringArray(s))...
method ElementsAreEqual (line 17) | ElementsAreEqual(e,s){return this._originalElementsOrHash[e]!==this._m...
method ElementsAreStrictEqual (line 17) | ElementsAreStrictEqual(e,s){if(!this.ElementsAreEqual(e,s))return!1;co...
method _getStrictElement (line 17) | static _getStrictElement(e,s){return typeof e.getStrictElement=="funct...
method OriginalElementsAreEqual (line 17) | OriginalElementsAreEqual(e,s){return this._originalElementsOrHash[e]!=...
method ModifiedElementsAreEqual (line 17) | ModifiedElementsAreEqual(e,s){return this._modifiedElementsOrHash[e]!=...
method ComputeDiff (line 17) | ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash...
method _ComputeDiff (line 17) | _ComputeDiff(e,s,l,u,b){const f=[!1];let y=this.ComputeDiffRecursive(e...
method ComputeDiffRecursive (line 17) | ComputeDiffRecursive(e,s,l,u,b){for(b[0]=!1;e<=s&&l<=u&&this.ElementsA...
method WALKTRACE (line 17) | WALKTRACE(e,s,l,u,b,f,y,w,E,S,C,r,a,g,m,h,v,N){let A=null,D=null,P=new...
method ComputeRecursionPoint (line 17) | ComputeRecursionPoint(e,s,l,u,b,f,y){let w=0,E=0,S=0,C=0,r=0,a=0;e--,l...
method PrettifyChanges (line 17) | PrettifyChanges(e){for(let s=0;s<e.length;s++){const l=e[s],u=s<e.leng...
method _findBetterContiguousSequence (line 17) | _findBetterContiguousSequence(e,s,l,u,b){if(s<b||u<b)return null;const...
method _contiguousSequenceScore (line 17) | _contiguousSequenceScore(e,s,l){let u=0;for(let b=0;b<l;b++){if(!this....
method _OriginalIsBoundary (line 17) | _OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.le...
method _OriginalRegionIsBoundary (line 17) | _OriginalRegionIsBoundary(e,s){if(this._OriginalIsBoundary(e)||this._O...
method _ModifiedIsBoundary (line 17) | _ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.le...
method _ModifiedRegionIsBoundary (line 17) | _ModifiedRegionIsBoundary(e,s){if(this._ModifiedIsBoundary(e)||this._M...
method _boundaryScore (line 17) | _boundaryScore(e,s,l,u){const b=this._OriginalRegionIsBoundary(e,s)?1:...
method ConcatenateChanges (line 17) | ConcatenateChanges(e,s){const l=[];if(e.length===0||s.length===0)retur...
method ChangesOverlap (line 17) | ChangesOverlap(e,s,l){if(_.Assert(e.originalStart<=s.originalStart,"Le...
method ClipDiagonalBound (line 17) | ClipDiagonalBound(e,s,l,u){if(e>=0&&e<u)return e;const b=l,f=u-l-1,y=s...
method constructor (line 17) | constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=...
method isValid (line 17) | isValid(){if(!(Date.now()-this.startTime<this.timeout)&&this.valid){th...
method _createLink (line 20) | static _createLink(s,l,u,b,f){let y=f-1;do{const w=l.charCodeAt(y);if(...
method computeLinks (line 20) | static computeLinks(s,l=_()){const u=c(),b=[];for(let f=1,y=s.getLineC...
method constructor (line 23) | constructor(s){this.options=s,this.allowedCodePoints=new Set(s.allowed...
method getCandidateCodePoints (line 23) | getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBa...
method shouldHighlightNonBasicASCII (line 23) | shouldHighlightNonBasicASCII(s,l){const u=s.codePointAt(0);if(this.all...
method constructor (line 24) | constructor(h,v){this.tokens=h,this.endState=v,this._encodedTokenizati...
function L (line 9) | function L(f,y,...w){return i(y,w)}
method constructor (line 15) | constructor(){this.map=new Map}
method add (line 15) | add(s,l){let u=this.map.get(s);u||(u=new Set,this.map.set(s,u)),u.add(l)}
method delete (line 15) | delete(s,l){const u=this.map.get(s);u&&(u.delete(l),u.size===0&&this.m...
method forEach (line 15) | forEach(s,l){const u=this.map.get(s);u&&u.forEach(l)}
method get (line 15) | get(s){const l=this.map.get(s);return l||new Set}
method constructor (line 15) | constructor(v){this.listenerCount=0,this.invocationCount=0,this.elapse...
method start (line 15) | start(v){this._stopWatch=new _.StopWatch,this.listenerCount=v}
method stop (line 15) | stop(){if(this._stopWatch){const v=this._stopWatch.elapsed();this.dura...
method computeDiff (line 20) | computeDiff(r,a,g){var m;const v=new y(r,a,{maxComputationTime:g.maxCo...
method constructor (line 20) | constructor(b,f,y,w,E,S){this.identifier=b,this.range=f,this.text=y,th...
function e (line 9) | function e(f,y,...w){const E=i(y,w);return{value:E,original:E}}
method constructor (line 20) | constructor(b,f,y){this.regex=b,this.wordSeparators=f,this.simpleSearc...
method constructor (line 21) | constructor(w){const E=[];let S=0;for(let C=0,r=w.length;C<r;C++)w.cha...
method findLineFeedCountBeforeOffset (line 21) | findLineFeedCountBeforeOffset(w){const E=this._lineFeedsOffsets;let S=...
method constructor (line 24) | constructor(g,m,h,v){this.vsWorker=g,this.req=m,this.method=h,this.arg...
method chord (line 24) | static chord(u,b){return(0,i.KeyChord)(u,b)}
function s (line 9) | function s(f){}
method constructor (line 15) | constructor(f){super("NotSupported"),f&&(this.message=f)}
method constructor (line 15) | constructor(v,N=Math.random().toString(18).slice(2,5)){this.threshold=...
method dispose (line 15) | dispose(){var v;(v=this._stacks)===null||v===void 0||v.clear()}
method check (line 15) | check(v,N){const A=this.threshold;if(A<=0||N<A)return;this._stacks||(t...
method constructor (line 20) | constructor(r){const a=[],g=[];for(let m=0,h=r.length;m<h;m++)a[m]=w(r...
method getElements (line 20) | getElements(){const r=[];for(let a=0,g=this.lines.length;a<g;a++)r[a]=...
method getStrictElement (line 20) | getStrictElement(r){return this.lines[r]}
method getStartLineNumber (line 20) | getStartLineNumber(r){return r+1}
method getEndLineNumber (line 20) | getEndLineNumber(r){return r+1}
method createCharSequence (line 20) | createCharSequence(r,a,g){const m=[],h=[],v=[];let N=0;for(let A=a;A<=...
method constructor (line 20) | constructor(b,f,y){this.reverseEdits=b,this.changes=f,this.trimAutoWhi...
method findMatches (line 21) | static findMatches(w,E,S,C,r){const a=E.parseSearchRequest();return a?...
method _getMultilineMatchRange (line 21) | static _getMultilineMatchRange(w,E,S,C,r,a){let g,m=0;C?(m=C.findLineF...
method _doFindMatchesMultiline (line 21) | static _doFindMatchesMultiline(w,E,S,C,r){const a=w.getOffsetAt(E.getS...
method _doFindMatchesLineByLine (line 22) | static _doFindMatchesLineByLine(w,E,S,C,r){const a=[];let g=0;if(E.sta...
method _findMatchesInLine (line 22) | static _findMatchesInLine(w,E,S,C,r,a,g,m){const h=w.wordSeparators;if...
method findNextMatch (line 22) | static findNextMatch(w,E,S,C){const r=E.parseSearchRequest();if(!r)ret...
method _doFindNextMatchMultiline (line 22) | static _doFindNextMatchMultiline(w,E,S,C){const r=new i.Position(E.lin...
method _doFindNextMatchLineByLine (line 23) | static _doFindNextMatchLineByLine(w,E,S,C){const r=w.getLineCount(),a=...
method _findFirstMatchInLine (line 23) | static _findFirstMatchInLine(w,E,S,C,r){w.reset(C-1);const a=w.next(E)...
method findPreviou
Copy disabled (too large)
Download .json
Condensed preview — 6672 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (51,517K chars).
[
{
"path": ".config/configuration.vsEnterprise.winget",
"chars": 1452,
"preview": "# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2\n# Reference: https://github.com/microsoft/Po"
},
{
"path": ".config/configuration.vsProfessional.winget",
"chars": 1458,
"preview": "# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2\n# Reference: https://github.com/microsoft/Po"
},
{
"path": ".config/configuration.winget",
"chars": 1449,
"preview": "# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2\n# Reference: https://github.com/microsoft/Po"
},
{
"path": ".config/dotnet-tools.json",
"chars": 358,
"preview": "{\n \"version\": 1,\n \"isRoot\": true,\n \"tools\": {\n \"dotnet-consolidate\": {\n \"version\": \"4.2.0\",\n "
},
{
"path": ".gitattributes",
"chars": 731,
"preview": "###############################################################################\r\n# Set default behavior to automatically"
},
{
"path": ".github/CODEOWNERS",
"chars": 704,
"preview": "# Protect `.github` folder except the spell-check rules inside it. (The exception happens by not defining any owner user"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.yml",
"chars": 4215,
"preview": "name: \"🕷️ Bug report\"\ndescription: Report errors or unexpected behavior\nlabels:\n- Issue-Bug\n- Needs-Triage\nbody:\n- type:"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 407,
"preview": "blank_issues_enabled: false\ncontact_links:\n - name: \"\\U0001F4DA PowerToys user documentation\"\n url: https://aka.ms/p"
},
{
"path": ".github/ISSUE_TEMPLATE/documentation-issue.yml",
"chars": 314,
"preview": "name: \"📚 Documentation Issue\"\ndescription: Report issues in our documentation\nlabels: \n- Issue-Docs\n- Needs-Triage \nbody"
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.yml",
"chars": 915,
"preview": "name: \"⭐ Feature or enhancement request\"\ndescription: Propose something new.\ntype: Feature\nlabels:\n- Needs-Triage\nbody:\n"
},
{
"path": ".github/ISSUE_TEMPLATE/translation_issue.yml",
"chars": 1984,
"preview": "name: \"🌐 Localization/Translation issue\"\ndescription: Report incorrect translations.\ntype: Bug\nlabels:\n- Issue-Bug\n- Are"
},
{
"path": ".github/actions/spell-check/README.md",
"chars": 2277,
"preview": "# check-spelling/check-spelling configuration\n\nFile | Purpose | Format | Info\n-|-|-|-\n[allow.txt](allow.txt) | Add words"
},
{
"path": ".github/actions/spell-check/advice.md",
"chars": 1186,
"preview": "<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-di"
},
{
"path": ".github/actions/spell-check/allow/code.txt",
"chars": 3507,
"preview": "# COLORS\n\nargb\nBgr\nbgra\nBLACKONWHITE\nBLUEGRAY\nBRIGHTGREEN\nCOLORONCOLOR\nDARKPURPLE\nDARKTEAL\nDARKYELLOW\nFarbraum\nICEBLUE\nL"
},
{
"path": ".github/actions/spell-check/allow/names.txt",
"chars": 2150,
"preview": "# POWERTOYS\n\nalwaysontop\ncolorpicker\nfancyzones\nimageresizer\nkbm\nkeyboardmanager\nmarkdownpreviewhandler\nmousewithoutbord"
},
{
"path": ".github/actions/spell-check/allow/zoomit.txt",
"chars": 1680,
"preview": "accelscroll\nacq\nadr\nAdr\nAPPLYTOSUBMENUS\nAUDCLNT\naxisdefer\naxisflip\naxisstart\nbitmaps\nBREAKSCR\nBUFFERFLAGS\nCands\ncapturep"
},
{
"path": ".github/actions/spell-check/candidate.patterns",
"chars": 21241,
"preview": "# D2D\n#D?2D\n\n# Repeated letters\n\\b([a-z])\\g{-1}{2,}\\b\n\n# marker to ignore all code on line\n^.*/\\* #no-spell-check-line \\"
},
{
"path": ".github/actions/spell-check/excludes.txt",
"chars": 4325,
"preview": "# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes\n(?:^|/)(?i)COPYRIGHT\n(?:^|/"
},
{
"path": ".github/actions/spell-check/expect.txt",
"chars": 22301,
"preview": "abcdefghjkmnpqrstuvxyz\nabgr\nABlocked\nABOUTBOX\nAbug\nAcceleratorkeys\nACCEPTFILES\nACCESSDENIED\nACCESSTOKEN\nAClient\nAColumn\n"
},
{
"path": ".github/actions/spell-check/line_forbidden.patterns",
"chars": 15624,
"preview": "# reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere\n# see [fprime](https://github.com/"
},
{
"path": ".github/actions/spell-check/patterns.txt",
"chars": 7706,
"preview": "# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns\n\n# marker to ignore all cod"
},
{
"path": ".github/actions/spell-check/reject.txt",
"chars": 232,
"preview": "^attache$\n^bellows?$\nbenefitting\noccurences?\n^dependan.*\n^develope$\n^developement$\n^developpe\n^Devers?$\n^devex\n^devide\n^"
},
{
"path": ".github/copilot-instructions.md",
"chars": 987,
"preview": "---\ndescription: 'PowerToys AI contributor guidance'\n---\n\n# PowerToys – Copilot Instructions\n\nConcise guidance for AI co"
},
{
"path": ".github/copilot-workspace/policy.json",
"chars": 59,
"preview": "{\n \"allowPullRequests\": false,\n \"allowComments\": false\n}\n"
},
{
"path": ".github/dependabot.yml",
"chars": 118,
"preview": "version: 2\nupdates:\n - package-ecosystem: \"github-actions\"\n directory: \"/\"\n schedule:\n interval: \"weekly\"\n"
},
{
"path": ".github/instructions/agent-skills.instructions.md",
"chars": 11450,
"preview": "---\ndescription: 'Guidelines for creating high-quality Agent Skills for GitHub Copilot'\napplyTo: '**/.github/skills/**/S"
},
{
"path": ".github/instructions/agents.instructions.md",
"chars": 25846,
"preview": "---\ndescription: 'Guidelines for creating custom agent files for GitHub Copilot'\napplyTo: '**/*.agent.md'\n---\n\n# Custom "
},
{
"path": ".github/instructions/azure-devops-pipelines.instructions.md",
"chars": 7018,
"preview": "---\ndescription: 'Best practices for Azure DevOps Pipeline YAML files'\napplyTo: '**/azure-pipelines.yml, **/azure-pipeli"
},
{
"path": ".github/instructions/common-libraries.instructions.md",
"chars": 2046,
"preview": "---\ndescription: 'Guidelines for shared libraries including logging, IPC, settings, DPI, telemetry, and utilities consum"
},
{
"path": ".github/instructions/instructions.instructions.md",
"chars": 7291,
"preview": "---\ndescription: 'Guidelines for creating high-quality custom instruction files for GitHub Copilot'\napplyTo: '**/*.instr"
},
{
"path": ".github/instructions/prompt.instructions.md",
"chars": 6141,
"preview": "---\ndescription: 'Guidelines for creating high-quality prompt files for GitHub Copilot'\napplyTo: '**/*.prompt.md'\n---\n\n#"
},
{
"path": ".github/instructions/runner-settings-ui.instructions.md",
"chars": 2457,
"preview": "---\ndescription: 'Guidelines for Runner and Settings UI components that communicate via named pipes and manage module li"
},
{
"path": ".github/instructions/typescript-mcp-server.instructions.md",
"chars": 7992,
"preview": "---\ndescription: 'Instructions for building Model Context Protocol (MCP) servers using the TypeScript SDK'\napplyTo: '**/"
},
{
"path": ".github/policies/resourceManagement.yml",
"chars": 9593,
"preview": "id: \r\nname: GitOps.PullRequestIssueManagement\r\ndescription: GitOps.PullRequestIssueManagement primitive\r\nowner: \r\nresour"
},
{
"path": ".github/prompts/create-commit-title.prompt.md",
"chars": 1918,
"preview": "---\nagent: 'agent'\ndescription: 'Generate an 80-character git commit title for the local diff'\n---\n\n# Generate Commit Ti"
},
{
"path": ".github/prompts/create-pr-summary.prompt.md",
"chars": 2143,
"preview": "---\nagent: 'agent'\ndescription: 'Generate a PowerToys-ready pull request description from the local diff'\n---\n\n# Generat"
},
{
"path": ".github/prompts/fix-issue.prompt.md",
"chars": 2754,
"preview": "---\nagent: 'agent'\ndescription: 'Execute the fix for a GitHub issue using the previously generated implementation plan'\n"
},
{
"path": ".github/prompts/fix-pr-active-comments.prompt.md",
"chars": 2710,
"preview": "---\ndescription: 'Fix active pull request comments with scoped changes'\nname: 'fix-pr-active-comments'\nagent: 'agent'\nar"
},
{
"path": ".github/prompts/fix-spelling.prompt.md",
"chars": 2077,
"preview": "---\nagent: 'agent'\ndescription: 'Resolve Code scanning / check-spelling comments on the active PR'\n---\n\n# Fix Spelling C"
},
{
"path": ".github/prompts/review-issue.prompt.md",
"chars": 8714,
"preview": "---\nagent: 'agent'\ndescription: 'Review a GitHub issue, score it (0-100), and generate an implementation plan'\n---\n\n# Re"
},
{
"path": ".github/prompts/review-pr.prompt.md",
"chars": 12074,
"preview": "---\nagent: 'agent'\ndescription: 'Perform a comprehensive PR review with per-step Markdown and machine-readable outputs'\n"
},
{
"path": ".github/pull_request_template.md",
"chars": 1784,
"preview": "<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even man"
},
{
"path": ".github/review-tools/Get-GitHubPrFilePatch.ps1",
"chars": 2508,
"preview": "<#\n.SYNOPSIS\n Retrieves the unified diff patch for a specific file in a GitHub pull request.\n\n.DESCRIPTION\n This s"
},
{
"path": ".github/review-tools/Get-GitHubRawFile.ps1",
"chars": 3255,
"preview": "<#\n.SYNOPSIS\n Downloads and displays the content of a file from a GitHub repository at a specific git reference.\n\n.DE"
},
{
"path": ".github/review-tools/Get-PrIncrementalChanges.ps1",
"chars": 6700,
"preview": "<#\n.SYNOPSIS\n Detects changes between the last reviewed commit and current head of a pull request.\n\n.DESCRIPTION\n "
},
{
"path": ".github/review-tools/Test-IncrementalReview.ps1",
"chars": 7212,
"preview": "<#\n.SYNOPSIS\n Tests and previews incremental review detection for a pull request.\n\n.DESCRIPTION\n This helper scrip"
},
{
"path": ".github/review-tools/review-tools.instructions.md",
"chars": 10777,
"preview": "---\ndescription: PowerShell scripts for efficient PR reviews in PowerToys repository\napplyTo: '**'\n---\n\n# PR Review Tool"
},
{
"path": ".github/skills/release-note-generation/LICENSE.txt",
"chars": 11355,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": ".github/skills/release-note-generation/SKILL.md",
"chars": 5732,
"preview": "---\nname: release-note-generation\ndescription: Toolkit for generating PowerToys release notes from GitHub milestone PRs "
},
{
"path": ".github/skills/release-note-generation/references/SampleOutput.md",
"chars": 969,
"preview": " - Added mouse button actions so you can choose what left, right, or middle click does in [#1234](https://github.com/mic"
},
{
"path": ".github/skills/release-note-generation/references/step1-collection.md",
"chars": 6484,
"preview": "# Step 1: Collection and Milestones\n\n## 1.0 To-do\n- 1.0.0 Verify GitHub CLI authentication (REQUIRED)\n- 1.0.1 Generate M"
},
{
"path": ".github/skills/release-note-generation/references/step2-labeling.md",
"chars": 4821,
"preview": "# Step 2: Label Unlabeled PRs\n\n## 2.0 To-do\n- 2.1 Identify unlabeled PRs (Agent Mode)\n- 2.2 Suggest labels (Agent Mode)\n"
},
{
"path": ".github/skills/release-note-generation/references/step3-review-grouping.md",
"chars": 1229,
"preview": "# Step 3: Copilot Reviews and Grouping\n\n## 3.0 To-do\n- 3.1 Request Copilot Reviews (Agent Mode)\n- 3.2 Refresh PR Data\n- "
},
{
"path": ".github/skills/release-note-generation/references/step4-summarization.md",
"chars": 4219,
"preview": "# Step 4: Summaries and Final Release Notes\n\n## 4.0 To-do\n- 4.1 Generate Summary Markdown (Agent Mode)\n- 4.2 Produce Fin"
},
{
"path": ".github/skills/release-note-generation/scripts/apply-labels.ps1",
"chars": 2760,
"preview": "<#\n.SYNOPSIS\n Apply labels to PRs from a CSV file.\n\n.DESCRIPTION\n Reads a CSV with Id and Label columns and applie"
},
{
"path": ".github/skills/release-note-generation/scripts/collect-or-apply-milestones.ps1",
"chars": 7867,
"preview": "<#\n.SYNOPSIS\n Collect existing PR milestones or (optionally) assign/apply a milestone to missing PRs in one script.\n\n"
},
{
"path": ".github/skills/release-note-generation/scripts/diff_prs.ps1",
"chars": 3995,
"preview": "<#\n.SYNOPSIS\n Produce an incremental PR CSV containing rows present in a newer full export but absent from a baseline"
},
{
"path": ".github/skills/release-note-generation/scripts/dump-prs-since-commit.ps1",
"chars": 16653,
"preview": "<#\n.SYNOPSIS\n Export merged PR metadata between two commits (exclusive start, inclusive end) to JSON and CSV.\n\n.DESCR"
},
{
"path": ".github/skills/release-note-generation/scripts/find-commit-by-title.ps1",
"chars": 2664,
"preview": "<#\n.SYNOPSIS\n Find a commit on a branch that has the same subject line as a reference commit.\n\n.DESCRIPTION\n Given"
},
{
"path": ".github/skills/release-note-generation/scripts/group-prs-by-label.ps1",
"chars": 3347,
"preview": "<#\n.SYNOPSIS\n Group PR rows by their Labels column and emit per-label CSV files.\n\n.DESCRIPTION\n Reads a milestone "
},
{
"path": ".github/skills/winmd-api-search/LICENSE.txt",
"chars": 1099,
"preview": "The MIT License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nPermission is hereby granted, free of charge"
},
{
"path": ".github/skills/winmd-api-search/SKILL.md",
"chars": 8705,
"preview": "---\nname: winmd-api-search\ndescription: 'Find and explore Windows desktop APIs. Use when building features that need pla"
},
{
"path": ".github/skills/winmd-api-search/scripts/Invoke-WinMdQuery.ps1",
"chars": 17802,
"preview": "<#\n.SYNOPSIS\n Query WinMD API metadata from cached JSON files.\n\n.DESCRIPTION\n Reads pre-built JSON cache of WinMD "
},
{
"path": ".github/skills/winmd-api-search/scripts/Update-WinMdCache.ps1",
"chars": 7619,
"preview": "<#\n.SYNOPSIS\n Generate or refresh the WinMD cache for the Agent Skill.\n\n.DESCRIPTION\n Builds and runs the standalo"
},
{
"path": ".github/skills/winmd-api-search/scripts/cache-generator/CacheGenerator.csproj",
"chars": 1450,
"preview": "<Project Sdk=\"Microsoft.NET.Sdk\">\n <PropertyGroup>\n <OutputType>Exe</OutputType>\n <!-- Default fallback; Update-W"
},
{
"path": ".github/skills/winmd-api-search/scripts/cache-generator/Directory.Build.props",
"chars": 101,
"preview": "<Project>\n <!-- Isolate this standalone tool from the repo-level build configuration -->\n</Project>\n"
},
{
"path": ".github/skills/winmd-api-search/scripts/cache-generator/Directory.Build.targets",
"chars": 95,
"preview": "<Project>\n <!-- Isolate this standalone tool from the repo-level build targets -->\n</Project>\n"
},
{
"path": ".github/skills/winmd-api-search/scripts/cache-generator/Directory.Packages.props",
"chars": 108,
"preview": "<Project>\n <!-- Isolate this standalone tool from the repo-level Central Package Management -->\n</Project>\n"
},
{
"path": ".github/skills/winmd-api-search/scripts/cache-generator/Program.cs",
"chars": 45152,
"preview": "// Standalone WinMD cache generator — per-package deduplicate, multi-project support.\r\n// Parses WinMD files from NuGet "
},
{
"path": ".github/skills/wpf-to-winui3-migration/SKILL.md",
"chars": 11136,
"preview": "---\nname: wpf-to-winui3-migration\ndescription: Guide for migrating PowerToys modules from WPF to WinUI 3 (Windows App SD"
},
{
"path": ".github/skills/wpf-to-winui3-migration/references/imaging-migration.md",
"chars": 10983,
"preview": "# Imaging API Migration\n\nMigrating from WPF (`System.Windows.Media.Imaging` / `PresentationCore.dll`) to WinRT (`Windows"
},
{
"path": ".github/skills/wpf-to-winui3-migration/references/namespace-api-mapping.md",
"chars": 9877,
"preview": "# Namespace and API Mapping Reference\n\nComplete reference for mapping WPF types to WinUI 3 equivalents, based on the Ima"
},
{
"path": ".github/skills/wpf-to-winui3-migration/references/powertoys-patterns.md",
"chars": 16627,
"preview": "# PowerToys-Specific Migration Patterns\n\nPatterns and conventions specific to the PowerToys codebase, based on the Image"
},
{
"path": ".github/skills/wpf-to-winui3-migration/references/threading-and-windowing.md",
"chars": 9168,
"preview": "# Threading and Window Management Migration\n\nBased on patterns from the ImageResizer migration.\n\n## Dispatcher → Dispatc"
},
{
"path": ".github/skills/wpf-to-winui3-migration/references/xaml-migration.md",
"chars": 11117,
"preview": "# XAML Migration Guide\n\nDetailed reference for migrating XAML from WPF to WinUI 3, based on the ImageResizer migration.\n"
},
{
"path": ".github/workflows/automatic-issue-deduplication.yml",
"chars": 481,
"preview": "name: Automatic New Issue Deduplication\non:\n issues:\n types: [opened, reopened]\npermissions:\n models: read\n issues"
},
{
"path": ".github/workflows/dependency-review.yml",
"chars": 1077,
"preview": "# Dependency Review Action\n#\n# This Action will scan dependency manifest files that change as part of a Pull Request,\n# "
},
{
"path": ".github/workflows/manual-batch-issue-deduplication.yml",
"chars": 1102,
"preview": "name: Manual Batch Issue Deduplication\n\non:\n workflow_dispatch:\n inputs:\n issue_numbers:\n description: \""
},
{
"path": ".github/workflows/msstore-submissions.yml",
"chars": 3554,
"preview": "name: Store submission on release\n\non:\n workflow_dispatch:\n release:\n types: [published]\n\npermissions:\n id-token: "
},
{
"path": ".github/workflows/package-submissions.yml",
"chars": 1868,
"preview": "name: WinGet submission on release\n\non:\n workflow_dispatch:\n release:\n types: [published]\n\njobs:\n winget:\n name"
},
{
"path": ".github/workflows/spelling2.yml",
"chars": 7570,
"preview": "# spelling.yml is blocked per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-g86g-chm8-7r2p\nn"
},
{
"path": ".gitignore",
"chars": 6640,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## G"
},
{
"path": ".gitmodules",
"chars": 206,
"preview": "[submodule \"deps/spdlog\"]\n\tpath = deps/spdlog\n\turl = https://github.com/gabime/spdlog.git\n[submodule \"deps/expected-lite"
},
{
"path": ".pipelines/CIPolicy.xml",
"chars": 1257,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<SiPolicy xmlns=\"urn:schemas-microsoft-com:sipolicy\">\n <VersionEx>10.0.0.0</Vers"
},
{
"path": ".pipelines/ESRPSigning_DSC.json",
"chars": 1942,
"preview": "{\n \"Version\": \"1.0.0\",\n \"UseMinimatch\": false,\n \"SignBatches\": [\n {\n \"MatchedPath\": [\n "
},
{
"path": ".pipelines/ESRPSigning_cmdpal_msix_content.json",
"chars": 1900,
"preview": "{\n \"Version\": \"1.0.0\",\n \"UseMinimatch\": false,\n \"SignBatches\": [\n {\n \"MatchedPath\": [\n "
},
{
"path": ".pipelines/ESRPSigning_core.json",
"chars": 19055,
"preview": "{\n \"Version\": \"1.0.0\",\n \"UseMinimatch\": false,\n \"SignBatches\": [\n {\n \"MatchedPath\": [\n "
},
{
"path": ".pipelines/ESRPSigning_sdk.json",
"chars": 4293,
"preview": "{\n \"Version\": \"1.0.0\",\n \"UseMinimatch\": false,\n \"SignBatches\": [\n {\n \"MatchedPath\": [\n "
},
{
"path": ".pipelines/InstallWinAppDriver.ps1",
"chars": 770,
"preview": "$ProgressPreference = 'SilentlyContinue'\n\n$WinAppDriverDownloadUrl = \"https://github.com/microsoft/WinAppDriver/releases"
},
{
"path": ".pipelines/UpdateVersions.ps1",
"chars": 22487,
"preview": "Param(\n # Using the default value of 1.7 for winAppSdkVersionNumber and useExperimentalVersion as false\n [Parameter(Ma"
},
{
"path": ".pipelines/applyXamlStyling.ps1",
"chars": 4297,
"preview": "<#\n .SYNOPSIS\n Modify XAML files to adhere to XAML Styler settings.\n\n .DESCRIPTION\n The Apply XAML Stying S"
},
{
"path": ".pipelines/generateDscManifests.ps1",
"chars": 3374,
"preview": "[CmdletBinding()]\nparam(\n [Parameter(Mandatory = $true)]\n [string]$BuildPlatform,\n\n [Parameter(Mandatory = $tru"
},
{
"path": ".pipelines/installPowertoys.ps1",
"chars": 1517,
"preview": "param(\n [Parameter()]\n [ValidateSet(\"Machine\", \"PerUser\")]\n [string]$InstallMode = \"Machine\"\n)\n\n$ProgressPrefer"
},
{
"path": ".pipelines/loc/loc.yml",
"chars": 1263,
"preview": "trigger: none\npr: none\nschedules:\n - cron: \"0 3 * * 2-6\" # Run at 03:00 UTC Tuesday through Saturday (After the work da"
},
{
"path": ".pipelines/packages.config",
"chars": 127,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n <package id=\"Microsoft.PowerToys.Telemetry\" version=\"2.0.4\" />\n</pac"
},
{
"path": ".pipelines/release-nuget.config",
"chars": 546,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <packageSources>\n <clear />\n <add key=\"PowerToy"
},
{
"path": ".pipelines/tsa.json",
"chars": 298,
"preview": "{\n \"codebaseName\": \"PowerToys_main\",\n \"notificationAliases\": [\"powertoys@microsoft.com\"],\n \"instanceUrl\": \"http"
},
{
"path": ".pipelines/v2/ci-nightly.yml",
"chars": 932,
"preview": "# .pipelines/v2/nightly-prewarm.yml\n# Nightly pre-warm that reuses your existing ci.yml as-is\n\ntrigger: none\npr: none\n\n#"
},
{
"path": ".pipelines/v2/ci-test-with-canary-webview2.yml",
"chars": 1151,
"preview": "trigger: none\npr: none\nschedules:\n - cron: \"0 0 * * *\" # every day at midnight\n displayName: \"Daily midnight Build\"\n"
},
{
"path": ".pipelines/v2/ci-using-the-latest-winappsdk.yml",
"chars": 2578,
"preview": "# NOTE: When using artifact mode (useArtifactSource: true), the pipeline needs\n# permission to access System.AccessToken"
},
{
"path": ".pipelines/v2/ci.yml",
"chars": 1087,
"preview": "trigger:\n batch: true\n branches:\n include:\n - main\n - stable\n# paths:\n# exclude:\n# - doc/*\n# "
},
{
"path": ".pipelines/v2/oneFuzz.yml",
"chars": 1750,
"preview": "pr: none\ntrigger: none\n\nschedules:\n - cron: \"0 0 * * 1\"\n displayName: Weekly fuzzing submission\n branches:\n "
},
{
"path": ".pipelines/v2/release.yml",
"chars": 6385,
"preview": "trigger: none\npr: none\n\nresources:\n repositories:\n - repository: 1ESPipelineTemplates\n type: git\n name: 1ESPipel"
},
{
"path": ".pipelines/v2/templates/job-build-project.yml",
"chars": 26411,
"preview": "parameters:\n - name: additionalBuildOptions\n type: string\n default: ''\n - name: buildConfigurations\n type: ob"
},
{
"path": ".pipelines/v2/templates/job-build-sdk.yml",
"chars": 3089,
"preview": "parameters:\n - name: buildConfigurations\n type: object\n default:\n - Release\n - name: official\n type: boo"
},
{
"path": ".pipelines/v2/templates/job-build-ui-tests.yml",
"chars": 4026,
"preview": "# Minimal UI Tests Build Template\n# This template only builds UI test projects and stages their test DLLs for consumptio"
},
{
"path": ".pipelines/v2/templates/job-fuzz.yml",
"chars": 911,
"preview": "parameters:\n - name: configuration\n type: string\n default: \"Release\"\n - name: platform\n type: string\n defa"
},
{
"path": ".pipelines/v2/templates/job-publish-symbols-using-symbolrequestprod-api.yml",
"chars": 4417,
"preview": "parameters:\n - name: includePublicSymbolServer\n type: boolean\n default: false\n - name: pool\n type: object\n "
},
{
"path": ".pipelines/v2/templates/job-test-project.yml",
"chars": 5654,
"preview": "parameters:\n - name: configuration\n type: string\n default: \"Release\"\n - name: platform\n type: string\n defa"
},
{
"path": ".pipelines/v2/templates/pipeline-ci-build.yml",
"chars": 3665,
"preview": "variables:\n - name: runCodesignValidationInjectionBG\n value: false\n - name: EnablePipelineCache\n value: true\n\npa"
},
{
"path": ".pipelines/v2/templates/pipeline-ui-tests-automation.yml",
"chars": 1823,
"preview": "variables:\n - name: runCodesignValidationInjectionBG\n value: false\n - name: EnablePipelineCache\n value: true\n\npa"
},
{
"path": ".pipelines/v2/templates/pipeline-ui-tests-full-build.yml",
"chars": 2870,
"preview": "# Template for full build path: Build PowerToys + Build UI Tests + Run Tests\nparameters:\n - name: platform\n type: st"
},
{
"path": ".pipelines/v2/templates/pipeline-ui-tests-official-build.yml",
"chars": 4226,
"preview": "# Template for official build path: Download Official Build + Build UI Tests Only + Run Tests\nparameters:\n - name: plat"
},
{
"path": ".pipelines/v2/templates/steps-build-installer-vnext.yml",
"chars": 9445,
"preview": "parameters:\n - name: versionNumber\n type: string\n default: \"0.0.1\"\n - name: codeSign\n type: boolean\n defau"
},
{
"path": ".pipelines/v2/templates/steps-download-artifacts-with-azure-cli.yml",
"chars": 1490,
"preview": "parameters:\n- name: artifactName\n type: string\n default: \"\"\n\n# Why use az cli to download? → The ARM agent may run int"
},
{
"path": ".pipelines/v2/templates/steps-ensure-dotnet-version.yml",
"chars": 1163,
"preview": "parameters:\n- name: version\n type: string\n default: \"9.0\"\n- name: sdk\n type: boolean\n default: false\n\n# You might be"
},
{
"path": ".pipelines/v2/templates/steps-ensure-nuget-version.yml",
"chars": 100,
"preview": "steps:\n- task: NuGetToolInstaller@1\n displayName: Use NuGet 6.6.1\n inputs:\n versionSpec: 6.6.1\n"
},
{
"path": ".pipelines/v2/templates/steps-esrp-sign-files-authenticode.yml",
"chars": 1416,
"preview": "parameters:\n - name: displayName\n type: string\n default: Sign Specific Files\n - name: folder\n type: string\n "
},
{
"path": ".pipelines/v2/templates/steps-esrp-signing.yml",
"chars": 915,
"preview": "parameters:\n - name: displayName\n type: string\n default: ESRP Code Signing\n - name: inputs\n type: object\n "
},
{
"path": ".pipelines/v2/templates/steps-fetch-and-prepare-localizations.yml",
"chars": 770,
"preview": "parameters:\n - name: includePseudoLoc\n type: boolean\n default: false\n\nsteps:\n - task: TouchdownBuildTask@5\n d"
},
{
"path": ".pipelines/v2/templates/steps-restore-nuget.yml",
"chars": 693,
"preview": "steps:\n- template: steps-ensure-nuget-version.yml\n\n- task: NuGetAuthenticate@1\n\n- script: |-\n echo ##vso[task.setvari"
},
{
"path": ".pipelines/v2/templates/steps-setup-versioning.yml",
"chars": 516,
"preview": "parameters:\n - name: directory\n type: string\n default: $(Build.SourcesDirectory)\n\nsteps:\n - pwsh: |-\n nuget"
},
{
"path": ".pipelines/v2/templates/steps-update-winappsdk-and-restore-nuget.yml",
"chars": 2050,
"preview": "parameters:\n - name: versionNumber\n type: string\n default: 1.6\n - name: useExperimentalVersion\n type: boolean"
},
{
"path": ".pipelines/v2/templates/variables-nuget-package-version.yml",
"chars": 790,
"preview": "variables:\n # If we are building a branch called \"stable*\", hide the NuGet suffix.\n # If we don't do that, XES will se"
},
{
"path": ".pipelines/verifyAndSetLatestVCToolsVersion.ps1",
"chars": 2289,
"preview": "# Build common vswhere base arguments\n$vsWhereBaseArgs = @('-latest', '-requires', 'Microsoft.VisualStudio.Component.VC."
},
{
"path": ".pipelines/verifyArm64Configuration.ps1",
"chars": 2548,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory=$True,Position=1)]\n [string]$solution\n)\n\nWrite-Output \"Verifying Ar"
},
{
"path": ".pipelines/verifyCommonProps.ps1",
"chars": 1839,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory = $True, Position = 1)]\n [string]$sourceDir\n)\n\n# scan all csharp pr"
},
{
"path": ".pipelines/verifyDepsJsonLibraryVersions.ps1",
"chars": 4869,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory = $True, Position = 1)]\n [string]$targetDir\n)\n\n# This script will c"
},
{
"path": ".pipelines/verifyNoticeMdAgainstNugetPackages.ps1",
"chars": 5542,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory=$True,Position=1)]\n [string]$path\n)\n\n$noticeFile = Get-Content -Raw"
},
{
"path": ".pipelines/verifyNugetPackages.ps1",
"chars": 824,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory=$True,Position=1)]\n [string]$solution\n)\n\nWrite-Host \"Verifying Nuge"
},
{
"path": ".pipelines/verifyPossibleAssetConflicts.ps1",
"chars": 2361,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory = $True, Position = 1)]\n [string]$targetDir\n)\n\n# This script runs s"
},
{
"path": ".pipelines/versionAndSignCheck.ps1",
"chars": 3823,
"preview": "[CmdletBinding()]\n# todo: send in arch / conf, could send in actual path\nParam(\n [Parameter(Mandatory = $True, Positi"
},
{
"path": ".pipelines/versionSetting.ps1",
"chars": 4608,
"preview": "[CmdletBinding()]\nParam(\n [Parameter(Mandatory=$True,Position=1)]\n [string]$versionNumber = \"0.0.1\",\n\n [Parameter(Man"
},
{
"path": ".vscode/launch.json",
"chars": 1883,
"preview": "{\n \"version\": \"0.2.0\",\n \"inputs\": [\n {\n \"id\": \"arch\",\n \"type\": \"pickString\",\n "
},
{
"path": ".vscode/mcp.json",
"chars": 220,
"preview": "{\n \"servers\": {\n \"github-artifacts\": {\n \"command\": \"node\",\n \"args\": [\n \"tools/mcp/github-artifacts/"
},
{
"path": ".vscode/settings.json",
"chars": 474,
"preview": "{\n \"github.copilot.chat.reviewSelection.instructions\": [\n {\n \"file\": \".github/prompts/review-pr.pro"
},
{
"path": ".vscode/tasks.json",
"chars": 2458,
"preview": "{\n \"version\": \"2.0.0\",\n \"windows\": {\n \"options\": {\n \"shell\": {\n \"executable\": \"cmd.exe\",\n \"args\""
},
{
"path": ".vsconfig",
"chars": 1054,
"preview": "{\n \"version\": \"1.0\",\n \"components\": [\n \"Microsoft.VisualStudio.Component.CoreEditor\",\n \"Microsoft.VisualStudio.W"
},
{
"path": "AGENTS.md",
"chars": 6791,
"preview": "---\ndescription: 'Top-level AI contributor guidance for developing PowerToys - a collection of Windows productivity util"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 444,
"preview": "# Microsoft Open Source Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://op"
},
{
"path": "COMMUNITY.md",
"chars": 12861,
"preview": "# Community\n\nThe PowerToys team is extremely grateful to have the support of an amazing active community. The work you d"
},
{
"path": "CONTRIBUTING.md",
"chars": 4388,
"preview": "# PowerToys contributor's guide\n\nBelow is our guidance for reporting issues, proposing new features, and submitting cont"
},
{
"path": "Cpp.Build.props",
"chars": 6435,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\"\n xmlns=\"http://schemas.microsoft.com/developer/msbui"
},
{
"path": "CppRuleSet.ruleset",
"chars": 13220,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RuleSet Name=\"Cpp Rule Set\" Description=\"Based on Microsoft Native Recommended "
},
{
"path": "DATA_AND_PRIVACY.md",
"chars": 34828,
"preview": "# PowerToys data & privacy\n\n## Overview\n\nPowerToys diagnostic data is completely optional for users and is off by defaul"
},
{
"path": "Directory.Build.props",
"chars": 11892,
"preview": "<Project>\n <PropertyGroup>\n <RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>\n </PropertyGroup>\n <Import Project=\"$"
},
{
"path": "Directory.Build.targets",
"chars": 3505,
"preview": "<Project>\n <Sdk Name=\"Microsoft.Build.CopyOnWrite\" Version=\"1.0.282\" />\n\n <Import Project=\"$(MSBuildCachePackageRoot)\\"
},
{
"path": "Directory.Packages.props",
"chars": 12572,
"preview": "<Project>\n <PropertyGroup>\n <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>\n <CentralPackag"
},
{
"path": "LICENSE",
"chars": 1120,
"preview": "The MIT License\r\n\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\n\r\nPermission is hereby granted, free of ch"
},
{
"path": "NOTICE.md",
"chars": 79202,
"preview": "# NOTICES AND INFORMATION\n\nThis software incorporates material from third parties.\n\n- Color Picker\n- Command Palette\n- F"
},
{
"path": "PowerToys.slnx",
"chars": 69055,
"preview": "<Solution>\n <Configurations>\n <Platform Name=\"ARM64\" />\n <Platform Name=\"x64\" />\n </Configurations>\n <Folder Na"
},
{
"path": "README.md",
"chars": 10362,
"preview": "<p align=\"center\">\n <picture>\n <source media=\"(prefers-color-scheme: light)\" srcset=\"./doc/images/readme/pt-hero"
},
{
"path": "SECURITY.md",
"chars": 2642,
"preview": "<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->\n\n# Security\n\nMicrosoft takes the security of our software products and"
},
{
"path": "SUPPORT.md",
"chars": 1279,
"preview": "# Support\n\n## How to use Microsoft PowerToys\n\nFor more information about PowerToys overviews, how to use the utilities, "
},
{
"path": "deps/expected.props",
"chars": 250,
"preview": "<Project>\n\t<ItemDefinitionGroup>\n\t\t<ClCompile>\n\t\t\t<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)expected-lite"
},
{
"path": "deps/spdlog.props",
"chars": 388,
"preview": "<Project>\n\t<ItemDefinitionGroup>\n\t\t<ClCompile>\n\t\t\t<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)spdlog\\includ"
},
{
"path": "doc/devdocs/akaLinks.md",
"chars": 4383,
"preview": "# Full list of aka links\n\n| ShortUrl | TargetUrl |\n|----------|----------|\n| getpowertoys | ms-windows-store://pdp/?prod"
},
{
"path": "doc/devdocs/cli-conventions.md",
"chars": 3200,
"preview": "# CLI Conventions\n\nThis document describes the conventions for implementing command-line interfaces (CLI) in PowerToys m"
},
{
"path": "doc/devdocs/commands.md",
"chars": 2734,
"preview": "# Issue/PR commands\n\nThe PowerToys repository uses some special keywords to help manage issues and pull requests. Here i"
},
{
"path": "doc/devdocs/common/FilePreviewCommon.md",
"chars": 5373,
"preview": "# [FilePreviewCommon](/src/common/FilePreviewCommon)\n\nThis project contains common code used for previewing and displayi"
},
{
"path": "doc/devdocs/common/common.md",
"chars": 4562,
"preview": "# Classes and structures\n\n> This document is outdated and will soon be renewed.\n\n#### class Animation: [header](/src/com"
},
{
"path": "doc/devdocs/common/context-menus.md",
"chars": 4147,
"preview": "# PowerToys Context Menu Handlers\n\nThis document describes how context menu handlers are implemented in PowerToys, cover"
},
{
"path": "doc/devdocs/common/monaco-editor.md",
"chars": 3152,
"preview": "# Monaco Editor in PowerToys\n\n## Overview\n\nMonaco is the text editor that powers Visual Studio Code. In PowerToys, Monac"
},
{
"path": "doc/devdocs/common/readme.md",
"chars": 214,
"preview": "# Common\r\n\r\nThe [common](/src/common) folder contains projects with code, that is used in multiple projects.\r\n\r\n## [File"
},
{
"path": "doc/devdocs/core/architecture.md",
"chars": 2890,
"preview": "# PowerToys Architecture\n\n## Module Interface Overview\n\nEach PowerToys utility is defined by a module interface (DLL) th"
},
{
"path": "doc/devdocs/core/installer.md",
"chars": 6560,
"preview": "# PowerToys Installer\n\n## Installer Architecture (WiX 5)\n\n- Uses a bootstrapper to check dependencies and close PowerToy"
},
{
"path": "doc/devdocs/core/runner.md",
"chars": 9034,
"preview": "# PowerToys Runner\n\nThe PowerToys Runner is the main executable (`PowerToys.exe`) that loads and manages all PowerToys m"
},
{
"path": "doc/devdocs/core/settings/communication-with-modules.md",
"chars": 1254,
"preview": "# Communication with modules\n\n## Through runner\n- The settings process communicates changes in the UI to most modules us"
},
{
"path": "doc/devdocs/core/settings/compatibility-legacy-settings.md",
"chars": 1440,
"preview": "# Compatibility with legacy settings and runner\nThe following must be kept in mind regarding compatibility with settings"
},
{
"path": "doc/devdocs/core/settings/dsc-configure.md",
"chars": 4162,
"preview": "# What is it\n\nWe would like to enable our users to use [`winget configure`](https://learn.microsoft.com/en-us/windows/pa"
},
{
"path": "doc/devdocs/core/settings/gpo-integration.md",
"chars": 2171,
"preview": "# Group Policy Integration\n\nPowerToys settings can be controlled and enforced via Group Policy. This document describes "
},
{
"path": "doc/devdocs/core/settings/hotkeycontrol.md",
"chars": 2239,
"preview": "# Custom HotKey Control\n\nThe Settings project provides a custom hotkey control which consumes key presses. This control "
},
{
"path": "doc/devdocs/core/settings/project-overview.md",
"chars": 1324,
"preview": "# Overview\n`Settings` is Windows App Sdk WinUI3 .Net Unpackaged desktop application. More details about Windows App Sdk "
},
{
"path": "doc/devdocs/core/settings/readme.md",
"chars": 1309,
"preview": "# PowerToys Settings System\n\nPowerToys provides a comprehensive settings system that allows users to configure various a"
},
{
"path": "doc/devdocs/core/settings/runner-ipc.md",
"chars": 2680,
"preview": "# Inter-Process Communication with Runner\n\nThe Settings v2 process uses two way IPC to communicate with the runner proce"
},
{
"path": "doc/devdocs/core/settings/settings-implementation.md",
"chars": 8043,
"preview": "# Settings Implementation\n\nThis document describes how settings are implemented in PowerToys modules, including code exa"
},
{
"path": "doc/devdocs/core/settings/settings-utilities.md",
"chars": 1269,
"preview": "# Settings Utilities\n\n- Abstractions for each of the file/folder related operations are present in [`SettingsUtils.cs`]("
},
{
"path": "doc/devdocs/core/settings/telemetry.md",
"chars": 1154,
"preview": "# Telemetry\n## Overview\n[`Settings.UI.Library/Telemetry`](/src/settings-ui/Settings.UI.Library/Telemetry) contains telem"
},
{
"path": "doc/devdocs/core/settings/ui-architecture.md",
"chars": 982,
"preview": "# UI Architecture\n\n The UI code is distributed between two projects: [`PowerToys.Settings`](/src/settings-ui/Settings.UI"
},
{
"path": "doc/devdocs/core/settings/viewmodels.md",
"chars": 3125,
"preview": "# View Models\nThe view models are located within the [`Settings.UI.Library`](/src/settings-ui/Settings.UI.Library) proje"
},
{
"path": "doc/devdocs/development/debugging.md",
"chars": 6043,
"preview": "# Debugging PowerToys\n\nThis document covers techniques and tools for debugging PowerToys.\n\n## Pre-Debugging Setup\n\nBefor"
},
{
"path": "doc/devdocs/development/dev-with-vscode.md",
"chars": 5796,
"preview": "## Developing PowerToys with Visual Studio Code\n\nThis guide shows how to build, debug, and contribute to PowerToys using"
},
{
"path": "doc/devdocs/development/guidelines.md",
"chars": 6439,
"preview": "# PowerToys Development Guidelines\n\n## Using Open Source Packages and Libraries\n\n### License Considerations\n- MIT licens"
},
{
"path": "doc/devdocs/development/localization.md",
"chars": 19738,
"preview": "# Localization\n\n## Table of Contents\n1. [Localization on the pipeline (CDPX)](#localization-on-the-pipeline-cdpx)\n 1."
},
{
"path": "doc/devdocs/development/logging.md",
"chars": 5280,
"preview": "# Logging and Telemetry in PowerToys\n\n## Logging Types in PowerToys\n\nPowerToys has several types of logging mechanisms:\n"
},
{
"path": "doc/devdocs/development/new-powertoy.md",
"chars": 15652,
"preview": "# 🧭 Creating a new PowerToy: end-to-end developer guide\n\nFirst of all, thank you for wanting to contribute to PowerToys."
},
{
"path": "doc/devdocs/development/style.md",
"chars": 1832,
"preview": "# Coding Style\n\n## Philosophy\n1. If it's inserting something into the existing classes/functions, try to follow the exis"
},
{
"path": "doc/devdocs/development/test-winget-install-locally.md",
"chars": 1587,
"preview": "## If for any reason, you'd like to test winget install scenario, you can follow this doc:\n\n### Powertoys winget manifes"
},
{
"path": "doc/devdocs/development/ui-tests.md",
"chars": 6586,
"preview": "# UI tests framework\n\n A specialized UI test framework for PowerToys that makes it easy to write UI tests for PowerToys "
},
{
"path": "doc/devdocs/disk-usage-footprint.md",
"chars": 4238,
"preview": "# PowerToys disk usage footprint overview\n\nAs of the v0.66 of PowerToys, core runtime dlls are being shipped self-contai"
},
{
"path": "doc/devdocs/embedded-msix.md",
"chars": 1431,
"preview": "# How to integrate new MSIX module with PowerToys Settings and WiX installer\n[`issue_11705_with_example` branch](https:/"
},
{
"path": "doc/devdocs/events.md",
"chars": 7080,
"preview": "# Telemetry Events\n\nPowerToys collects limited telemetry to understand feature usage, reliability, and product quality. "
},
{
"path": "doc/devdocs/guidance.md",
"chars": 2955,
"preview": "# Coding Guidance\r\n\r\n## Working With Strings\r\n\r\nIn order to support localization **YOU SHOULD NOT** have hardcoded UI di"
},
{
"path": "doc/devdocs/logging.md",
"chars": 2228,
"preview": "# Logging\n\nLogging plays an important part in determining bugs in our code. It provides context for the developers about"
},
{
"path": "doc/devdocs/modules/advancedpaste.md",
"chars": 1858,
"preview": "# Advanced Paste\n\n[Public overview - Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/advanced-paste"
},
{
"path": "doc/devdocs/modules/alwaysontop.md",
"chars": 4080,
"preview": "# Always on Top\n\n[Public overview - Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/always-on-top)\n"
},
{
"path": "doc/devdocs/modules/awake.md",
"chars": 2306,
"preview": "# Awake\n\n[Public overview - Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/awake)\n\n## Quick Links\n"
},
{
"path": "doc/devdocs/modules/colorpicker.md",
"chars": 2336,
"preview": "# Color Picker\n\n[Public overview - Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/color-picker)\n\n#"
},
{
"path": "doc/devdocs/modules/commandnotfound.md",
"chars": 2406,
"preview": "# Command Not Found\n\n[Public overview - Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/cmd-not-fou"
},
{
"path": "doc/devdocs/modules/cropandlock.md",
"chars": 2519,
"preview": "# Crop and Lock\n\n[Public overview - Microsoft Learn](https://learn.microsoft.com/en-us/windows/powertoys/crop-and-lock)\n"
}
]
// ... and 6472 more files (download for full content)
About this extraction
This page contains the full source code of the microsoft/PowerToys GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 6672 files (46.1 MB), approximately 12.5M tokens, and a symbol index with 46729 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.