nvbn / thefuck

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

Suggest correct filename for editing #956

Open shelbyKiraM opened 4 years ago

shelbyKiraM commented 4 years ago

The output of thefuck --version: The Fuck 3.29 using Python 3.6.8 and ZSH 5.4.2

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

How to reproduce the bug:

$ ls
bot.php
$ vim bot
<vim session with new file>
:q!
$ fuck
No fucks given
$

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

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('/root/.config/thefuck'),
 'wait_command': 3,
 'wait_slow_command': 15}
DEBUG: Execution timed out!
DEBUG: Call: vim bot; with env: {'LC_TERMINAL_VERSION': '3.3.5beta1', 'LANG': 'C', 'LC_TERMINAL': 'iTerm2', 'LC_CTYPE': 'en_US.UTF-8', 'USER': 'root', 'LOGNAME': 'root', 'HOME': '/root', 'PATH': '/root/.autojump/bin:/root/github/node-v10.15.3-linux-x64/bin:/root/bin:/home/linuxbrew/.linuxbrew/bin:/root/.autojump/bin:/root/.autojump/bin:/root/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games', 'MAIL': '/var/mail/root', 'SHELL': '/usr/bin/zsh', 'SSH_CLIENT': '24.5.18.26 40624 22', 'SSH_CONNECTION': '24.5.18.26 40624 172.26.45.171 22', 'SSH_TTY': '/dev/pts/0', 'TERM': 'xterm-256color', 'XDG_SESSION_ID': '204', 'XDG_RUNTIME_DIR': '/run/user/0', 'SHLVL': '1', 'PWD': '/home/she/http/swo.re/includes', 'OLDPWD': '/root', 'AUTOJUMP_SOURCED': '1', 'AUTOJUMP_ERROR_PATH': '/root/.local/share/autojump/errors.log', 'PAGER': 'less', 'LESS': '-R', 'LSCOLORS': 'Gxfxcxdxbxegedabagacad', 'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:', 'SSH_AUTH_SOCK': '/tmp/ssh-OtM7w1NqCnQm/agent.11268', 'SSH_AGENT_PID': '11270', 'EDITOR': 'vim', 'GIT_EDITOR': 'vim', 'GITHUB_USER': 'marv3lls', 'GITHUB_PASSWORD': 'XzAbJjJsdhm9prBzQegA', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'LE_WORKING_DIR': '/root/.acme.sh', 'CERBOT_IP_LOGGING': 'true', 'THEFUCK_DEBUG': 'true', 'TF_SHELL': 'zsh', 'TF_ALIAS': 'fuck', 'TF_SHELL_ALIASES': '-=\'cd -\'\n...=../..\n....=../../..\n.....=../../../..\n......=../../../../..\n1=\'cd -\'\n2=\'cd -2\'\n3=\'cd -3\'\n4=\'cd -4\'\n5=\'cd -5\'\n6=\'cd -6\'\n7=\'cd -7\'\n8=\'cd -8\'\n9=\'cd -9\'\n_=sudo\na=\'echo >>\'\na:=\'cat >>\'\nacme.sh=/root/.acme.sh/acme.sh\nafind=\'ack -il\'\nalert=\'notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e \'\\\'\'s/^\\s*[0-9]\\+\\s*//;s/[;&|]\\s*alert$//\'\\\'\')"\'\nat=atom\naudio=\'youtube-dl -xo \'\\\'\'%(title)s.%(ext)s\'\\\'\' -f \'\\\'\'bestvideo[ext=mp4]+bestaudio[ext=m4a]/m4a\'\\\'\nc=cat\nccat=colorize_via_pygmentize\ncless=colorize_via_pygmentize_less\nd=\'"$WGET"\'\nd64=decode64\ne64=encode64\negrep=\'egrep --color=auto\'\nf=\'"$GREP" -Rli\'\nf.=\'find . | "$GREP"\'\nf:=find\nfgrep=\'fgrep --color=auto\'\nfn=\'"$GREP" -Rlvi\'\ng=git\nga=\'git add\'\ngaa=\'git add --all\'\ngap=\'git apply\'\ngapa=\'git add --patch\'\ngau=\'git add --update\'\ngav=\'git add --verbose\'\ngb=\'git branch\'\ngbD=\'git branch -D\'\ngba=\'git branch -a\'\ngbd=\'git branch -d\'\ngbda=\'git branch --no-color --merged | command grep -vE "^(\\+|\\*|\\s*(master|develop|dev)\\s*$)" | command xargs -n 1 git branch -d\'\ngbl=\'git blame -b -w\'\ngbnm=\'git branch --no-merged\'\ngbr=\'git branch --remote\'\ngbs=\'git bisect\'\ngbsb=\'git bisect bad\'\ngbsg=\'git bisect good\'\ngbsr=\'git bisect reset\'\ngbss=\'git bisect start\'\ngc=\'git commit -v\'\n\'gc!\'=\'git commit -v --amend\'\ngca=\'git commit -v -a\'\n\'gca!\'=\'git commit -v -a --amend\'\ngcam=\'git commit -a -m\'\n\'gcan!\'=\'git commit -v -a --no-edit --amend\'\n\'gcans!\'=\'git commit -v -a -s --no-edit --amend\'\ngcb=\'git checkout -b\'\ngcd=\'git checkout develop\'\ngcf=\'git config --list\'\ngcl=\'git clone --recurse-submodules\'\ngclean=\'git clean -id\'\ngcm=\'git checkout master\'\ngcmsg=\'git commit -m\'\n\'gcn!\'=\'git commit -v --no-edit --amend\'\ngco=\'git checkout\'\ngcount=\'git shortlog -sn\'\ngcp=\'git cherry-pick\'\ngcpa=\'git cherry-pick --abort\'\ngcpc=\'git cherry-pick --continue\'\ngcs=\'git commit -S\'\ngcsm=\'git commit -s -m\'\ngd=\'git diff\'\ngdca=\'git diff --cached\'\ngdct=\'git describe --tags $(git rev-list --tags --max-count=1)\'\ngdcw=\'git diff --cached --word-diff\'\ngds=\'git diff --staged\'\ngdt=\'git diff-tree --no-commit-id --name-only -r\'\ngdw=\'git diff --word-diff\'\ngemb=\'gem build *.gemspec\'\ngemp=\'gem push *.gem\'\ngf=\'git fetch\'\ngfa=\'git fetch --all --prune\'\ngfg=\'git ls-files | grep\'\ngfo=\'git fetch origin\'\ngg=\'git gui citool\'\ngga=\'git gui citool --amend\'\nggpull=\'git pull origin "$(git_current_branch)"\'\nggpur=ggu\nggpush=\'git push origin "$(git_current_branch)"\'\nggsup=\'git branch --set-upstream-to=origin/$(git_current_branch)\'\nghh=\'git help\'\ngignore=\'git update-index --assume-unchanged\'\ngignored=\'git ls-files -v | grep "^[[:lower:]]"\'\ngit-svn-dcommit-push=\'git svn dcommit && git push github master:svntrunk\'\ngk=\'\\gitk --all --branches\'\ngke=\'\\gitk --all $(git log -g --pretty=%h)\'\ngl=\'git pull\'\nglg=\'git log --stat\'\nglgg=\'git log --graph\'\nglgga=\'git log --graph --decorate --all\'\nglgm=\'git log --graph --max-count=10\'\nglgp=\'git log --stat -p\'\nglo=\'git log --oneline --decorate\'\ngloburl=\'noglob urlglobber \'\nglod=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset\'\\\'\nglods=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset\'\\\'\' --date=short\'\nglog=\'git log --oneline --decorate --graph\'\ngloga=\'git log --oneline --decorate --graph --all\'\nglol=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\'\\\'\nglola=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\'\\\'\' --all\'\nglols=\'git log --graph --pretty=\'\\\'\'%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\'\\\'\' --stat\'\nglp=_git_log_prettily\nglum=\'git pull upstream master\'\ngm=\'git merge\'\ngma=\'git merge --abort\'\ngmom=\'git merge origin/master\'\ngmt=\'git mergetool --no-prompt\'\ngmtvim=\'git mergetool --no-prompt --tool=vimdiff\'\ngmum=\'git merge upstream/master\'\ngp=\'git push\'\ngpd=\'git push --dry-run\'\ngpf=\'git push --force-with-lease\'\n\'gpf!\'=\'git push --force\'\ngpoat=\'git push origin --all && git push origin --tags\'\ngpristine=\'git reset --hard && git clean -dfx\'\ngpsup=\'git push --set-upstream origin $(git_current_branch)\'\ngpu=\'git push upstream\'\ngpv=\'git push -v\'\ngr=\'git remote\'\ngra=\'git remote add\'\ngrb=\'git rebase\'\ngrba=\'git rebase --abort\'\ngrbc=\'git rebase --continue\'\ngrbd=\'git rebase develop\'\ngrbi=\'git rebase -i\'\ngrbm=\'git rebase master\'\ngrbs=\'git rebase --skip\'\ngrep=\'grep --color=auto\'\ngrev=\'git revert\'\ngrh=\'git reset\'\ngrhh=\'git reset --hard\'\ngrm=\'git rm\'\ngrmc=\'git rm --cached\'\ngrmv=\'git remote rename\'\ngroh=\'git reset origin/$(git_current_branch) --hard\'\ngrrm=\'git remote remove\'\ngrs=\'git restore\'\ngrset=\'git remote set-url\'\ngrss=\'git restore --source\'\ngrt=\'cd "$(git rev-parse --show-toplevel || echo .)"\'\ngru=\'git reset --\'\ngrup=\'git remote update\'\ngrv=\'git remote -v\'\ngsb=\'git status -sb\'\ngsd=\'git svn dcommit\'\ngsh=\'git show\'\ngsi=\'git submodule init\'\ngsps=\'git show --pretty=short --show-signature\'\ngsr=\'git svn rebase\'\ngss=\'git status -s\'\ngst=\'git status\'\ngsta=\'git stash push\'\ngstaa=\'git stash apply\'\ngstall=\'git stash --all\'\ngstc=\'git stash clear\'\ngstd=\'git stash drop\'\ngstl=\'git stash list\'\ngstp=\'git stash pop\'\ngsts=\'git stash show --text\'\ngsu=\'git submodule update\'\ngsw=\'git switch\'\ngswc=\'git switch -c\'\ngtl=\'gtl(){ git tag --sort=-v:refname -n -l ${1}* }; noglob gtl\'\ngts=\'git tag -s\'\ngtv=\'git tag | sort -V\'\ngunignore=\'git update-index --no-assume-unchanged\'\ngunwip=\'git log -n 1 | grep -q -c "\\-\\-wip\\-\\-" && git reset HEAD~1\'\ngup=\'git pull --rebase\'\ngupa=\'git pull --rebase --autostash\'\ngupav=\'git pull --rebase --autostash -v\'\ngupv=\'git pull --rebase -v\'\ngwch=\'git whatchanged -p --abbrev-commit --pretty=medium\'\ngwip=\'git add -A; git rm $(git ls-files --deleted) 2> /dev/null; git commit --no-verify --no-gpg-sign -m "--wip-- [skip ci]"\'\nh=history\nhistory=omz_history\nhsi=\'hs -i\'\nimgcat=/root/.iterm2/imgcat\nimgls=/root/.iterm2/imgls\nit2attention=/root/.iterm2/it2attention\nit2check=/root/.iterm2/it2check\nit2copy=/root/.iterm2/it2copy\nit2dl=/root/.iterm2/it2dl\nit2getvar=/root/.iterm2/it2getvar\nit2setcolor=/root/.iterm2/it2setcolor\nit2setkeylabel=/root/.iterm2/it2setkeylabel\nit2ul=/root/.iterm2/it2ul\nit2universion=/root/.iterm2/it2universion\nl=\'ls -CF\'\nla=\'ls -A\'\nll=\'ls -alF\'\nls=\'ls --color=auto\'\nlsa=\'ls -lah\'\nm=man\nmd=\'mkdir -p\'\nn=\'"$GREP" -Rvi\'\np=\'"$PAGER"\'\npls=ls\nrd=rmdir\nrsync-copy=\'rsync -avz --progress -h\'\nrsync-move=\'rsync -avz --progress -h --remove-source-files\'\nrsync-synchronize=\'rsync -avzu --delete --progress -h\'\nrsync-update=\'rsync -avzu --progress -h\'\ns=\'"$ROOT"\'\nsa=\'"$ROOT" echo >>\'\nsa:=\'"$ROOT" cat >>\'\nsc=\'"$ROOT" cat\'\nsd=\'"$ROOT" "$WGET"\'\nsf=\'"$ROOT" "$GREP" -Rli\'\nsf.=\'"$ROOT" find . | "$GREP"\'\nsf:=\'"$ROOT" find\'\nsfn=\'"$ROOT" "$GREP" -Rlvi\'\nsm=\'"$ROOT" man\'\nsn=\'"$ROOT" "$GREP" -Riv\'\nsp=\'"$ROOT" "$PAGER"\'\nsw=\'"$ROOT" echo >\'\nsw:=\'"$ROOT" cat >\'\nsx=\'"$ROOT" xargs\'\nsxa=\'"$ROOT" xargs echo >>\'\nsxa:=\'"$ROOT" xargs cat >>\'\nsxc=\'"$ROOT" xargs cat\'\nsxd=\'"$ROOT" xargs "$WGET"\'\nsxf=\'"$ROOT" xargs "$GREP" -li\'\nsxf.=\'"$ROOT" xargs find | "$GREP"\'\nsxf:=\'"$ROOT" xargs find\'\nsxfn=\'"$ROOT" xargs "$GREP" -lvi\'\nsxm=\'"$ROOT" xargs man\'\nsxn=\'"$ROOT" xargs "$GREP" -Riv\'\nsxp=\'"$ROOT" xargs "$PAGER"\'\nsxu=\'"$ROOT" xargs "$CURL"\'\nsxw=\'"$ROOT" xargs echo >\'\nsxw:=\'"$ROOT" xargs cat >\'\nsxy=\'"$ROOT" xargs "$GREP" -Ri\'\nsy=\'"$ROOT" "$GREP" -Ri\'\nu=\'"$CURL"\'\nvs=/var/www/she/swo.re/vidl.sh\nw=\'bash -c w\'\nw:=\'cat >\'\nwhich-command=whence\nwitch=which\nx=xargs\nxa=\'xargs echo >>\'\nxa:=\'xargs >>\'\nxc=\'xargs cat\'\nxd=\'xargs "$WGET"\'\nxf=\'xargs "$GREP" -Rli\'\nxf.=\'xargs find | "$GREP"\'\nxf:=\'xargs find\'\nxfn=\'xargs "$GREP" -Rlvi\'\nxm=\'xargs man\'\nxn=\'xargs "$GREP" -Riv\'\nxp=\'xargs "$PAGER"\'\nxu=\'xargs "$CURL"\'\nxw=\'xargs echo >\'\nxw:=\'xargs cat >\'\nxy=\'xargs "$GREP" -Ri\'\ny=\'"$GREP" -Ri\'\nyoutube-dl=\'youtube-dl -o \'\\\'\'%(title)s.%(ext)s\'\\\'\' -f \'\\\'\'bestvideo[ext=mp4]+bestaudio[ext=m4a]/m4a\'\\\'\nyt=youtube-dl', 'TF_HISTORY': 'fuck\nscript ~/script.txt\nfuck\nvim ~/.cust.zsh ; . ~/.cust.zsh \nfuck\nexit\nmv ~/script.txt ../vid/\nexport THEFUCK_DEBUG=true\neval $(thefuck --alias)\nvim bot', 'PYTHONIOENCODING': 'utf-8', '_': '/usr/local/bin/thefuck', 'LC_ALL': 'C', 'GIT_TRACE': '1'}; is slow:  took: 0:00:03.029428
DEBUG: Importing rule: adb_unknown_command; took: 0:00:00.000320
DEBUG: Importing rule: ag_literal; took: 0:00:00.000530
DEBUG: Importing rule: apt_get; took: 0:00:00.001031
DEBUG: Importing rule: apt_get_search; took: 0:00:00.000360
DEBUG: Importing rule: apt_invalid_operation; took: 0:00:00.000929
DEBUG: Importing rule: apt_list_upgradable; took: 0:00:00.000520
DEBUG: Importing rule: apt_upgrade; took: 0:00:00.000636
DEBUG: Importing rule: aws_cli; took: 0:00:00.000406
DEBUG: Importing rule: az_cli; took: 0:00:00.000350
DEBUG: Importing rule: brew_cask_dependency; took: 0:00:00.000689
DEBUG: Importing rule: brew_install; took: 0:00:00.000145
DEBUG: Importing rule: brew_link; took: 0:00:00.000347
DEBUG: Importing rule: brew_reinstall; took: 0:00:00.000691
DEBUG: Importing rule: brew_uninstall; took: 0:00:00.000351
DEBUG: Importing rule: brew_unknown_command; took: 0:00:00.000167
DEBUG: Importing rule: brew_update_formula; took: 0:00:00.000395
DEBUG: Importing rule: brew_upgrade; took: 0:00:00.000130
DEBUG: Importing rule: cargo; took: 0:00:00.000114
DEBUG: Importing rule: cargo_no_command; took: 0:00:00.000347
DEBUG: Importing rule: cat_dir; took: 0:00:00.000359
DEBUG: Importing rule: cd_correction; took: 0:00:00.001320
DEBUG: Importing rule: cd_mkdir; took: 0:00:00.000519
DEBUG: Importing rule: cd_parent; took: 0:00:00.000127
DEBUG: Importing rule: chmod_x; took: 0:00:00.000146
DEBUG: Importing rule: composer_not_command; took: 0:00:00.000419
DEBUG: Importing rule: cp_omitting_directory; took: 0:00:00.000512
DEBUG: Importing rule: cpp11; took: 0:00:00.000341
DEBUG: Importing rule: dirty_untar; took: 0:00:00.001543
DEBUG: Importing rule: dirty_unzip; took: 0:00:00.001257
DEBUG: Importing rule: django_south_ghost; took: 0:00:00.000135
DEBUG: Importing rule: django_south_merge; took: 0:00:00.000117
DEBUG: Importing rule: dnf_no_such_command; took: 0:00:00.001287
DEBUG: Importing rule: docker_login; took: 0:00:00.000356
DEBUG: Importing rule: docker_not_command; took: 0:00:00.000739
DEBUG: Importing rule: dry; took: 0:00:00.000163
DEBUG: Importing rule: fab_command_not_found; took: 0:00:00.000511
DEBUG: Importing rule: fix_alt_space; took: 0:00:00.000347
DEBUG: Importing rule: fix_file; took: 0:00:00.003155
DEBUG: Importing rule: gem_unknown_command; took: 0:00:00.000566
DEBUG: Importing rule: git_add; took: 0:00:00.000611
DEBUG: Importing rule: git_add_force; took: 0:00:00.000344
DEBUG: Importing rule: git_bisect_usage; took: 0:00:00.000344
DEBUG: Importing rule: git_branch_delete; took: 0:00:00.000346
DEBUG: Importing rule: git_branch_exists; took: 0:00:00.000439
DEBUG: Importing rule: git_branch_list; took: 0:00:00.000364
DEBUG: Importing rule: git_checkout; took: 0:00:00.000360
DEBUG: Importing rule: git_commit_amend; took: 0:00:00.000335
DEBUG: Importing rule: git_commit_reset; took: 0:00:00.000395
DEBUG: Importing rule: git_diff_no_index; took: 0:00:00.000348
DEBUG: Importing rule: git_diff_staged; took: 0:00:00.000334
DEBUG: Importing rule: git_fix_stash; took: 0:00:00.000343
DEBUG: Importing rule: git_flag_after_filename; took: 0:00:00.000350
DEBUG: Importing rule: git_help_aliased; took: 0:00:00.000334
DEBUG: Importing rule: git_merge; took: 0:00:00.000378
DEBUG: Importing rule: git_merge_unrelated; took: 0:00:00.000354
DEBUG: Importing rule: git_not_command; took: 0:00:00.000357
DEBUG: Importing rule: git_pull; took: 0:00:00.000348
DEBUG: Importing rule: git_pull_clone; took: 0:00:00.000336
DEBUG: Importing rule: git_pull_uncommitted_changes; took: 0:00:00.000343
DEBUG: Importing rule: git_push; took: 0:00:00.000349
DEBUG: Importing rule: git_push_different_branch_names; took: 0:00:00.000335
DEBUG: Importing rule: git_push_force; took: 0:00:00.000347
DEBUG: Importing rule: git_push_pull; took: 0:00:00.000382
DEBUG: Importing rule: git_push_without_commits; took: 0:00:00.000388
DEBUG: Importing rule: git_rebase_merge_dir; took: 0:00:00.000347
DEBUG: Importing rule: git_rebase_no_changes; took: 0:00:00.000255
DEBUG: Importing rule: git_remote_delete; took: 0:00:00.000338
DEBUG: Importing rule: git_remote_seturl_add; took: 0:00:00.000251
DEBUG: Importing rule: git_rm_local_modifications; took: 0:00:00.000376
DEBUG: Importing rule: git_rm_recursive; took: 0:00:00.000337
DEBUG: Importing rule: git_rm_staged; took: 0:00:00.000392
DEBUG: Importing rule: git_stash; took: 0:00:00.000365
DEBUG: Importing rule: git_stash_pop; took: 0:00:00.000352
DEBUG: Importing rule: git_tag_force; took: 0:00:00.000357
DEBUG: Importing rule: git_two_dashes; took: 0:00:00.000341
DEBUG: Importing rule: go_run; took: 0:00:00.000345
DEBUG: Importing rule: gradle_no_task; took: 0:00:00.000615
DEBUG: Importing rule: gradle_wrapper; took: 0:00:00.000348
DEBUG: Importing rule: grep_arguments_order; took: 0:00:00.000353
DEBUG: Importing rule: grep_recursive; took: 0:00:00.000386
DEBUG: Importing rule: grunt_task_not_found; took: 0:00:00.000585
DEBUG: Importing rule: gulp_not_task; took: 0:00:00.000381
DEBUG: Importing rule: has_exists_script; took: 0:00:00.000346
DEBUG: Importing rule: heroku_multiple_apps; took: 0:00:00.000363
DEBUG: Importing rule: heroku_not_command; took: 0:00:00.000374
DEBUG: Importing rule: history; took: 0:00:00.000161
DEBUG: Importing rule: hostscli; took: 0:00:00.000510
DEBUG: Importing rule: ifconfig_device_not_found; took: 0:00:00.001046
DEBUG: Importing rule: java; took: 0:00:00.000342
DEBUG: Importing rule: javac; took: 0:00:00.000342
DEBUG: Importing rule: lein_not_task; took: 0:00:00.000511
DEBUG: Importing rule: ln_no_hard_link; took: 0:00:00.000338
DEBUG: Importing rule: ln_s_order; took: 0:00:00.000344
DEBUG: Importing rule: long_form_help; took: 0:00:00.000146
DEBUG: Importing rule: ls_all; took: 0:00:00.000337
DEBUG: Importing rule: ls_lah; took: 0:00:00.000408
DEBUG: Importing rule: man; took: 0:00:00.000373
DEBUG: Importing rule: man_no_space; took: 0:00:00.000137
DEBUG: Importing rule: mercurial; took: 0:00:00.000371
DEBUG: Importing rule: missing_space_before_subcommand; took: 0:00:00.000141
DEBUG: Importing rule: mkdir_p; took: 0:00:00.000437
DEBUG: Importing rule: mvn_no_command; took: 0:00:00.000362
DEBUG: Importing rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000358
DEBUG: Importing rule: no_command; took: 0:00:00.000343
DEBUG: Importing rule: no_such_file; took: 0:00:00.000139
DEBUG: Importing rule: npm_missing_script; took: 0:00:00.000717
DEBUG: Importing rule: npm_run_script; took: 0:00:00.000382
DEBUG: Importing rule: npm_wrong_command; took: 0:00:00.000618
DEBUG: Importing rule: open; took: 0:00:00.000446
DEBUG: Importing rule: pacman; took: 0:00:00.000651
DEBUG: Importing rule: pacman_not_found; took: 0:00:00.000143
DEBUG: Importing rule: path_from_history; took: 0:00:00.000155
DEBUG: Importing rule: php_s; took: 0:00:00.000411
DEBUG: Importing rule: pip_install; took: 0:00:00.000444
DEBUG: Importing rule: pip_unknown_command; took: 0:00:00.000441
DEBUG: Importing rule: port_already_in_use; took: 0:00:00.000282
DEBUG: Importing rule: prove_recursively; took: 0:00:00.000361
DEBUG: Importing rule: pyenv_no_such_command; took: 0:00:00.000705
DEBUG: Importing rule: python_command; took: 0:00:00.000336
DEBUG: Importing rule: python_execute; took: 0:00:00.000338
DEBUG: Importing rule: quotation_marks; took: 0:00:00.000152
DEBUG: Importing rule: react_native_command_unrecognized; took: 0:00:00.000446
DEBUG: Importing rule: remove_trailing_cedilla; took: 0:00:00.000131
DEBUG: Importing rule: rm_dir; took: 0:00:00.000340
DEBUG: Importing rule: rm_root; took: 0:00:00.000388
DEBUG: Importing rule: scm_correction; took: 0:00:00.000465
DEBUG: Importing rule: sed_unterminated_s; took: 0:00:00.000342
DEBUG: Importing rule: sl_ls; took: 0:00:00.000137
DEBUG: Importing rule: ssh_known_hosts; took: 0:00:00.000358
DEBUG: Importing rule: sudo; took: 0:00:00.000143
DEBUG: Importing rule: sudo_command_from_user_path; took: 0:00:00.000383
DEBUG: Importing rule: switch_lang; took: 0:00:00.000189
DEBUG: Importing rule: systemctl; took: 0:00:00.000538
DEBUG: Importing rule: test.py; took: 0:00:00.000127
DEBUG: Importing rule: tmux; took: 0:00:00.000348
DEBUG: Importing rule: touch; took: 0:00:00.000356
DEBUG: Importing rule: tsuru_login; took: 0:00:00.000336
DEBUG: Importing rule: tsuru_not_command; took: 0:00:00.000340
DEBUG: Importing rule: unknown_command; took: 0:00:00.000130
DEBUG: Importing rule: unsudo; took: 0:00:00.000118
DEBUG: Importing rule: vagrant_up; took: 0:00:00.000375
DEBUG: Importing rule: whois; took: 0:00:00.000540
DEBUG: Importing rule: workon_doesnt_exists; took: 0:00:00.000448
DEBUG: Importing rule: yarn_alias; took: 0:00:00.000335
DEBUG: Importing rule: yarn_command_not_found; took: 0:00:00.000782
DEBUG: Importing rule: yarn_command_replaced; took: 0:00:00.000463
DEBUG: Importing rule: yarn_help; took: 0:00:00.000350
DEBUG: Trying rule: dirty_unzip; took: 0:00:00.000100
No fucks given
DEBUG: Total took: 0:00:03.131388

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

Not relevant

Anything else you think is relevant:

$ ls bot.php $ vim bot

:q! $ fuck vim bot.php [enter/↑/↓/ctrl+c] ``` - Also, with other editors? nano, emacs, &c.
noraatfedora commented 4 years ago

Can I get this one? I want to feel useful.

scorphus commented 4 years ago

Go for it! May I recommend having it with a high priority? Say priority = 3100. Depending on the contents of the directory it may be slow to generate a set of new commands. Also, as it requires no output, be sure to have requires_output = False in it too. Happy hacking! 🎃

jyuvaraj03 commented 4 years ago

I'd like to submit a PR for this. But, there seems to be an open PR fixing this. Can I take this issue and work on it?

noraatfedora commented 4 years ago

I'd like to submit a PR for this. But, there seems to be an open PR fixing this. Can I take this issue and work on it?

Go ahead

scorphus commented 4 years ago

@jyuvaraj03 please have a look at #992 and interact on it first. Please try and get some feedback from its author. Also, there's a comment there which may be worth checking.