nvbn / thefuck

Magnificent app which corrects your previous console command.
MIT License
83.62k stars 3.41k forks source link

Command takes 6 seconds, then doesn't find the correction #1403

Open Aplietexe opened 9 months ago

Aplietexe commented 9 months ago

The output of thefuck --version (something like The Fuck 3.1 using Python 3.5.0 and Bash 4.4.12(1)-release):

The Fuck 3.32 using Python 3.10.12 and ZSH 5.8.1

Your system (Debian 7, ArchLinux, Windows, etc.):

Ubuntu 22.04.3 under WSL2 in Windows 11

How to reproduce the bug:

The output of The Fuck with THEFUCK_DEBUG=true exported (typically execute export THEFUCK_DEBUG=true in your shell before The Fuck):

❯ gut
Command 'gut' not found, did you mean:
  command 'gum' from snap gum (0.12.0)
  command 'gmt' from deb gmt (6.3.0+dfsg-2build1)
  command 'nut' from deb nutsqlite (2.0.6-3)
  command 'gt' from deb genometools (1.6.2+ds-2)
  command 'cut' from deb coreutils (8.32-4.1ubuntu1)
  command 'gout' from deb scotch (6.1.3-1)
  command 'lut' from deb tracetuner (3.0.6~beta+dfsg-3)
  command 'git' from deb git (1:2.34.1-1ubuntu1.10)
  command 'gpt' from deb gpt (1.1-7)
  command 'gst' from deb gnu-smalltalk (3.2.5-1.3ubuntu1)
See 'snap info <snapname>' for additional versions.

❯ fuck
DEBUG: Run with settings: {'alter_history': True,
 'debug': True,
 'env': {'GIT_TRACE': '1', 'LANG': 'C', 'LC_ALL': 'C'},
 'exclude_rules': [],
 'excluded_search_path_prefixes': [],
 'history_limit': None,
 'instant_mode': True,
 'no_colors': False,
 'num_close_matches': 3,
 'priority': {},
 'repeat': False,
 'require_confirmation': True,
 'rules': [<const: All rules enabled>],
 'slow_commands': ['lein', 'react-native', 'gradle', './gradlew', 'vagrant'],
 'user_dir': PosixPath('/home/pietro/.config/thefuck'),
 'wait_command': 3,
 'wait_slow_command': 15}
DEBUG: Read output from log took: 0:00:00.003000
[WARN] Script not found in output log
DEBUG: Importing rule: adb_unknown_command; took: 0:00:00.000128
DEBUG: Importing rule: ag_literal; took: 0:00:00.000159
DEBUG: Importing rule: apt_get; took: 0:00:00.006944
DEBUG: Importing rule: apt_get_search; took: 0:00:00.000125
DEBUG: Importing rule: apt_invalid_operation; took: 0:00:00.000215
DEBUG: Importing rule: apt_list_upgradable; took: 0:00:00.000109
DEBUG: Importing rule: apt_upgrade; took: 0:00:00.000120
DEBUG: Importing rule: aws_cli; took: 0:00:00.000101
DEBUG: Importing rule: az_cli; took: 0:00:00.000095
DEBUG: Importing rule: brew_cask_dependency; took: 0:00:00.013967
DEBUG: Importing rule: brew_install; took: 0:00:00.000221
DEBUG: Importing rule: brew_link; took: 0:00:00.000136
DEBUG: Importing rule: brew_reinstall; took: 0:00:00.000311
DEBUG: Importing rule: brew_uninstall; took: 0:00:00.000102
DEBUG: Importing rule: brew_unknown_command; took: 0:00:00.000091
DEBUG: Importing rule: brew_update_formula; took: 0:00:00.000095
DEBUG: Importing rule: cargo; took: 0:00:00.000087
DEBUG: Importing rule: cargo_no_command; took: 0:00:00.000104
DEBUG: Importing rule: cat_dir; took: 0:00:00.000143
DEBUG: Importing rule: cd_correction; took: 0:00:00.000442
DEBUG: Importing rule: cd_cs; took: 0:00:00.000061
DEBUG: Importing rule: cd_mkdir; took: 0:00:00.000126
DEBUG: Importing rule: cd_parent; took: 0:00:00.000054
DEBUG: Importing rule: chmod_x; took: 0:00:00.000104
DEBUG: Importing rule: choco_install; took: 0:00:00.029394
DEBUG: Importing rule: composer_not_command; took: 0:00:00.000228
DEBUG: Importing rule: conda_mistype; took: 0:00:00.000118
DEBUG: Importing rule: cp_create_destination; took: 0:00:00.000137
DEBUG: Importing rule: cp_omitting_directory; took: 0:00:00.000120
DEBUG: Importing rule: cpp11; took: 0:00:00.000118
DEBUG: Importing rule: dirty_untar; took: 0:00:00.000745
DEBUG: Importing rule: dirty_unzip; took: 0:00:00.000643
DEBUG: Importing rule: django_south_ghost; took: 0:00:00.000084
DEBUG: Importing rule: django_south_merge; took: 0:00:00.000073
DEBUG: Importing rule: dnf_no_such_command; took: 0:00:00.016766
DEBUG: Importing rule: docker_image_being_used_by_container; took: 0:00:00.000662
DEBUG: Importing rule: docker_login; took: 0:00:00.000500
DEBUG: Importing rule: docker_not_command; took: 0:00:00.000446
DEBUG: Importing rule: dry; took: 0:00:00.000084
DEBUG: Importing rule: fab_command_not_found; took: 0:00:00.000149
DEBUG: Importing rule: fix_alt_space; took: 0:00:00.000110
DEBUG: Importing rule: fix_file; took: 0:00:00.001221
DEBUG: Importing rule: gem_unknown_command; took: 0:00:00.000214
DEBUG: Importing rule: git_add; took: 0:00:00.000251
DEBUG: Importing rule: git_add_force; took: 0:00:00.000102
DEBUG: Importing rule: git_bisect_usage; took: 0:00:00.000119
DEBUG: Importing rule: git_branch_0flag; took: 0:00:00.000207
DEBUG: Importing rule: git_branch_delete; took: 0:00:00.000176
DEBUG: Importing rule: git_branch_delete_checked_out; took: 0:00:00.000135
DEBUG: Importing rule: git_branch_exists; took: 0:00:00.000144
DEBUG: Importing rule: git_branch_list; took: 0:00:00.000132
DEBUG: Importing rule: git_checkout; took: 0:00:00.000146
DEBUG: Importing rule: git_clone_git_clone; took: 0:00:00.000127
DEBUG: Importing rule: git_commit_add; took: 0:00:00.000349
DEBUG: Importing rule: git_commit_amend; took: 0:00:00.000131
DEBUG: Importing rule: git_commit_reset; took: 0:00:00.000125
DEBUG: Importing rule: git_diff_no_index; took: 0:00:00.000133
DEBUG: Importing rule: git_diff_staged; took: 0:00:00.000128
DEBUG: Importing rule: git_fix_stash; took: 0:00:00.000137
DEBUG: Importing rule: git_flag_after_filename; took: 0:00:00.000090
DEBUG: Importing rule: git_help_aliased; took: 0:00:00.000084
DEBUG: Importing rule: git_hook_bypass; took: 0:00:00.000102
DEBUG: Importing rule: git_lfs_mistype; took: 0:00:00.000114
DEBUG: Importing rule: git_main_master; took: 0:00:00.000082
DEBUG: Importing rule: git_merge; took: 0:00:00.000085
DEBUG: Importing rule: git_merge_unrelated; took: 0:00:00.000083
DEBUG: Importing rule: git_not_command; took: 0:00:00.000083
DEBUG: Importing rule: git_pull; took: 0:00:00.000083
DEBUG: Importing rule: git_pull_clone; took: 0:00:00.000081
DEBUG: Importing rule: git_pull_uncommitted_changes; took: 0:00:00.000117
DEBUG: Importing rule: git_push; took: 0:00:00.000088
DEBUG: Importing rule: git_push_different_branch_names; took: 0:00:00.000082
DEBUG: Importing rule: git_push_force; took: 0:00:00.000083
DEBUG: Importing rule: git_push_pull; took: 0:00:00.000083
DEBUG: Importing rule: git_push_without_commits; took: 0:00:00.000070
DEBUG: Importing rule: git_rebase_merge_dir; took: 0:00:00.000085
DEBUG: Importing rule: git_rebase_no_changes; took: 0:00:00.000075
DEBUG: Importing rule: git_remote_delete; took: 0:00:00.000082
DEBUG: Importing rule: git_remote_seturl_add; took: 0:00:00.000081
DEBUG: Importing rule: git_rm_local_modifications; took: 0:00:00.000105
DEBUG: Importing rule: git_rm_recursive; took: 0:00:00.000081
DEBUG: Importing rule: git_rm_staged; took: 0:00:00.000089
DEBUG: Importing rule: git_stash; took: 0:00:00.000083
DEBUG: Importing rule: git_stash_pop; took: 0:00:00.000081
DEBUG: Importing rule: git_tag_force; took: 0:00:00.000095
DEBUG: Importing rule: git_two_dashes; took: 0:00:00.000088
DEBUG: Importing rule: go_run; took: 0:00:00.000087
DEBUG: Importing rule: go_unknown_command; took: 0:00:00.014519
DEBUG: Importing rule: gradle_no_task; took: 0:00:00.000248
DEBUG: Importing rule: gradle_wrapper; took: 0:00:00.000101
DEBUG: Importing rule: grep_arguments_order; took: 0:00:00.000106
DEBUG: Importing rule: grep_recursive; took: 0:00:00.000092
DEBUG: Importing rule: grunt_task_not_found; took: 0:00:00.000193
DEBUG: Importing rule: gulp_not_task; took: 0:00:00.000132
DEBUG: Importing rule: has_exists_script; took: 0:00:00.000091
DEBUG: Importing rule: heroku_multiple_apps; took: 0:00:00.000093
DEBUG: Importing rule: heroku_not_command; took: 0:00:00.000090
DEBUG: Importing rule: history; took: 0:00:00.000058
DEBUG: Importing rule: hostscli; took: 0:00:00.000131
DEBUG: Importing rule: ifconfig_device_not_found; took: 0:00:00.000100
DEBUG: Importing rule: java; took: 0:00:00.000089
DEBUG: Importing rule: javac; took: 0:00:00.000087
DEBUG: Importing rule: lein_not_task; took: 0:00:00.000106
DEBUG: Importing rule: ln_no_hard_link; took: 0:00:00.000087
DEBUG: Importing rule: ln_s_order; took: 0:00:00.000090
DEBUG: Importing rule: long_form_help; took: 0:00:00.000075
DEBUG: Importing rule: ls_all; took: 0:00:00.000100
DEBUG: Importing rule: ls_lah; took: 0:00:00.000086
DEBUG: Importing rule: man; took: 0:00:00.000091
DEBUG: Importing rule: man_no_space; took: 0:00:00.000054
DEBUG: Importing rule: mercurial; took: 0:00:00.000119
DEBUG: Importing rule: missing_space_before_subcommand; took: 0:00:00.000065
DEBUG: Importing rule: mkdir_p; took: 0:00:00.000091
DEBUG: Importing rule: mvn_no_command; took: 0:00:00.000098
DEBUG: Importing rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000090
DEBUG: Importing rule: nixos_cmd_not_found; took: 0:00:00.014568
DEBUG: Importing rule: no_command; took: 0:00:00.000148
DEBUG: Importing rule: no_such_file; took: 0:00:00.000085
DEBUG: Importing rule: npm_missing_script; took: 0:00:00.000238
DEBUG: Importing rule: npm_run_script; took: 0:00:00.000101
DEBUG: Importing rule: npm_wrong_command; took: 0:00:00.000119
DEBUG: Importing rule: omnienv_no_such_command; took: 0:00:00.054643
DEBUG: Importing rule: open; took: 0:00:00.000206
DEBUG: Importing rule: pacman; took: 0:00:00.040380
DEBUG: Importing rule: pacman_invalid_option; took: 0:00:00.000295
DEBUG: Importing rule: pacman_not_found; took: 0:00:00.000081
DEBUG: Importing rule: path_from_history; took: 0:00:00.000146
DEBUG: Importing rule: php_s; took: 0:00:00.000100
DEBUG: Importing rule: pip_install; took: 0:00:00.000102
DEBUG: Importing rule: pip_unknown_command; took: 0:00:00.000099
DEBUG: Importing rule: port_already_in_use; took: 0:00:00.000140
DEBUG: Importing rule: prove_recursively; took: 0:00:00.000101
DEBUG: Importing rule: python_command; took: 0:00:00.000092
DEBUG: Importing rule: python_execute; took: 0:00:00.000091
DEBUG: Importing rule: python_module_error; took: 0:00:00.000063
DEBUG: Importing rule: quotation_marks; took: 0:00:00.000070
DEBUG: Importing rule: rails_migrations_pending; took: 0:00:00.000063
DEBUG: Importing rule: react_native_command_unrecognized; took: 0:00:00.000131
DEBUG: Importing rule: remove_shell_prompt_literal; took: 0:00:00.000057
DEBUG: Importing rule: remove_trailing_cedilla; took: 0:00:00.000059
DEBUG: Importing rule: rm_dir; took: 0:00:00.000091
DEBUG: Importing rule: rm_root; took: 0:00:00.000087
DEBUG: Importing rule: scm_correction; took: 0:00:00.000102
DEBUG: Importing rule: sed_unterminated_s; took: 0:00:00.000091
DEBUG: Importing rule: sl_ls; took: 0:00:00.000056
DEBUG: Importing rule: ssh_known_hosts; took: 0:00:00.000688
DEBUG: Importing rule: sudo; took: 0:00:00.000067
DEBUG: Importing rule: sudo_command_from_user_path; took: 0:00:00.000099
DEBUG: Importing rule: switch_lang; took: 0:00:00.000106
DEBUG: Importing rule: systemctl; took: 0:00:00.000110
DEBUG: Importing rule: terraform_init; took: 0:00:00.000092
DEBUG: Importing rule: test.py; took: 0:00:00.000057
DEBUG: Importing rule: tmux; took: 0:00:00.000094
DEBUG: Importing rule: touch; took: 0:00:00.000088
DEBUG: Importing rule: tsuru_login; took: 0:00:00.000087
DEBUG: Importing rule: tsuru_not_command; took: 0:00:00.000086
DEBUG: Importing rule: unknown_command; took: 0:00:00.000054
DEBUG: Importing rule: unsudo; took: 0:00:00.000067
DEBUG: Importing rule: vagrant_up; took: 0:00:00.000095
DEBUG: Importing rule: whois; took: 0:00:00.000173
DEBUG: Importing rule: workon_doesnt_exists; took: 0:00:00.000112
DEBUG: Importing rule: wrong_hyphen_before_subcommand; took: 0:00:00.000090
DEBUG: Importing rule: yarn_alias; took: 0:00:00.000092
DEBUG: Importing rule: yarn_command_not_found; took: 0:00:00.000283
DEBUG: Importing rule: yarn_command_replaced; took: 0:00:00.000168
DEBUG: Importing rule: yarn_help; took: 0:00:00.000094
DEBUG: Importing rule: yum_invalid_operation; took: 0:00:00.012846
DEBUG: Trying rule: dirty_unzip; took: 0:00:00.000084
DEBUG: Trying rule: git_hook_bypass; took: 0:00:00.000020
DEBUG: Trying rule: wrong_hyphen_before_subcommand; took: 0:00:00.000011
No fucks given
DEBUG: Total took: 0:00:06.812551

Anything else you think is relevant:

Running without debug just prints

[WARN] Script not found in output log
No fucks given
mike240se commented 5 months ago

mine takes about 6 seconds on ubuntu 20lts in WSL2 as well, but it finds the correct command.