- printf("No command '%s' found, did you mean:\n", command_not_found);
- printf(" Command '%s' from package '%s'\n", best_command_guess, best_package_guess);
+ fprintf(stderr, "No command '%s' found, did you mean:\n", command_not_found);
+ if (guesses_at_best_distance == 1) {
+ // Only one suggestion - show it:
+ fprintf(stderr, " Command '%s' from package '%s'\n", best_command_guess, best_package_guess);
+ } else {
+ // Multiple suggestions at the same distance - show them all:
+ for (int i = 0; i < num_commands; i++) {
+ char const* current_line = commands[i];
+ if (current_line[0] == ' ') { // Binary
+ char const* binary_name = current_line + 1;
+ int distance = termux_levenshtein_distance(command_not_found, binary_name);
+ if (best_distance == distance) {
+ fprintf(stderr, " Command '%s' from package '%s'\n", binary_name, current_package);
+ }
+ } else { // Package
+ strncpy(current_package, current_line, sizeof(current_package));
+ }
+ }
+ }