diff --git a/src/command.cpp b/src/command.cpp index cad49e506..f80af6496 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -561,16 +561,13 @@ void Command::show(uuid::console::Shell & shell, uint8_t device_type, bool verbo } } - if (!verbose) { - sorted_cmds.push_back(F_(info)); - sorted_cmds.push_back(F_(commands)); - sorted_cmds.push_back(F_(values)); - } - sorted_cmds.sort(); // sort them // if not in verbose mode, just print them on a single line and exit if (!verbose) { + sorted_cmds.push_front(F_(info)); + sorted_cmds.push_front(F_(commands)); + sorted_cmds.push_front(F_(values)); for (const auto & cl : sorted_cmds) { shell.print(cl); shell.print(" "); @@ -582,14 +579,6 @@ void Command::show(uuid::console::Shell & shell, uint8_t device_type, bool verbo // verbose mode shell.printfln("\n%s%s %s:%s", COLOR_BOLD_ON, COLOR_YELLOW, EMSdevice::device_type_2_device_name(device_type), COLOR_RESET); - // we hard code 'info' and 'commands' commands so print them first - shell.printf(" info \t\t\t\t%slist all values %s*", COLOR_BRIGHT_CYAN, COLOR_BRIGHT_GREEN); - shell.println(COLOR_RESET); - shell.printf(" commands \t\t\t%slist all commands %s*", COLOR_BRIGHT_CYAN, COLOR_BRIGHT_GREEN); - shell.println(COLOR_RESET); - shell.printf(" values \t\t\t%slist all values %s*", COLOR_BRIGHT_CYAN, COLOR_BRIGHT_GREEN); - shell.println(COLOR_RESET); - for (const auto & cl : sorted_cmds) { // find and print the description for (const auto & cf : cmdfunctions_) { @@ -682,6 +671,13 @@ void Command::show_devices(uuid::console::Shell & shell) { // calls show with verbose mode set void Command::show_all(uuid::console::Shell & shell) { shell.printfln("Showing all available commands (%s*%s=authentication not required):", COLOR_BRIGHT_GREEN, COLOR_RESET); + shell.println("Each device has these additional default commands:"); + shell.printf(" info \t\t\t\t%slist all values with description%s*", COLOR_BRIGHT_CYAN, COLOR_BRIGHT_GREEN); + shell.println(COLOR_RESET); + shell.printf(" commands \t\t\t%slist all commands %s*", COLOR_BRIGHT_CYAN, COLOR_BRIGHT_GREEN); + shell.println(COLOR_RESET); + shell.printf(" values \t\t\t%slist all values %s*", COLOR_BRIGHT_CYAN, COLOR_BRIGHT_GREEN); + shell.println(COLOR_RESET); // show system ones first show(shell, EMSdevice::DeviceType::SYSTEM, true);