Skip to content

Commit

Permalink
#1329: Add support for Windows CMD and easier setup for Powershell
Browse files Browse the repository at this point in the history
* feat: Added nicer support for Windows CMD & Powershell

* Fix  typo

* Fix CMD console color after thefuck Ctrl-C

* Update setup.py

Co-authored-by: Pablo Aguiar <[email protected]>

* Update setup.py

Co-authored-by: Pablo Aguiar <[email protected]>

* Addressed PR comments

* fix spacing and newline issues

---------

Co-authored-by: Pablo Aguiar <[email protected]>
  • Loading branch information
gerardog and scorphus committed Jul 10, 2023
1 parent 0420442 commit 3cd187a
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 3 deletions.
2 changes: 2 additions & 0 deletions scripts/fuck.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@set PYTHONIOENCODING=utf-8
@powershell -noprofile -c "cmd /c \"$(thefuck %* $(doskey /history)[-2])\"; [Console]::ResetColor();"
22 changes: 22 additions & 0 deletions scripts/fuck.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
if ((Get-Command "fuck").CommandType -eq "Function") {
fuck @args;
[Console]::ResetColor()
exit
}

"First time use of thefuck detected. "

if ((Get-Content $PROFILE -Raw -ErrorAction Ignore) -like "*thefuck*") {
} else {
" - Adding thefuck intialization to user `$PROFILE"
$script = "`n`$env:PYTHONIOENCODING='utf-8' `niex `"`$(thefuck --alias)`"";
Write-Output $script | Add-Content $PROFILE
}

" - Adding fuck() function to current session..."
$env:PYTHONIOENCODING='utf-8'
iex "$($(thefuck --alias).Replace("function fuck", "function global:fuck"))"

" - Invoking fuck()`n"
fuck @args;
[Console]::ResetColor()
16 changes: 13 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,17 @@
':python_version>"2.7"': ['decorator', 'pyte'],
":sys_platform=='win32'": ['win_unicode_console']}

if sys.platform == "win32":
scripts = ['scripts\\fuck.bat', 'scripts\\fuck.ps1']
entry_points = {'console_scripts': [
'thefuck = thefuck.entrypoints.main:main',
'thefuck_firstuse = thefuck.entrypoints.not_configured:main']}
else:
scripts = []
entry_points = {'console_scripts': [
'thefuck = thefuck.entrypoints.main:main',
'fuck = thefuck.entrypoints.not_configured:main']}

setup(name='thefuck',
version=VERSION,
description="Magnificent app which corrects your previous console command",
Expand All @@ -55,6 +66,5 @@
python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*',
install_requires=install_requires,
extras_require=extras_require,
entry_points={'console_scripts': [
'thefuck = thefuck.entrypoints.main:main',
'fuck = thefuck.entrypoints.not_configured:main']})
scripts=scripts,
entry_points=entry_points)

0 comments on commit 3cd187a

Please sign in to comment.