mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-18 12:06:04 +00:00
#N/A: Add cd_cs
rule (#1167)
* adding in files for the cd-cs feature * Updated thefuck/rules/cd_cs.py comments to be more verbose Thanks Scorphus! Co-authored-by: Pablo Aguiar <scorphus@gmail.com> * Updating the rules file to exclude the \xe2 character This character(–) has lead to the commit failing some of the tests. I am removing it from the code and we should see the tests pass now. * Setting the encoding in thefuck/rules/cd_cs.py Co-authored-by: Pablo Aguiar <scorphus@gmail.com> Co-authored-by: SID SHARDANAND <sshardan@deakin.edu.au> Co-authored-by: Pablo Aguiar <scorphus@gmail.com>
This commit is contained in:
parent
5b612add74
commit
4c7479b3ad
@ -196,6 +196,7 @@ following rules are enabled by default:
|
||||
* `cargo_no_command` – fixes wrongs commands like `cargo buid`;
|
||||
* `cat_dir` – replaces `cat` with `ls` when you try to `cat` a directory;
|
||||
* `cd_correction` – spellchecks and correct failed cd commands;
|
||||
* `cd_cs` – changes `cs` to `cd`;
|
||||
* `cd_mkdir` – creates directories before cd'ing into them;
|
||||
* `cd_parent` – changes `cd..` to `cd ..`;
|
||||
* `chmod_x` – add execution bit;
|
||||
|
11
tests/rules/test_cd_cs.py
Normal file
11
tests/rules/test_cd_cs.py
Normal file
@ -0,0 +1,11 @@
|
||||
from thefuck.rules.cd_cs import match, get_new_command
|
||||
from thefuck.types import Command
|
||||
|
||||
|
||||
def test_match():
|
||||
assert match(Command('cs', 'cs: command not found'))
|
||||
assert match(Command('cs /etc/', 'cs: command not found'))
|
||||
|
||||
|
||||
def test_get_new_command():
|
||||
assert get_new_command(Command('cs /etc/', 'cs: command not found')) == 'cd /etc/'
|
21
thefuck/rules/cd_cs.py
Normal file
21
thefuck/rules/cd_cs.py
Normal file
@ -0,0 +1,21 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
# Redirects cs to cd when there is a typo
|
||||
# Due to the proximity of the keys - d and s - this seems like a common typo
|
||||
# ~ > cs /etc/
|
||||
# cs: command not found
|
||||
# ~ > fuck
|
||||
# cd /etc/ [enter/↑/↓/ctrl+c]
|
||||
# /etc >
|
||||
|
||||
|
||||
def match(command):
|
||||
if command.script_parts[0] == 'cs':
|
||||
return True
|
||||
|
||||
|
||||
def get_new_command(command):
|
||||
return 'cd' + ''.join(command.script[2:])
|
||||
|
||||
|
||||
priority = 900
|
Loading…
x
Reference in New Issue
Block a user