Commit Graph

1199 Commits

Author SHA1 Message Date
Vladimir Iakovlev c7d7a6d1d7 #612: Little cleanup 2017-03-13 13:30:07 +01:00
Joseph Frazier 4b53b1d3e3 Support Linux/Windows in `yarn_help` rule
See https://www.dwheeler.com/essays/open-files-urls.html
and https://stackoverflow.com/questions/5226958/which-equivalent-function-in-python/15133367#15133367
2017-03-10 15:22:48 -05:00
Joseph Frazier 35ea4dce71 Add `yarn_help` rule
Yarn likes to keep its documentation online, rather than in `yarn help`
output. For example, `yarn help clean` doesn't tell you anything about
the `clean` subcommand. Instead, it points you towards
https://yarnpkg.com/en/docs/cli/clean

This rule detects when that happens, and suggests opening the URL. One
caveat is the currently only OSX is supported, as Linux uses `xdg-open`
instead of `open`.
2017-03-10 13:07:46 -05:00
Vladimir Iakovlev 7d3ddfc8d9 Merge branch 'josephfrazier-yarn-command-not-found' 2017-03-06 17:32:34 +01:00
Vladimir Iakovlev 02f3250d39 #609: Use `replace_command` in `yarn_command_not_found` 2017-03-06 17:31:57 +01:00
Joseph Frazier df5428c5e4 Add `yarn_command_not_found` rule
This addresses https://github.com/nvbn/thefuck/pull/607#issuecomment-283945505

The code was adapted from the `grunt_task_not_found` rule
2017-03-03 23:38:20 -05:00
Vladimir Iakovlev ef5ff6210a Merge pull request #606 from josephfrazier/git-rm-staged
Add git_rm_staged rule for removing locally staged changes
2017-03-03 13:52:43 +01:00
Vladimir Iakovlev fbb73f262b Merge pull request #607 from josephfrazier/yarn-alias
Fix aliased `yarn` commands like `yarn ls`
2017-03-03 13:50:58 +01:00
Vladimir Iakovlev 20246e5be6 Merge pull request #608 from MattKotsenas/bugfix/no-history
Update PowerShell alias to handle no history
2017-03-03 13:45:23 +01:00
Matt Kotsenas 4669a033ee Update PowerShell alias to handle no history
If history is cleared (or the shell is new and there is no history),
invoking thefuck results in an error because the alias attempts to execute
the usage string.

The fix is to check if Get-History returns anything before invoking
thefuck.
2017-03-01 09:36:30 -08:00
Joseph Frazier 7e16a2eb7c Fix aliased `yarn` commands like `yarn ls`
[Yarn] has a handful of subcommand [aliases], but does not automatically
[correct] them for the user. This makes it so that `fuck` will do the
trick. For example:

    $ yarn ls
    yarn ls v0.20.3
    error Did you mean `yarn list`?
    info Visit https://yarnpkg.com/en/docs/cli/list for documentation about this command.
    $ fuck
    yarn list [enter/?/?/ctrl+c]

[Yarn]: https://yarnpkg.com/en/
[aliases]: 0adbc59b18/src/cli/aliases.js
[correct]: https://github.com/yarnpkg/yarn/pull/1044#issuecomment-253763230
2017-02-26 20:50:41 -05:00
Joseph Frazier 42ec01dab1 Add git_rm_staged rule for removing locally staged changes
It would be nice if `thefuck` could help me `git rm` a file I had
already staged. This rule, adapted from `git_rm_local_modifications`,
does that.
2017-02-26 19:16:15 -05:00
Vladimir Iakovlev 91c27e1a62 Merge pull request #605 from andrew-epstein/master
Improve performance of history rule
2017-02-24 13:46:56 +01:00
Andrew Epstein 778f2bdf1a Improve performance of history rule 2017-02-22 07:56:40 -05:00
Vladimir Iakovlev e893521872 #N/A: Run coveralls only on full test run (python 3.6 with linux) 2017-02-09 16:13:09 +01:00
Vladimir Iakovlev bbed17fe07 #N/A: Add `sudo_command_from_user_path` rule 2017-02-09 16:09:37 +01:00
Vladimir Iakovlev 6f842ab747 Merge pull request #604 from wbolster/add-colemak-nav-bindings
add support for colemak style vi bindings
2017-02-08 13:01:28 +01:00
wouter bolsterlee ae68bcbac1 add support for colemak style vi bindings
this allows e/n in addition to j/k (same places on the keyboard on
colemak and qwerty) to be used as arrow keys when selecting a command
from the suggested fixups.

fixes #603
2017-02-08 12:06:11 +01:00
Vladimir Iakovlev 28a0150e45 Merge branch 'juzim-apt_get_not_installed' 2017-01-30 13:06:34 +01:00
Vladimir Iakovlev 430a7135af #599: Remove unused import 2017-01-30 13:06:19 +01:00
Vladimir Iakovlev ff2be6c9a3 Merge branch 'apt_get_not_installed' of git://github.com/juzim/thefuck into juzim-apt_get_not_installed 2017-01-30 13:03:28 +01:00
Vladimir Iakovlev 4748776296 Merge pull request #598 from josephfrazier/git_add_force
Add git_add_force rule
2017-01-30 13:02:20 +01:00
Vladimir Iakovlev 1885196a11 Merge pull request #597 from josephfrazier/readme-git_stash-typo
README.md: fix typo in git_stash description
2017-01-30 13:00:42 +01:00
Vladimir Iakovlev c127040a4c Merge pull request #596 from josephfrazier/git-tag-force
Add git_tag_force rule
2017-01-30 13:00:19 +01:00
Julian Zimmermann ac7b633e28 Added support for "not installed" message in apt_get 2017-01-29 00:15:55 +01:00
Joseph Frazier 4d0388b53c Add git_add_force rule
This adds `--force` to `git add` when needed. For example:

    $ git add dist/*.js
    The following paths are ignored by one of your .gitignore files:
    dist/app.js
    dist/background.js
    dist/options.js
    Use -f if you really want to add them.
    $ fuck
    git add --force dist/app.js dist/background.js dist/options.js [enter/↑/↓/ctrl+c]
    $
2017-01-28 13:26:40 -05:00
Joseph Frazier 8da4dce5f2 Add git_tag_force rule
This adds `--force` to `git tag` when needed. For example:

    $ git tag alert
    fatal: tag 'alert' already exists
    $ fuck
    git tag --force alert [enter/↑/↓/ctrl+c]
    Updated tag 'alert' (was dec6956)
    $
2017-01-28 13:26:14 -05:00
Joseph Frazier ace6e88269 README.md: fix typo in git_stash description
from "stashes you local modifications"
to   "stashes your local modifications"
2017-01-27 19:44:40 -05:00
Vladimir Iakovlev a015c0f5e2 #N/A: Add gem unknown command rule 2017-01-15 15:14:53 +01:00
Vladimir Iakovlev dbe324bcd8 #587: Add scm correction rule 2017-01-15 14:40:50 +01:00
Vladimir Iakovlev 8447b5caa2 #585: Add note about reloading changes in how to configure message 2017-01-15 14:03:09 +01:00
Vladimir Iakovlev 3a9942061d Bump to 3.14 2017-01-11 15:05:29 +01:00
Vladimir Iakovlev a65f90813b Bump to 3.13 2017-01-11 14:59:18 +01:00
Vladimir Iakovlev a778ea6203 #588: Stop using bashlex 2017-01-11 14:58:50 +01:00
Vladimir Iakovlev 03a828d586 Bump to 3.12 2017-01-09 18:17:50 +01:00
Vladimir Iakovlev 4a0d71c1c4 #N/A: Add ifconfig_device_not_found rule 2017-01-09 18:13:37 +01:00
Vladimir Iakovlev a6f63c0568 #580: Use bashlex in generic shell 2017-01-09 17:50:23 +01:00
Vladimir Iakovlev d1b9492085 Merge pull request #586 from duboviy/master
Add Python 3.6 support
2017-01-09 17:38:37 +01:00
Eugene Duboviy 993a661c60 Update .travis.yml 2017-01-08 17:13:22 +02:00
Eugene Duboviy bc9121cb13 Update appveyor.yml 2017-01-08 17:08:38 +02:00
Eugene Duboviy 7db140c456 Update tox.ini 2017-01-08 17:06:45 +02:00
Vladimir Iakovlev e313ff73a9 Merge pull request #582 from josephfrazier/git_stash_pop
Fix `git stash pop` with local changes
2016-12-22 14:02:05 +01:00
Joseph Frazier 8c62706db4 Fix `git stash pop` with local changes
When there are local changes to a file, and a git stash is popped that
contains other changes to that same file, git fails as follows:

    $ git stash pop
    error: Your local changes to the following files would be overwritten by merge:
            src/index.js
    Please commit your changes or stash them before you merge.
    Aborting
    $

This change adds a rule that corrects this problem as suggested [here]:

    $ git stash pop
    error: Your local changes to the following files would be overwritten by merge:
            src/index.js
    Please commit your changes or stash them before you merge.
    Aborting
    $ fuck
    git add . && git stash pop && git reset . [enter/↑/↓/ctrl+c]
    Auto-merging src/index.js
    On branch flow
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)

            modified:   src/index.js

    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)

            modified:   src/index.js

    Dropped refs/stash@{0} (f94776d484c4278997ac6837a7b138b9b9cdead1)
    Unstaged changes after reset:
    M        src/index.js
    $

[here]: https://stackoverflow.com/questions/15126463/how-do-i-merge-local-modifications-with-a-git-stash-without-an-extra-commit/15126489#15126489
2016-12-11 12:44:04 -05:00
Vladimir Iakovlev 6baa7f650e Merge pull request #580 from josephfrazier/bash-command-substitution
bash: fix parsing of command substitution
2016-11-30 15:49:47 +01:00
Joseph Frazier 4ae32cf4ee bash: use generic shell's UTF-8 methods 2016-11-23 22:42:16 -05:00
Joseph Frazier 385746850e generic shell: extract UTF-8 encoding/decoding into methods 2016-11-23 07:53:22 -05:00
Joseph Frazier 4f87141f0c bash: fallback to generic parser if bashlex fails 2016-11-23 07:43:25 -05:00
Joseph Frazier dbedcc7aa6 Test parsing bash arithmetic expressions 2016-11-23 07:36:58 -05:00
Vladimir Iakovlev e0b5d47fa5 Merge pull request #578 from scorphus/fish-builtin-history
#577: Use builtin `history` in Fish function
2016-11-22 12:03:06 +01:00
Joseph Frazier ca44ee0640 bash: use bashlex for split_command, not shlex 2016-11-18 14:43:07 -05:00