Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rules.docker_not_command works only in test environment. #937

Closed
ik1ne opened this issue Jul 30, 2019 · 2 comments · Fixed by #940
Closed

rules.docker_not_command works only in test environment. #937

ik1ne opened this issue Jul 30, 2019 · 2 comments · Fixed by #940

Comments

@ik1ne
Copy link
Contributor

ik1ne commented Jul 30, 2019

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.29 using Python 3.7.4 and ZSH 5.3

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

Mac OS X Mojave 10.14.6 (18G84)

How to reproduce the bug:

shell $ docker contner ls
shell $ thefuck
docker contner ls [enter/↑/↓/ctrl+c]

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

shell $ export THEFUCK_DEBUG=true
shell $ docker contner ls        
docker: 'contner' is not a docker command.
See 'docker --help'
shell $ fuck
DEBUG: Run with settings: {'alter_history': True,
 'debug': True,
 'env': {'GIT_TRACE': '1', 'LANG': 'C', 'LC_ALL': 'C'},
 'exclude_rules': [],
 'history_limit': None,
 'instant_mode': False,
 '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('/Users/ik1ne/.config/thefuck'),
 'wait_command': 3,
 'wait_slow_command': 15}
DEBUG: Received output: docker: 'contner' is not a docker command.
See 'docker --help'

DEBUG: Call: docker contner ls; with env: {'TMPDIR': '/var/folders/z1/0y_97rtx1qx62sg8qsqbgll40000gn/T/', 'XPC_FLAGS': '0x0', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.aiBe8Eo5Xs/Render', 'TERM_PROGRAM_VERSION': '421.2', 'LANG': 'C', 'TERM_PROGRAM': 'Apple_Terminal', 'XPC_SERVICE_NAME': '0', 'TERM_SESSION_ID': '9AA0A261-F794-42BE-BE92-979B74FD6389', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.cA7M6Odxn8/Listeners', 'TERM': 'xterm-256color', 'SHELL': '/bin/zsh', 'HOME': '/Users/ik1ne', 'LOGNAME': 'ik1ne', 'USER': 'ik1ne', 'PATH': '/Applications/Visual Studio Code.app/Contents/Resources/app/bin:/Applications/VirtualBox.app/Contents/MacOS:/Users/ik1ne/bin:/usr/local/opt/python/libexec/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Apple/bin', 'SHLVL': '1', 'PWD': '/Users/ik1ne', 'OLDPWD': '/Users/ik1ne', 'LIBRARY_PATH': ':/usr/local/opt/openssl/lib/', 'GOPATH': '/Users/ik1ne/Sources/Go/Go', 'PIP_REQUIRE_VIRTUALENV': 'true', 'PIPENV_VENV_IN_PROJECT': '1', 'PIPENV_VERBOSITY': '-1', 'PROMPT': '%m:%~ %n %# ', 'TF_SHELL': 'zsh', 'TF_ALIAS': 'f', 'TF_SHELL_ALIASES': "gawp='git diff -w --no-color | git apply --cached --ignore-whitespace && git checkout -- . && git reset && git add -p'\ngit=hub\nglog='git log --oneline --graph'\nrun-help=man\nwhich-command=whence", 'PYTHONIOENCODING': 'utf-8', 'THEFUCK_DEBUG': 'true', 'TF_HISTORY': 'thefuck --version\ndocker contner ls\nf\nTHEFUCK_DEBUG=true\ndocker contner ls\nf\nTHEFUCK_DEBUG=true\nexport THEFUCK_DEBUG=true\ndocker contner ls', '_': '/usr/local/bin/thefuck', '__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x0', 'LC_ALL': 'C', 'GIT_TRACE': '1'}; is slow:  took: 0:00:00.061645
DEBUG: Importing rule: adb_unknown_command; took: 0:00:00.000435
DEBUG: Importing rule: ag_literal; took: 0:00:00.000692
DEBUG: Importing rule: apt_get; took: 0:00:00.001008
DEBUG: Importing rule: apt_get_search; took: 0:00:00.000387
DEBUG: Importing rule: apt_invalid_operation; took: 0:00:00.001055
DEBUG: Importing rule: apt_list_upgradable; took: 0:00:00.000561
DEBUG: Importing rule: apt_upgrade; took: 0:00:00.000558
DEBUG: Importing rule: aws_cli; took: 0:00:00.001204
DEBUG: Importing rule: az_cli; took: 0:00:00.000376
DEBUG: Importing rule: brew_cask_dependency; took: 0:00:00.000759
DEBUG: Importing rule: brew_install; took: 0:00:00.000164
DEBUG: Importing rule: brew_link; took: 0:00:00.000357
DEBUG: Importing rule: brew_reinstall; took: 0:00:00.000747
DEBUG: Importing rule: brew_uninstall; took: 0:00:00.000357
DEBUG: Importing rule: brew_unknown_command; took: 0:00:00.000175
DEBUG: Importing rule: brew_update_formula; took: 0:00:00.000356
DEBUG: Importing rule: cargo; took: 0:00:00.000137
DEBUG: Importing rule: cargo_no_command; took: 0:00:00.000348
DEBUG: Importing rule: cat_dir; took: 0:00:00.000425
DEBUG: Importing rule: cd_correction; took: 0:00:00.001604
DEBUG: Importing rule: cd_mkdir; took: 0:00:00.000528
DEBUG: Importing rule: cd_parent; took: 0:00:00.000140
DEBUG: Importing rule: chmod_x; took: 0:00:00.000141
DEBUG: Importing rule: composer_not_command; took: 0:00:00.000435
DEBUG: Importing rule: cp_omitting_directory; took: 0:00:00.000523
DEBUG: Importing rule: cpp11; took: 0:00:00.000344
DEBUG: Importing rule: dirty_untar; took: 0:00:00.001530
DEBUG: Importing rule: dirty_unzip; took: 0:00:00.001637
DEBUG: Importing rule: django_south_ghost; took: 0:00:00.000138
DEBUG: Importing rule: django_south_merge; took: 0:00:00.000125
DEBUG: Importing rule: dnf_no_such_command; took: 0:00:00.000970
DEBUG: Importing rule: docker_login; took: 0:00:00.000338
DEBUG: Importing rule: docker_not_command; took: 0:00:00.000649
DEBUG: Importing rule: dry; took: 0:00:00.000134
DEBUG: Importing rule: fab_command_not_found; took: 0:00:00.000463
DEBUG: Importing rule: fix_alt_space; took: 0:00:00.000329
DEBUG: Importing rule: fix_file; took: 0:00:00.002283
DEBUG: Importing rule: gem_unknown_command; took: 0:00:00.000510
DEBUG: Importing rule: git_add; took: 0:00:00.000581
DEBUG: Importing rule: git_add_force; took: 0:00:00.000311
DEBUG: Importing rule: git_bisect_usage; took: 0:00:00.000322
DEBUG: Importing rule: git_branch_delete; took: 0:00:00.000307
DEBUG: Importing rule: git_branch_exists; took: 0:00:00.000395
DEBUG: Importing rule: git_branch_list; took: 0:00:00.000309
DEBUG: Importing rule: git_checkout; took: 0:00:00.000332
DEBUG: Importing rule: git_commit_amend; took: 0:00:00.000304
DEBUG: Importing rule: git_commit_reset; took: 0:00:00.000314
DEBUG: Importing rule: git_diff_no_index; took: 0:00:00.000369
DEBUG: Importing rule: git_diff_staged; took: 0:00:00.000307
DEBUG: Importing rule: git_fix_stash; took: 0:00:00.000321
DEBUG: Importing rule: git_flag_after_filename; took: 0:00:00.000300
DEBUG: Importing rule: git_help_aliased; took: 0:00:00.000300
DEBUG: Importing rule: git_merge; took: 0:00:00.000304
DEBUG: Importing rule: git_merge_unrelated; took: 0:00:00.000303
DEBUG: Importing rule: git_not_command; took: 0:00:00.000307
DEBUG: Importing rule: git_pull; took: 0:00:00.000296
DEBUG: Importing rule: git_pull_clone; took: 0:00:00.000307
DEBUG: Importing rule: git_pull_uncommitted_changes; took: 0:00:00.000297
DEBUG: Importing rule: git_push; took: 0:00:00.000314
DEBUG: Importing rule: git_push_different_branch_names; took: 0:00:00.000311
DEBUG: Importing rule: git_push_force; took: 0:00:00.000305
DEBUG: Importing rule: git_push_pull; took: 0:00:00.000310
DEBUG: Importing rule: git_push_without_commits; took: 0:00:00.000389
DEBUG: Importing rule: git_rebase_merge_dir; took: 0:00:00.000376
DEBUG: Importing rule: git_rebase_no_changes; took: 0:00:00.000233
DEBUG: Importing rule: git_remote_delete; took: 0:00:00.000310
DEBUG: Importing rule: git_remote_seturl_add; took: 0:00:00.000229
DEBUG: Importing rule: git_rm_local_modifications; took: 0:00:00.000309
DEBUG: Importing rule: git_rm_recursive; took: 0:00:00.000309
DEBUG: Importing rule: git_rm_staged; took: 0:00:00.000317
DEBUG: Importing rule: git_stash; took: 0:00:00.000356
DEBUG: Importing rule: git_stash_pop; took: 0:00:00.000304
DEBUG: Importing rule: git_tag_force; took: 0:00:00.000306
DEBUG: Importing rule: git_two_dashes; took: 0:00:00.000313
DEBUG: Importing rule: go_run; took: 0:00:00.000320
DEBUG: Importing rule: gradle_no_task; took: 0:00:00.000584
DEBUG: Importing rule: gradle_wrapper; took: 0:00:00.000327
DEBUG: Importing rule: grep_arguments_order; took: 0:00:00.000361
DEBUG: Importing rule: grep_recursive; took: 0:00:00.000352
DEBUG: Importing rule: grunt_task_not_found; took: 0:00:00.000549
DEBUG: Importing rule: gulp_not_task; took: 0:00:00.000334
DEBUG: Importing rule: has_exists_script; took: 0:00:00.000310
DEBUG: Importing rule: heroku_multiple_apps; took: 0:00:00.000314
DEBUG: Importing rule: heroku_not_command; took: 0:00:00.000313
DEBUG: Importing rule: history; took: 0:00:00.000130
DEBUG: Importing rule: hostscli; took: 0:00:00.000471
DEBUG: Importing rule: ifconfig_device_not_found; took: 0:00:00.000393
DEBUG: Importing rule: java; took: 0:00:00.000365
DEBUG: Importing rule: javac; took: 0:00:00.000308
DEBUG: Importing rule: lein_not_task; took: 0:00:00.000470
DEBUG: Importing rule: ln_no_hard_link; took: 0:00:00.000312
DEBUG: Importing rule: ln_s_order; took: 0:00:00.000313
DEBUG: Importing rule: long_form_help; took: 0:00:00.000131
DEBUG: Importing rule: ls_all; took: 0:00:00.000309
DEBUG: Importing rule: ls_lah; took: 0:00:00.000324
DEBUG: Importing rule: man; took: 0:00:00.000314
DEBUG: Importing rule: man_no_space; took: 0:00:00.000131
DEBUG: Importing rule: mercurial; took: 0:00:00.000316
DEBUG: Importing rule: missing_space_before_subcommand; took: 0:00:00.000138
DEBUG: Importing rule: mkdir_p; took: 0:00:00.000307
DEBUG: Importing rule: mvn_no_command; took: 0:00:00.000318
DEBUG: Importing rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000330
DEBUG: Importing rule: no_command; took: 0:00:00.000322
DEBUG: Importing rule: no_such_file; took: 0:00:00.000132
DEBUG: Importing rule: npm_missing_script; took: 0:00:00.000687
DEBUG: Importing rule: npm_run_script; took: 0:00:00.000320
DEBUG: Importing rule: npm_wrong_command; took: 0:00:00.000495
DEBUG: Importing rule: open; took: 0:00:00.000557
DEBUG: Importing rule: pacman; took: 0:00:00.000642
DEBUG: Importing rule: pacman_not_found; took: 0:00:00.000141
DEBUG: Importing rule: path_from_history; took: 0:00:00.000158
DEBUG: Importing rule: php_s; took: 0:00:00.000325
DEBUG: Importing rule: pip_install; took: 0:00:00.000390
DEBUG: Importing rule: pip_unknown_command; took: 0:00:00.000393
DEBUG: Importing rule: port_already_in_use; took: 0:00:00.000258
DEBUG: Importing rule: prove_recursively; took: 0:00:00.000349
DEBUG: Importing rule: pyenv_no_such_command; took: 0:00:00.000591
DEBUG: Importing rule: python_command; took: 0:00:00.000317
DEBUG: Importing rule: python_execute; took: 0:00:00.000305
DEBUG: Importing rule: quotation_marks; took: 0:00:00.000117
DEBUG: Importing rule: react_native_command_unrecognized; took: 0:00:00.000379
DEBUG: Importing rule: remove_trailing_cedilla; took: 0:00:00.000120
DEBUG: Importing rule: rm_dir; took: 0:00:00.000307
DEBUG: Importing rule: rm_root; took: 0:00:00.000293
DEBUG: Importing rule: scm_correction; took: 0:00:00.000301
DEBUG: Importing rule: sed_unterminated_s; took: 0:00:00.000363
DEBUG: Importing rule: sl_ls; took: 0:00:00.000117
DEBUG: Importing rule: ssh_known_hosts; took: 0:00:00.000290
DEBUG: Importing rule: sudo; took: 0:00:00.000121
DEBUG: Importing rule: sudo_command_from_user_path; took: 0:00:00.000294
DEBUG: Importing rule: switch_lang; took: 0:00:00.000160
DEBUG: Importing rule: systemctl; took: 0:00:00.000413
DEBUG: Importing rule: test.py; took: 0:00:00.000110
DEBUG: Importing rule: tmux; took: 0:00:00.000285
DEBUG: Importing rule: touch; took: 0:00:00.000268
DEBUG: Importing rule: tsuru_login; took: 0:00:00.000268
DEBUG: Importing rule: tsuru_not_command; took: 0:00:00.000269
DEBUG: Importing rule: unknown_command; took: 0:00:00.000111
DEBUG: Importing rule: unsudo; took: 0:00:00.000101
DEBUG: Importing rule: vagrant_up; took: 0:00:00.000269
DEBUG: Importing rule: whois; took: 0:00:00.000404
DEBUG: Importing rule: workon_doesnt_exists; took: 0:00:00.000343
DEBUG: Importing rule: yarn_alias; took: 0:00:00.000267
DEBUG: Importing rule: yarn_command_not_found; took: 0:00:00.000562
DEBUG: Importing rule: yarn_command_replaced; took: 0:00:00.000411
DEBUG: Importing rule: yarn_help; took: 0:00:00.000277
DEBUG: Trying rule: path_from_history; took: 0:00:00.000467
DEBUG: Trying rule: dry; took: 0:00:00.000056
DEBUG: Trying rule: git_stash_pop; took: 0:00:00.000022
DEBUG: Trying rule: test.py; took: 0:00:00.000002
DEBUG: Trying rule: adb_unknown_command; took: 0:00:00.000013
DEBUG: Trying rule: ag_literal; took: 0:00:00.000012
DEBUG: Trying rule: aws_cli; took: 0:00:00.000011
DEBUG: Trying rule: az_cli; took: 0:00:00.000010
DEBUG: Trying rule: brew_cask_dependency; took: 0:00:00.000011
DEBUG: Trying rule: brew_install; took: 0:00:00.000002
DEBUG: Trying rule: brew_link; took: 0:00:00.000011
DEBUG: Trying rule: brew_reinstall; took: 0:00:00.000010
DEBUG: Trying rule: brew_uninstall; took: 0:00:00.000009
DEBUG: Trying rule: brew_unknown_command; took: 0:00:00.000002
DEBUG: Trying rule: brew_update_formula; took: 0:00:00.000009
DEBUG: Trying rule: cargo; took: 0:00:00.000002
DEBUG: Trying rule: cargo_no_command; took: 0:00:00.000011
DEBUG: Trying rule: cat_dir; took: 0:00:00.000011
DEBUG: Trying rule: cd_correction; took: 0:00:00.000012
DEBUG: Trying rule: cd_mkdir; took: 0:00:00.000011
DEBUG: Trying rule: cd_parent; took: 0:00:00.000002
DEBUG: Trying rule: chmod_x; took: 0:00:00.000003
DEBUG: Trying rule: composer_not_command; took: 0:00:00.000011
DEBUG: Trying rule: cp_omitting_directory; took: 0:00:00.000011
DEBUG: Trying rule: cpp11; took: 0:00:00.000010
DEBUG: Trying rule: dirty_untar; took: 0:00:00.000010
DEBUG: Trying rule: dirty_unzip; took: 0:00:00.000009
DEBUG: Trying rule: django_south_ghost; took: 0:00:00.000002
DEBUG: Trying rule: django_south_merge; took: 0:00:00.000002
DEBUG: Trying rule: docker_login; took: 0:00:00.000011
DEBUG: Trying rule: docker_not_command; took: 0:00:00.000011
DEBUG: Trying rule: fab_command_not_found; took: 0:00:00.000025
DEBUG: Trying rule: fix_alt_space; took: 0:00:00.000005
DEBUG: Trying rule: fix_file; took: 0:00:00.000009
DEBUG: Trying rule: gem_unknown_command; took: 0:00:00.000016
DEBUG: Trying rule: git_add; took: 0:00:00.000012
DEBUG: Trying rule: git_add_force; took: 0:00:00.000009
DEBUG: Trying rule: git_bisect_usage; took: 0:00:00.000009
DEBUG: Trying rule: git_branch_delete; took: 0:00:00.000012
DEBUG: Trying rule: git_branch_exists; took: 0:00:00.000009
DEBUG: Trying rule: git_branch_list; took: 0:00:00.000008
DEBUG: Trying rule: git_checkout; took: 0:00:00.000009
DEBUG: Trying rule: git_commit_amend; took: 0:00:00.000009
DEBUG: Trying rule: git_commit_reset; took: 0:00:00.000009
DEBUG: Trying rule: git_diff_no_index; took: 0:00:00.000008
DEBUG: Trying rule: git_diff_staged; took: 0:00:00.000008
DEBUG: Trying rule: git_fix_stash; took: 0:00:00.000009
DEBUG: Trying rule: git_flag_after_filename; took: 0:00:00.000011
DEBUG: Trying rule: git_help_aliased; took: 0:00:00.000009
DEBUG: Trying rule: git_merge; took: 0:00:00.000008
DEBUG: Trying rule: git_merge_unrelated; took: 0:00:00.000009
DEBUG: Trying rule: git_not_command; took: 0:00:00.000009
DEBUG: Trying rule: git_pull; took: 0:00:00.000008
DEBUG: Trying rule: git_pull_clone; took: 0:00:00.000009
DEBUG: Trying rule: git_pull_uncommitted_changes; took: 0:00:00.000008
DEBUG: Trying rule: git_push; took: 0:00:00.000008
DEBUG: Trying rule: git_push_different_branch_names; took: 0:00:00.000011
DEBUG: Trying rule: git_push_pull; took: 0:00:00.000009
DEBUG: Trying rule: git_push_without_commits; took: 0:00:00.000009
DEBUG: Trying rule: git_rebase_merge_dir; took: 0:00:00.000008
DEBUG: Trying rule: git_rebase_no_changes; took: 0:00:00.000009
DEBUG: Trying rule: git_remote_delete; took: 0:00:00.000009
DEBUG: Trying rule: git_remote_seturl_add; took: 0:00:00.000008
DEBUG: Trying rule: git_rm_local_modifications; took: 0:00:00.000009
DEBUG: Trying rule: git_rm_recursive; took: 0:00:00.000008
DEBUG: Trying rule: git_rm_staged; took: 0:00:00.000011
DEBUG: Trying rule: git_stash; took: 0:00:00.000008
DEBUG: Trying rule: git_tag_force; took: 0:00:00.000008
DEBUG: Trying rule: git_two_dashes; took: 0:00:00.000009
DEBUG: Trying rule: go_run; took: 0:00:00.000011
DEBUG: Trying rule: gradle_no_task; took: 0:00:00.000012
DEBUG: Trying rule: gradle_wrapper; took: 0:00:00.000011
DEBUG: Trying rule: grep_arguments_order; took: 0:00:00.000011
DEBUG: Trying rule: grep_recursive; took: 0:00:00.000011
DEBUG: Trying rule: grunt_task_not_found; took: 0:00:00.000013
DEBUG: Trying rule: gulp_not_task; took: 0:00:00.000010
DEBUG: Trying rule: has_exists_script; took: 0:00:00.000013
DEBUG: Trying rule: heroku_multiple_apps; took: 0:00:00.000011
DEBUG: Trying rule: heroku_not_command; took: 0:00:00.000010
DEBUG: Trying rule: hostscli; took: 0:00:00.000011
DEBUG: Trying rule: ifconfig_device_not_found; took: 0:00:00.000010
DEBUG: Trying rule: java; took: 0:00:00.000011
DEBUG: Trying rule: javac; took: 0:00:00.000012
DEBUG: Trying rule: lein_not_task; took: 0:00:00.000011
DEBUG: Trying rule: ln_no_hard_link; took: 0:00:00.000003
DEBUG: Trying rule: ln_s_order; took: 0:00:00.000004
DEBUG: Trying rule: ls_all; took: 0:00:00.000010
DEBUG: Trying rule: ls_lah; took: 0:00:00.000010
DEBUG: Trying rule: man; took: 0:00:00.000013
DEBUG: Trying rule: mercurial; took: 0:00:00.000010
DEBUG: Trying rule: mkdir_p; took: 0:00:00.000003
DEBUG: Trying rule: mvn_no_command; took: 0:00:00.000011
DEBUG: Trying rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000009
DEBUG: Trying rule: no_such_file; took: 0:00:00.000642
DEBUG: Trying rule: open; took: 0:00:00.000017
DEBUG: Trying rule: php_s; took: 0:00:00.000014
DEBUG: Trying rule: pip_install; took: 0:00:00.000013
DEBUG: Trying rule: pip_unknown_command; took: 0:00:00.000013
DEBUG: Trying rule: port_already_in_use; took: 0:00:00.000466
DEBUG: Trying rule: prove_recursively; took: 0:00:00.000015
DEBUG: Trying rule: pyenv_no_such_command; took: 0:00:00.000013
DEBUG: Trying rule: python_command; took: 0:00:00.000004
DEBUG: Trying rule: python_execute; took: 0:00:00.000012
DEBUG: Trying rule: quotation_marks; took: 0:00:00.000003
DEBUG: Trying rule: react_native_command_unrecognized; took: 0:00:00.000014
DEBUG: Trying rule: remove_trailing_cedilla; took: 0:00:00.000002
DEBUG: Trying rule: rm_dir; took: 0:00:00.000003
DEBUG: Trying rule: scm_correction; took: 0:00:00.000012
DEBUG: Trying rule: sed_unterminated_s; took: 0:00:00.000013
DEBUG: Trying rule: sl_ls; took: 0:00:00.000002
DEBUG: Trying rule: ssh_known_hosts; took: 0:00:00.000011
DEBUG: Trying rule: sudo; took: 0:00:00.000010
DEBUG: Trying rule: sudo_command_from_user_path; took: 0:00:00.000013
DEBUG: Trying rule: switch_lang; took: 0:00:00.000002
DEBUG: Trying rule: systemctl; took: 0:00:00.000012
DEBUG: Trying rule: tmux; took: 0:00:00.000011
DEBUG: Trying rule: touch; took: 0:00:00.000010
DEBUG: Trying rule: tsuru_login; took: 0:00:00.000010
DEBUG: Trying rule: tsuru_not_command; took: 0:00:00.000011
DEBUG: Trying rule: unknown_command; took: 0:00:00.000126
DEBUG: Trying rule: unsudo; took: 0:00:00.000003
DEBUG: Trying rule: vagrant_up; took: 0:00:00.000014
DEBUG: Trying rule: whois; took: 0:00:00.000012
DEBUG: Trying rule: workon_doesnt_exists; took: 0:00:00.000011
DEBUG: Trying rule: yarn_alias; took: 0:00:00.000013
DEBUG: Trying rule: yarn_command_not_found; took: 0:00:00.000010
DEBUG: Trying rule: yarn_command_replaced; took: 0:00:00.000010
DEBUG: Trying rule: yarn_help; took: 0:00:00.000010
DEBUG: Trying rule: man_no_space; took: 0:00:00.000002
DEBUG: Trying rule: no_command; took: 0:00:00.000006
DEBUG: Trying rule: missing_space_before_subcommand; took: 0:00:00.000009
DEBUG: Trying rule: long_form_help; took: 0:00:00.000253
docker contner ls [enter/↑/↓/ctrl+c]
Aborted
DEBUG: Total took: 0:00:02.897206

If the bug only appears with a specific application, the output of that application and its version:

shell $ docker --version
Docker version 18.09.2, build 6247962
shell $ docker contner ls
docker: 'contner' is not a docker command.
See 'docker --help'

Anything else you think is relevant:

  • The method rules.docker_not_command.get_docker_commands isn't called if it's called by TheFuck. However, during pytest that method is called.
@ik1ne
Copy link
Contributor Author

ik1ne commented Aug 1, 2019

Okay, I investigated a little bit more and the problem seems more complicated than I originally anticipated...

  1. This problem is not reproducible with older dockers(at least with 18.06.1-ce) because rules.long_form_help will take the priority over rules.docker_not_command. (i.e. the result will always be docker COMMAND --help).
  2. After inspecting I finally re-built my cache by rm -rf ~/.cache/thefuck.
    However, proc.stdout.readlines() at docker_not_command.py:16 returns an empty list.

@ik1ne
Copy link
Contributor Author

ik1ne commented Aug 2, 2019

https://stackoverflow.com/questions/57319353/subprocess-popendocker-stdout-subprocess-pipe-does-not-redirect-result-only?noredirect=1#comment101129691_57319353

The problem was that docker was outputing its result to stderr, while TheFuck was only reading stdout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant