mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-19 04:21:14 +00:00
Improve the Fish Shell function making it faster
It works now with no temp file involved, which makes it a lot faster. Also, `history --merge`, although only supported on Fish Shell 2.2+, merges the corrected entry back into history. Neat! Ref #89
This commit is contained in:
parent
3da26192cb
commit
f5e8fe954e
@ -126,19 +126,20 @@ class Fish(Generic):
|
||||
return ['cd', 'grep', 'ls', 'man', 'open']
|
||||
|
||||
def app_alias(self, fuck):
|
||||
return ("set TF_ALIAS {0}\n"
|
||||
"function {0} -d 'Correct your previous console command'\n"
|
||||
" set -l exit_code $status\n"
|
||||
" set -l eval_script"
|
||||
" (mktemp 2>/dev/null ; or mktemp -t 'thefuck')\n"
|
||||
" set -l fucked_up_command $history[1]\n"
|
||||
" thefuck $fucked_up_command > $eval_script\n"
|
||||
" . $eval_script\n"
|
||||
" /bin/rm $eval_script\n"
|
||||
" if test $exit_code -ne 0\n"
|
||||
" history --delete $fucked_up_command\n"
|
||||
" end\n"
|
||||
"end").format(fuck)
|
||||
return ('function {0} -d "Correct your previous console command"\n'
|
||||
' set -l exit_code $status\n'
|
||||
' set -x TF_ALIAS {0}\n'
|
||||
' set -l fucked_up_command $history[1]\n'
|
||||
' thefuck $fucked_up_command | read -l unfucked_command\n'
|
||||
' if [ "$unfucked_command" != "" ]\n'
|
||||
' eval $unfucked_command\n'
|
||||
' if test $exit_code -ne 0\n'
|
||||
' history --delete $fucked_up_command\n'
|
||||
' history --merge ^ /dev/null\n'
|
||||
' return 0\n'
|
||||
' end\n'
|
||||
' end\n'
|
||||
'end').format(fuck)
|
||||
|
||||
@memoize
|
||||
def get_aliases(self):
|
||||
|
Loading…
x
Reference in New Issue
Block a user