diff --git a/pipenv/patched/crayons.py b/pipenv/patched/crayons.py index a77886c5..bb4b3d97 100644 --- a/pipenv/patched/crayons.py +++ b/pipenv/patched/crayons.py @@ -34,12 +34,22 @@ __all__ = ( COLORS = __all__[:-2] is_ipython = "get_ipython" in dir() + +if ( + os.environ.get("CMDER_ROOT") + or os.environ.get("VSCODE_PID") + or os.environ.get("TERM_PROGRAM") == "Hyper" +): + is_native_powershell = False +else: + is_native_powershell = True + try: is_powershell = "powershell" in shellingham.detect_shell()[0] except shellingham.ShellDetectionFailure: is_powershell = False -if is_ipython or is_powershell: +if is_ipython or (is_powershell and is_native_powershell): """when ipython is fired lot of variables like _oh, etc are used. There are so many ways to find current python interpreter is ipython. get_ipython is easiest is most appealing for readers to understand.