mirror of
https://github.com/nvbn/thefuck.git
synced 2025-03-20 09:39:01 +00:00
Make git_not_command stderr detection backward-compatible
This commit is contained in:
parent
76600cf40a
commit
b6ed499103
@ -6,12 +6,13 @@ from thefuck.specific.git import git_support
|
|||||||
@git_support
|
@git_support
|
||||||
def match(command):
|
def match(command):
|
||||||
return (" is not a git command. See 'git --help'." in command.stderr
|
return (" is not a git command. See 'git --help'." in command.stderr
|
||||||
and 'The most similar command' in command.stderr)
|
and ('The most similar command' in command.stderr
|
||||||
|
or 'Did you mean' in command.stderr))
|
||||||
|
|
||||||
|
|
||||||
@git_support
|
@git_support
|
||||||
def get_new_command(command):
|
def get_new_command(command):
|
||||||
broken_cmd = re.findall(r"git: '([^']*)' is not a git command",
|
broken_cmd = re.findall(r"git: '([^']*)' is not a git command",
|
||||||
command.stderr)[0]
|
command.stderr)[0]
|
||||||
matched = get_all_matched_commands(command.stderr, 'The most similar command')
|
matched = get_all_matched_commands(command.stderr, ['The most similar command', 'Did you mean'])
|
||||||
return replace_command(command, broken_cmd, matched)
|
return replace_command(command, broken_cmd, matched)
|
||||||
|
@ -141,11 +141,16 @@ def eager(fn, *args, **kwargs):
|
|||||||
|
|
||||||
@eager
|
@eager
|
||||||
def get_all_matched_commands(stderr, separator='Did you mean'):
|
def get_all_matched_commands(stderr, separator='Did you mean'):
|
||||||
|
if not isinstance(separator, list):
|
||||||
|
separator = [separator]
|
||||||
should_yield = False
|
should_yield = False
|
||||||
for line in stderr.split('\n'):
|
for line in stderr.split('\n'):
|
||||||
if separator in line:
|
for sep in separator:
|
||||||
|
if sep in line:
|
||||||
should_yield = True
|
should_yield = True
|
||||||
elif should_yield and line:
|
break
|
||||||
|
else:
|
||||||
|
if should_yield and line:
|
||||||
yield line.strip()
|
yield line.strip()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user