diff --git a/src/cascadia/TerminalApp/CascadiaSettings.cpp b/src/cascadia/TerminalApp/CascadiaSettings.cpp index d8e20ac3c1..33c63d4824 100644 --- a/src/cascadia/TerminalApp/CascadiaSettings.cpp +++ b/src/cascadia/TerminalApp/CascadiaSettings.cpp @@ -731,9 +731,9 @@ std::string CascadiaSettings::_ApplyFirstRunChangesToSettingsTemplate(std::strin // - void CascadiaSettings::_ExpandCommands() { - winrt::TerminalApp::implementation::Command::ExpandCommands(_globals.GetCommands(), - _profiles, - _warnings); + // winrt::TerminalApp::implementation::Command::ExpandCommands(_globals.GetCommands(), + // _profiles, + // _warnings); } // Method Description: diff --git a/src/cascadia/TerminalApp/Command.cpp b/src/cascadia/TerminalApp/Command.cpp index d4d69f5f20..fbd0c84343 100644 --- a/src/cascadia/TerminalApp/Command.cpp +++ b/src/cascadia/TerminalApp/Command.cpp @@ -306,7 +306,7 @@ namespace winrt::TerminalApp::implementation // Return Value: // - void Command::ExpandCommands(std::unordered_map& commands, - const std::vector<::TerminalApp::Profile>& profiles, + gsl::span profiles, std::vector<::TerminalApp::SettingsLoadWarnings>& warnings) { std::vector commandsToRemove; @@ -386,7 +386,7 @@ namespace winrt::TerminalApp::implementation // - and empty vector if the command wasn't expandable, otherwise a list of // the newly-created commands. std::vector Command::_expandCommand(winrt::com_ptr expandable, - const std::vector<::TerminalApp::Profile>& profiles, + gsl::span profiles, std::vector<::TerminalApp::SettingsLoadWarnings>& warnings) { std::vector newCommands; diff --git a/src/cascadia/TerminalApp/Command.h b/src/cascadia/TerminalApp/Command.h index 8c7420ff76..5e00411346 100644 --- a/src/cascadia/TerminalApp/Command.h +++ b/src/cascadia/TerminalApp/Command.h @@ -46,7 +46,7 @@ namespace winrt::TerminalApp::implementation std::vector<::TerminalApp::SettingsLoadWarnings>& warnings); static void ExpandCommands(std::unordered_map& commands, - const std::vector<::TerminalApp::Profile>& profiles, + gsl::span profiles, std::vector<::TerminalApp::SettingsLoadWarnings>& warnings); static std::vector<::TerminalApp::SettingsLoadWarnings> LayerJson(std::unordered_map& commands, @@ -66,7 +66,7 @@ namespace winrt::TerminalApp::implementation Windows::Foundation::Collections::IVector _nestedCommandsView{ nullptr }; static std::vector _expandCommand(winrt::com_ptr expandable, - const std::vector<::TerminalApp::Profile>& profiles, + gsl::span profiles, std::vector<::TerminalApp::SettingsLoadWarnings>& warnings); void _createView(); diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 35e1bca257..d4b8f8a068 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -1982,9 +1982,16 @@ namespace winrt::TerminalApp::implementation // - void TerminalPage::_UpdateCommandsForPalette() { + std::vector<::TerminalApp::SettingsLoadWarnings> warnings; + std::unordered_map copyOfCommands = _settings->GlobalSettings().GetCommands(); + + Command::ExpandCommands(copyOfCommands, + _settings->GetProfiles(), + warnings); + // Update the command palette when settings reload auto commandsCollection = winrt::single_threaded_vector(); - for (auto& nameAndCommand : _settings->GlobalSettings().GetCommands()) + for (auto& nameAndCommand : copyOfCommands) { commandsCollection.Append(nameAndCommand.second); }