mirror of
https://github.com/nvbn/thefuck.git
synced 2025-02-20 20:09:07 +00:00
commit
0a53966f9b
@ -166,6 +166,7 @@ using the matched rule and runs it. Rules enabled by default are as follows:
|
||||
* `git_pull` – sets upstream before executing previous `git pull`;
|
||||
* `git_push` – adds `--set-upstream origin $branch` to previous failed `git push`;
|
||||
* `git_stash` – stashes you local modifications before rebasing or switching branch;
|
||||
* `go_run` – appends `.go` extension when compiling/running Go programs
|
||||
* `grep_recursive` – adds `-r` when you trying to grep directory;
|
||||
* `has_exists_script` – prepends `./` when script/binary exists;
|
||||
* `lein_not_task` – fixes wrong `lein` tasks like `lein rpl`;
|
||||
|
17
tests/rules/test_go_run.py
Normal file
17
tests/rules/test_go_run.py
Normal file
@ -0,0 +1,17 @@
|
||||
import pytest
|
||||
from thefuck.rules.go_run import match, get_new_command
|
||||
from tests.utils import Command
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command', [
|
||||
Command(script='go run foo'),
|
||||
Command(script='go run bar')])
|
||||
def test_match(command):
|
||||
assert match(command, None)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command, new_command', [
|
||||
(Command('go run foo'), 'go run foo.go'),
|
||||
(Command('go run bar'), 'go run bar.go')])
|
||||
def test_get_new_command(command, new_command):
|
||||
assert get_new_command(command, None) == new_command
|
14
thefuck/rules/go_run.py
Normal file
14
thefuck/rules/go_run.py
Normal file
@ -0,0 +1,14 @@
|
||||
# Appends .go when compiling go files
|
||||
#
|
||||
# Example:
|
||||
# > go run foo
|
||||
# error: go run: no go files listed
|
||||
#
|
||||
#
|
||||
|
||||
def match(command, settings):
|
||||
return (command.script.startswith ('go run ')
|
||||
and not command.script.endswith('.go'))
|
||||
|
||||
def get_new_command(command, settings):
|
||||
return command.script + '.go'
|
Loading…
x
Reference in New Issue
Block a user