nvbn / thefuck

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

Greek keyboard mapping incorrect #862

Open GKFX opened 5 years ago

GKFX commented 5 years ago

(Ref #776)

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

~ $ shit --version
The Fuck 3.28 using Python 3.6.7 and Bash 4.4.23(1)-release

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

Debian Buster

How to reproduce the bug:

~ $ ωιμ   # expected vim
bash: ωιμ: command not found
127|~ $ shit
cin [enter/↑/↓/ctrl+c]
Aborted

The output of The Fuck with THEFUCK_DEBUG=true exported (typically execute export THEFUCK_DEBUG=true in your shell before The 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('/home/bateman/.config/thefuck'),
 'wait_command': 3,
 'wait_slow_command': 15}
DEBUG: Received output: /bin/sh: 1: ωιμ: not found

DEBUG: Call: ωιμ; with env: {'TIME_STYLE': 'long-iso', '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=00;31:*.tgz=00;31:*.arc=00;31:*.arj=00;31:*.taz=00;31:*.lha=00;31:*.lz4=00;31:*.lzh=00;31:*.lzma=00;31:*.tlz=00;31:*.txz=00;31:*.tzo=00;31:*.t7z=00;31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.dz=00;31:*.gz=00;31:*.lrz=00;31:*.lz=00;31:*.lzo=00;31:*.xz=00;31:*.zst=00;31:*.tzst=00;31:*.bz2=00;31:*.bz=00;31:*.tbz=00;31:*.tbz2=00;31:*.tz=00;31:*.deb=00;31:*.rpm=00;31:*.jar=00;31:*.war=00;31:*.ear=00;31:*.sar=00;31:*.rar=00;31:*.alz=00;31:*.ace=00;31:*.zoo=00;31:*.cpio=00;31:*.7z=00;31:*.rz=00;31:*.cab=00;31:*.jpg=00;35:*.jpeg=00;35:*.mjpg=00;35:*.mjpeg=00;35:*.gif=00;35:*.bmp=00;35:*.pbm=00;35:*.pgm=00;35:*.ppm=00;35:*.tga=00;35:*.xbm=00;35:*.xpm=00;35:*.tif=00;35:*.tiff=00;35:*.png=00;35:*.svg=00;35:*.svgz=00;35:*.mng=00;35:*.pcx=00;35:*.mov=00;35:*.mpg=00;35:*.mpeg=00;35:*.m2v=00;35:*.mkv=00;35:*.webm=00;35:*.ogm=00;35:*.mp4=00;35:*.m4v=00;35:*.mp4v=00;35:*.vob=00;35:*.qt=00;35:*.nuv=00;35:*.wmv=00;35:*.asf=00;35:*.rm=00;35:*.rmvb=00;35:*.flc=00;35:*.avi=00;35:*.fli=00;35:*.flv=00;35:*.gl=00;35:*.dl=00;35:*.xcf=00;35:*.xwd=00;35:*.yuv=00;35:*.cgm=00;35:*.emf=00;35:*.ogv=00;35:*.ogx=00;35:*.aac=00;33:*.au=00;33:*.flac=00;33:*.m4a=00;33:*.mid=00;33:*.midi=00;33:*.mka=00;33:*.mp3=00;33:*.mpc=00;33:*.ogg=00;33:*.ra=00;33:*.wav=00;33:*.oga=00;33:*.opus=00;33:*.spx=00;33:*.xspf=00;33:*.csv=00;32:*.ods=00;32:*.xls=00;32:*.xlsb=00;32:*.xlsm=00;32:*.xlsx=00;32:*.xltx=00;32:*.doc=00;36:*.docx=00;36:*.dot=00;36:*.odt=00;36:*.pdf=00;36:*.skp=00;35:*.ods#=00;90:*.docx#=00;90:*.skb=00;90:*.swp=00;90:', 'XDG_MENU_PREFIX': 'gnome-', 'LANG': 'C', 'GDM_LANG': 'en_GB.UTF-8', 'DISPLAY': ':0', 'OLDPWD': '/home/bateman/Geek/camdram', 'EDITOR': '/usr/bin/vim', 'DEBFULLNAME': 'George Bateman', 'COLORTERM': 'truecolor', 'TF_SHELL_ALIASES': 'alias :Q=\'exit\'\nalias :q=\'exit\'\nalias PS1-tiny=\'make-PS1 "${MAKE_PS1_1}" "" "${MAKE_PS1_3}"\'\nalias cp=\'cp -i\'\nalias dir=\'dir --color=auto\'\nalias egrep=\'egrep --color=auto\'\nalias fgrep=\'fgrep --color=auto\'\nalias fix-eth0=\'sudo ifdown eth0; sudo ifup eth0\'\nalias grep=\'grep --color=auto\'\nalias igrep=\'grep -i\'\nalias l=\'ls -CF\'\nalias la=\'ls -A\'\nalias ll=\'ls -Al\'\nalias lr=\'ls -AR\'\nalias ls=\'ls --color=auto\'\nalias mv=\'mv -i\'\nalias my-ps=\'ps U $UID\'\nalias sudo=\'sudo \'\nalias units=\'(export INPUTRC=/home/bateman/.inputrc-units; settitle Units; units -v; unset INPUTRC)\'\nalias vdir=\'vdir --color=auto\'', 'USERNAME': 'bateman', 'XDG_VTNR': '2', 'GIO_LAUNCHED_DESKTOP_FILE_PID': '2057', 'PYTHONIOENCODING': 'utf-8', 'SSH_AUTH_SOCK': '/run/user/1000/keyring/ssh', 'XDG_SESSION_ID': '2', 'USER': 'bateman', 'DESKTOP_SESSION': 'gnome', 'WAYLAND_DISPLAY': 'wayland-0', 'TF_SHELL': 'bash', 'PWD': '/home/bateman', 'HOME': '/home/bateman', 'LESSHISTFILE': '/dev/shm/.bateman.less.history', 'XDG_SESSION_TYPE': 'wayland', 'MATHEMATICA_HOME': '/usr/local/Wolfram/Mathematica/11.2', 'XDG_SESSION_DESKTOP': 'gnome', 'EMAIL': 'george.bateman16@gmail.com', 'GJS_DEBUG_OUTPUT': 'stderr', 'KITTY_WINDOW_ID': '3', 'TERM': 'xterm-kitty', 'SHELL': '/bin/bash', 'XDG_CURRENT_DESKTOP': 'GNOME', 'TF_ALIAS': 'shit', 'GIO_LAUNCHED_DESKTOP_FILE': '/usr/share/applications/kitty.desktop', 'SHLVL': '2', 'XDG_SEAT': 'seat0', 'LANGUAGE': 'en_GB:en', 'WINDOWID': '41943054', 'UNZIP': '-q', 'MANOPT': '--nh', 'GDMSESSION': 'gnome', 'GNOME_DESKTOP_SESSION_ID': 'this-is-deprecated', 'LOGNAME': 'bateman', 'DBUS_SESSION_BUS_ADDRESS': 'unix:path=/run/user/1000/bus', 'XDG_RUNTIME_DIR': '/run/user/1000', 'TF_HISTORY': '\t shit\n\t reset\n\t shit --version\n\t ωιμ\n\t shit\n\t export THEFUCK_DEBUG=true\n\t ωιμ\n\t shit\n\t reset\n\t ωιμ', 'PATH': '/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games', 'THEFUCK_DEBUG': 'true', 'GJS_DEBUG_TOPICS': 'JS ERROR;JS LOG', 'SESSION_MANAGER': 'local/gbat-hp-linux:@/tmp/.ICE-unix/1145,unix/gbat-hp-linux:/tmp/.ICE-unix/1145', 'GCC_COLORS': 'error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01', '_': '/usr/local/bin/thefuck', 'LC_ALL': 'C', 'GIT_TRACE': '1'}; is slow:  took: 0:00:00.001758
DEBUG: Importing rule: adb_unknown_command; took: 0:00:00.000284
DEBUG: Importing rule: ag_literal; took: 0:00:00.000538
DEBUG: Importing rule: apt_get; took: 0:00:00.000706
DEBUG: Importing rule: apt_get_search; took: 0:00:00.000346
DEBUG: Importing rule: apt_invalid_operation; took: 0:00:00.000799
DEBUG: Importing rule: apt_list_upgradable; took: 0:00:00.000439
DEBUG: Importing rule: apt_upgrade; took: 0:00:00.000435
DEBUG: Importing rule: aws_cli; took: 0:00:00.000480
DEBUG: Importing rule: az_cli; took: 0:00:00.000323
DEBUG: Importing rule: brew_cask_dependency; took: 0:00:00.000580
DEBUG: Importing rule: brew_install; took: 0:00:00.000154
DEBUG: Importing rule: brew_link; took: 0:00:00.000325
DEBUG: Importing rule: brew_reinstall; took: 0:00:00.000715
DEBUG: Importing rule: brew_uninstall; took: 0:00:00.000328
DEBUG: Importing rule: brew_unknown_command; took: 0:00:00.000224
DEBUG: Importing rule: brew_update_formula; took: 0:00:00.002107
DEBUG: Importing rule: brew_upgrade; took: 0:00:00.000853
DEBUG: Importing rule: cargo; took: 0:00:00.000455
DEBUG: Importing rule: cargo_no_command; took: 0:00:00.000626
DEBUG: Importing rule: cat_dir; took: 0:00:00.000565
DEBUG: Importing rule: cd_correction; took: 0:00:00.002076
DEBUG: Importing rule: cd_mkdir; took: 0:00:00.000796
DEBUG: Importing rule: cd_parent; took: 0:00:00.000134
DEBUG: Importing rule: chmod_x; took: 0:00:00.000128
DEBUG: Importing rule: composer_not_command; took: 0:00:00.000400
DEBUG: Importing rule: cp_omitting_directory; took: 0:00:00.000448
DEBUG: Importing rule: cpp11; took: 0:00:00.000296
DEBUG: Importing rule: dirty_untar; took: 0:00:00.001251
DEBUG: Importing rule: dirty_unzip; took: 0:00:00.001102
DEBUG: Importing rule: django_south_ghost; took: 0:00:00.000193
DEBUG: Importing rule: django_south_merge; took: 0:00:00.000124
DEBUG: Importing rule: dnf_no_such_command; took: 0:00:00.001588
DEBUG: Importing rule: docker_not_command; took: 0:00:00.000987
DEBUG: Importing rule: dry; took: 0:00:00.000163
DEBUG: Importing rule: fab_command_not_found; took: 0:00:00.000547
DEBUG: Importing rule: fix_alt_space; took: 0:00:00.000381
DEBUG: Importing rule: fix_file; took: 0:00:00.003420
DEBUG: Importing rule: gem_unknown_command; took: 0:00:00.000513
DEBUG: Importing rule: git_add; took: 0:00:00.000591
DEBUG: Importing rule: git_add_force; took: 0:00:00.000770
DEBUG: Importing rule: git_bisect_usage; took: 0:00:00.001950
DEBUG: Importing rule: git_branch_delete; took: 0:00:00.001150
DEBUG: Importing rule: git_branch_exists; took: 0:00:00.000853
DEBUG: Importing rule: git_branch_list; took: 0:00:00.000580
DEBUG: Importing rule: git_checkout; took: 0:00:00.000653
DEBUG: Importing rule: git_commit_amend; took: 0:00:00.000546
DEBUG: Importing rule: git_diff_no_index; took: 0:00:00.000362
DEBUG: Importing rule: git_diff_staged; took: 0:00:00.000321
DEBUG: Importing rule: git_fix_stash; took: 0:00:00.000431
DEBUG: Importing rule: git_flag_after_filename; took: 0:00:00.000333
DEBUG: Importing rule: git_help_aliased; took: 0:00:00.000322
DEBUG: Importing rule: git_merge; took: 0:00:00.000338
DEBUG: Importing rule: git_merge_unrelated; took: 0:00:00.000321
DEBUG: Importing rule: git_not_command; took: 0:00:00.000343
DEBUG: Importing rule: git_pull; took: 0:00:00.000337
DEBUG: Importing rule: git_pull_clone; took: 0:00:00.000334
DEBUG: Importing rule: git_pull_uncommitted_changes; took: 0:00:00.000321
DEBUG: Importing rule: git_push; took: 0:00:00.000321
DEBUG: Importing rule: git_push_different_branch_names; took: 0:00:00.000328
DEBUG: Importing rule: git_push_force; took: 0:00:00.000331
DEBUG: Importing rule: git_push_pull; took: 0:00:00.000331
DEBUG: Importing rule: git_push_without_commits; took: 0:00:00.000382
DEBUG: Importing rule: git_rebase_merge_dir; took: 0:00:00.000337
DEBUG: Importing rule: git_rebase_no_changes; took: 0:00:00.000246
DEBUG: Importing rule: git_remote_delete; took: 0:00:00.000297
DEBUG: Importing rule: git_remote_seturl_add; took: 0:00:00.000253
DEBUG: Importing rule: git_rm_local_modifications; took: 0:00:00.000326
DEBUG: Importing rule: git_rm_recursive; took: 0:00:00.000345
DEBUG: Importing rule: git_rm_staged; took: 0:00:00.000318
DEBUG: Importing rule: git_stash; took: 0:00:00.000327
DEBUG: Importing rule: git_stash_pop; took: 0:00:00.000743
DEBUG: Importing rule: git_tag_force; took: 0:00:00.001329
DEBUG: Importing rule: git_two_dashes; took: 0:00:00.002379
DEBUG: Importing rule: go_run; took: 0:00:00.000623
DEBUG: Importing rule: gradle_no_task; took: 0:00:00.000664
DEBUG: Importing rule: gradle_wrapper; took: 0:00:00.000361
DEBUG: Importing rule: grep_arguments_order; took: 0:00:00.000355
DEBUG: Importing rule: grep_recursive; took: 0:00:00.000349
DEBUG: Importing rule: grunt_task_not_found; took: 0:00:00.000613
DEBUG: Importing rule: gulp_not_task; took: 0:00:00.000381
DEBUG: Importing rule: has_exists_script; took: 0:00:00.000340
DEBUG: Importing rule: heroku_multiple_apps; took: 0:00:00.000351
DEBUG: Importing rule: heroku_not_command; took: 0:00:00.000353
DEBUG: Importing rule: history; took: 0:00:00.000144
DEBUG: Importing rule: hostscli; took: 0:00:00.000537
DEBUG: Importing rule: ifconfig_device_not_found; took: 0:00:00.000415
DEBUG: Importing rule: java; took: 0:00:00.000340
DEBUG: Importing rule: javac; took: 0:00:00.000767
DEBUG: Importing rule: lein_not_task; took: 0:00:00.000514
DEBUG: Importing rule: ln_no_hard_link; took: 0:00:00.000333
DEBUG: Importing rule: ln_s_order; took: 0:00:00.000330
DEBUG: Importing rule: long_form_help; took: 0:00:00.000165
DEBUG: Importing rule: ls_all; took: 0:00:00.000343
DEBUG: Importing rule: ls_lah; took: 0:00:00.000340
DEBUG: Importing rule: man; took: 0:00:00.000344
DEBUG: Importing rule: man_no_space; took: 0:00:00.000156
DEBUG: Importing rule: mercurial; took: 0:00:00.000348
DEBUG: Importing rule: missing_space_before_subcommand; took: 0:00:00.000167
DEBUG: Importing rule: mkdir_p; took: 0:00:00.000359
DEBUG: Importing rule: mvn_no_command; took: 0:00:00.000346
DEBUG: Importing rule: mvn_unknown_lifecycle_phase; took: 0:00:00.001098
DEBUG: Importing rule: no_command; took: 0:00:00.000757
DEBUG: Importing rule: no_such_file; took: 0:00:00.000255
DEBUG: Importing rule: npm_missing_script; took: 0:00:00.002827
DEBUG: Importing rule: npm_run_script; took: 0:00:00.000573
DEBUG: Importing rule: npm_wrong_command; took: 0:00:00.000652
DEBUG: Importing rule: open; took: 0:00:00.000539
DEBUG: Importing rule: pacman; took: 0:00:00.000621
DEBUG: Importing rule: pacman_not_found; took: 0:00:00.000176
DEBUG: Importing rule: path_from_history; took: 0:00:00.000197
DEBUG: Importing rule: php_s; took: 0:00:00.000454
DEBUG: Importing rule: pip_unknown_command; took: 0:00:00.000454
DEBUG: Importing rule: port_already_in_use; took: 0:00:00.000230
DEBUG: Importing rule: prove_recursively; took: 0:00:00.000397
DEBUG: Importing rule: python_command; took: 0:00:00.000376
DEBUG: Importing rule: python_execute; took: 0:00:00.000345
DEBUG: Importing rule: quotation_marks; took: 0:00:00.000126
DEBUG: Importing rule: react_native_command_unrecognized; took: 0:00:00.000448
DEBUG: Importing rule: remove_trailing_cedilla; took: 0:00:00.000142
DEBUG: Importing rule: rm_dir; took: 0:00:00.000349
DEBUG: Importing rule: rm_root; took: 0:00:00.000325
DEBUG: Importing rule: scm_correction; took: 0:00:00.000376
DEBUG: Importing rule: sed_unterminated_s; took: 0:00:00.000348
DEBUG: Importing rule: sl_ls; took: 0:00:00.000125
DEBUG: Importing rule: ssh_known_hosts; took: 0:00:00.000362
DEBUG: Importing rule: sudo; took: 0:00:00.000134
DEBUG: Importing rule: sudo_command_from_user_path; took: 0:00:00.000349
DEBUG: Importing rule: switch_lang; took: 0:00:00.000155
DEBUG: Importing rule: systemctl; took: 0:00:00.000612
DEBUG: Importing rule: test.py; took: 0:00:00.000130
DEBUG: Importing rule: tmux; took: 0:00:00.000374
DEBUG: Importing rule: touch; took: 0:00:00.000349
DEBUG: Importing rule: tsuru_login; took: 0:00:00.000365
DEBUG: Importing rule: tsuru_not_command; took: 0:00:00.001121
DEBUG: Importing rule: unknown_command; took: 0:00:00.000371
DEBUG: Importing rule: unsudo; took: 0:00:00.000227
DEBUG: Importing rule: vagrant_up; took: 0:00:00.000603
DEBUG: Importing rule: whois; took: 0:00:00.002259
DEBUG: Importing rule: workon_doesnt_exists; took: 0:00:00.000879
DEBUG: Importing rule: yarn_alias; took: 0:00:00.000353
DEBUG: Importing rule: yarn_command_not_found; took: 0:00:00.000673
DEBUG: Importing rule: yarn_command_replaced; took: 0:00:00.000507
DEBUG: Importing rule: yarn_help; took: 0:00:00.000365
DEBUG: Trying rule: path_from_history; took: 0:00:00.000447
DEBUG: Trying rule: dry; took: 0:00:00.000101
DEBUG: Trying rule: git_stash_pop; took: 0:00:00.000053
DEBUG: Trying rule: test.py; took: 0:00:00.000003
DEBUG: Trying rule: adb_unknown_command; took: 0:00:00.000028
DEBUG: Trying rule: ag_literal; took: 0:00:00.000015
DEBUG: Trying rule: apt_get_search; took: 0:00:00.000029
DEBUG: Trying rule: apt_invalid_operation; took: 0:00:00.000019
DEBUG: Trying rule: apt_list_upgradable; took: 0:00:00.000019
DEBUG: Trying rule: apt_upgrade; took: 0:00:00.000016
DEBUG: Trying rule: aws_cli; took: 0:00:00.000016
DEBUG: Trying rule: az_cli; took: 0:00:00.000016
DEBUG: Trying rule: brew_link; took: 0:00:00.000017
DEBUG: Trying rule: brew_reinstall; took: 0:00:00.000014
DEBUG: Trying rule: brew_uninstall; took: 0:00:00.000013
DEBUG: Trying rule: brew_update_formula; took: 0:00:00.000014
DEBUG: Trying rule: cargo; took: 0:00:00.000003
DEBUG: Trying rule: cargo_no_command; took: 0:00:00.000016
DEBUG: Trying rule: cat_dir; took: 0:00:00.000016
DEBUG: Trying rule: cd_correction; took: 0:00:00.000017
DEBUG: Trying rule: cd_mkdir; took: 0:00:00.000016
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.000016
DEBUG: Trying rule: cp_omitting_directory; took: 0:00:00.000020
DEBUG: Trying rule: cpp11; took: 0:00:00.000015
DEBUG: Trying rule: dirty_untar; took: 0:00:00.000016
DEBUG: Trying rule: dirty_unzip; took: 0:00:00.000016
DEBUG: Trying rule: django_south_ghost; took: 0:00:00.000002
DEBUG: Trying rule: django_south_merge; took: 0:00:00.000004
DEBUG: Trying rule: docker_not_command; took: 0:00:00.000018
DEBUG: Trying rule: fab_command_not_found; took: 0:00:00.000016
DEBUG: Trying rule: fix_alt_space; took: 0:00:00.000006
DEBUG: Trying rule: fix_file; took: 0:00:00.000030
DEBUG: Trying rule: gem_unknown_command; took: 0:00:00.000017
DEBUG: Trying rule: git_add; took: 0:00:00.000014
DEBUG: Trying rule: git_add_force; took: 0:00:00.000014
DEBUG: Trying rule: git_bisect_usage; took: 0:00:00.000014
DEBUG: Trying rule: git_branch_delete; took: 0:00:00.000013
DEBUG: Trying rule: git_branch_exists; took: 0:00:00.000013
DEBUG: Trying rule: git_branch_list; took: 0:00:00.000013
DEBUG: Trying rule: git_checkout; took: 0:00:00.000013
DEBUG: Trying rule: git_commit_amend; took: 0:00:00.000013
DEBUG: Trying rule: git_diff_no_index; took: 0:00:00.000013
DEBUG: Trying rule: git_diff_staged; took: 0:00:00.000013
DEBUG: Trying rule: git_fix_stash; took: 0:00:00.000013
DEBUG: Trying rule: git_flag_after_filename; took: 0:00:00.000013
DEBUG: Trying rule: git_help_aliased; took: 0:00:00.000013
DEBUG: Trying rule: git_merge; took: 0:00:00.000012
DEBUG: Trying rule: git_merge_unrelated; took: 0:00:00.000013
DEBUG: Trying rule: git_not_command; took: 0:00:00.000013
DEBUG: Trying rule: git_pull; took: 0:00:00.000013
DEBUG: Trying rule: git_pull_clone; took: 0:00:00.000013
DEBUG: Trying rule: git_pull_uncommitted_changes; took: 0:00:00.000014
DEBUG: Trying rule: git_push; took: 0:00:00.000013
DEBUG: Trying rule: git_push_different_branch_names; took: 0:00:00.000012
DEBUG: Trying rule: git_push_pull; took: 0:00:00.000013
DEBUG: Trying rule: git_push_without_commits; took: 0:00:00.000013
DEBUG: Trying rule: git_rebase_merge_dir; took: 0:00:00.000013
DEBUG: Trying rule: git_rebase_no_changes; took: 0:00:00.000013
DEBUG: Trying rule: git_remote_delete; took: 0:00:00.000013
DEBUG: Trying rule: git_remote_seturl_add; took: 0:00:00.000013
DEBUG: Trying rule: git_rm_local_modifications; took: 0:00:00.000013
DEBUG: Trying rule: git_rm_recursive; took: 0:00:00.000012
DEBUG: Trying rule: git_rm_staged; took: 0:00:00.000013
DEBUG: Trying rule: git_stash; took: 0:00:00.000013
DEBUG: Trying rule: git_tag_force; took: 0:00:00.000013
DEBUG: Trying rule: git_two_dashes; took: 0:00:00.000013
DEBUG: Trying rule: go_run; took: 0:00:00.000019
DEBUG: Trying rule: gradle_no_task; took: 0:00:00.000017
DEBUG: Trying rule: gradle_wrapper; took: 0:00:00.000016
DEBUG: Trying rule: grep_arguments_order; took: 0:00:00.000018
DEBUG: Trying rule: grep_recursive; took: 0:00:00.000016
DEBUG: Trying rule: grunt_task_not_found; took: 0:00:00.000015
DEBUG: Trying rule: gulp_not_task; took: 0:00:00.000015
DEBUG: Trying rule: has_exists_script; took: 0:00:00.000025
DEBUG: Trying rule: heroku_multiple_apps; took: 0:00:00.000019
DEBUG: Trying rule: heroku_not_command; took: 0:00:00.000014
DEBUG: Trying rule: hostscli; took: 0:00:00.000017
DEBUG: Trying rule: ifconfig_device_not_found; took: 0:00:00.000016
DEBUG: Trying rule: java; took: 0:00:00.000015
DEBUG: Trying rule: javac; took: 0:00:00.000015
DEBUG: Trying rule: lein_not_task; took: 0:00:00.000016
DEBUG: Trying rule: ln_no_hard_link; took: 0:00:00.000007
DEBUG: Trying rule: ln_s_order; took: 0:00:00.000004
DEBUG: Trying rule: ls_all; took: 0:00:00.000018
DEBUG: Trying rule: ls_lah; took: 0:00:00.000015
DEBUG: Trying rule: man; took: 0:00:00.000016
DEBUG: Trying rule: mercurial; took: 0:00:00.000016
DEBUG: Trying rule: mkdir_p; took: 0:00:00.000004
DEBUG: Trying rule: mvn_no_command; took: 0:00:00.000016
DEBUG: Trying rule: mvn_unknown_lifecycle_phase; took: 0:00:00.000014
DEBUG: Trying rule: no_such_file; took: 0:00:00.000615
DEBUG: Trying rule: npm_missing_script; took: 0:00:00.000023
DEBUG: Trying rule: npm_run_script; took: 0:00:00.000015
DEBUG: Trying rule: npm_wrong_command; took: 0:00:00.000019
DEBUG: Trying rule: open; took: 0:00:00.000018
DEBUG: Trying rule: php_s; took: 0:00:00.000017
DEBUG: Trying rule: pip_unknown_command; took: 0:00:00.000018
DEBUG: Trying rule: port_already_in_use; took: 0:00:00.000512
DEBUG: Trying rule: prove_recursively; took: 0:00:00.000023
DEBUG: Trying rule: python_command; took: 0:00:00.000007
DEBUG: Trying rule: python_execute; took: 0:00:00.000019
DEBUG: Trying rule: quotation_marks; took: 0:00:00.000004
DEBUG: Trying rule: react_native_command_unrecognized; took: 0:00:00.000017
DEBUG: Trying rule: remove_trailing_cedilla; took: 0:00:00.000003
DEBUG: Trying rule: rm_dir; took: 0:00:00.000005
DEBUG: Trying rule: scm_correction; took: 0:00:00.000020
DEBUG: Trying rule: sed_unterminated_s; took: 0:00:00.000016
DEBUG: Trying rule: sl_ls; took: 0:00:00.000003
DEBUG: Trying rule: ssh_known_hosts; took: 0:00:00.000017
DEBUG: Trying rule: sudo; took: 0:00:00.000018
DEBUG: Trying rule: sudo_command_from_user_path; took: 0:00:00.000016
DEBUG: Trying rule: switch_lang; took: 0:00:00.000038
cin [enter/↑/↓/ctrl+c]DEBUG: Trying rule: systemctl; took: 0:00:00.000137
DEBUG: Trying rule: tmux; took: 0:00:00.000069
DEBUG: Trying rule: touch; took: 0:00:00.000070
DEBUG: Trying rule: tsuru_login; took: 0:00:00.000076
DEBUG: Trying rule: tsuru_not_command; took: 0:00:00.000037
DEBUG: Trying rule: unknown_command; took: 0:00:00.000557
DEBUG: Trying rule: unsudo; took: 0:00:00.000012
DEBUG: Trying rule: vagrant_up; took: 0:00:00.000079
DEBUG: Trying rule: whois; took: 0:00:00.000058
DEBUG: Trying rule: workon_doesnt_exists; took: 0:00:00.000075
DEBUG: Trying rule: yarn_alias; took: 0:00:00.000055
DEBUG: Trying rule: yarn_command_not_found; took: 0:00:00.000049
DEBUG: Trying rule: yarn_command_replaced; took: 0:00:00.000042
DEBUG: Trying rule: yarn_help; took: 0:00:00.000048
DEBUG: Trying rule: man_no_space; took: 0:00:00.000021
DEBUG: Trying rule: no_command; took: 0:00:00.005066
DEBUG: Trying rule: missing_space_before_subcommand; took: 0:00:00.000257
DEBUG: Trying rule: long_form_help; took: 0:00:00.000526
DEBUG: Trying rule: history; took: 0:00:00.004717
DEBUG: Corrected commands: 
cin [enter/↑/↓/ctrl+c]
Aborted
DEBUG: Total took: 0:00:10.158483

Anything else you think is relevant:

I wonder if hardcoding the layouts in switch_lang.py is a flawed approach? To configure this manually for every user, you could just ask each user to type out the English alphabet with their keyboard layout set to the relevant foreign script.

Or take the current contents of switch_lang.py as a default, but allow an override and clearly sign-post how to access the override when the user rejects the suggestions of switch_lang.

I'm using a laptop from the UK with a British laptop keyboard, which I switch to Greek for writing equations.

TopaGeor commented 5 years ago

I think that i can do that, i will try to upload something until Sunday

TopaGeor commented 5 years ago

I did upload a solution here and a few ago, is #864