tldr-python-client icon indicating copy to clipboard operation
tldr-python-client copied to clipboard

Display formatting not correct when used on PowerShell

Open Liampor opened this issue 4 years ago • 5 comments

Hello,

Problem

When I use TLDR on PowerShell, the output formatting is not correct, it looks like image

Environment

PowerShell version 7.2.0 TLDR is installed via conda install tldr

$ tldr -v
>>> tldr 2.0.0 (Client Specification 1.4)

$ pip install tldr
>>> Requirement already satisfied: tldr in d:\tsusersoftware\miniconda3\lib\site-packages (2.0.0)
>>> Requirement already satisfied: argcomplete in d:\tsusersoftware\miniconda3\lib\site-packages (from tldr) (1.12.3)
>>> Requirement already satisfied: termcolor in d:\tsusersoftware\miniconda3\lib\site-packages (from tldr) (1.1.0)
>>> Requirement already satisfied: colorama in d:\tsusersoftware\miniconda3\lib\site-packages (from tldr) (0.4.4)

Others

TLDR works well on git-bash with the same installation and system

image

How could I fix it? Thank you all

Liampor avatar Nov 23 '21 02:11 Liampor

Are you able to change the following line:

https://github.com/tldr-pages/tldr-python-client/blob/d8722698284e5adde7fc561ea1c0b6ab114df528/tldr.py#L490

to be:

    colorama.init(strip=options.color, convert=True)

and see if that fixes the problem?

MasterOdin avatar Nov 23 '21 02:11 MasterOdin

Alternatively, we may need to adjust it so that we do a from sys import stdout after calling colorama.init() to get it to work on Windows. I'm not totally sure, hopefully the convert thing above works as that's easier to manage.

MasterOdin avatar Nov 23 '21 02:11 MasterOdin

Thanks, but I tried to modify the init-function and delete the local cache, but same issue again. 😂

Are you able to change the following line:

https://github.com/tldr-pages/tldr-python-client/blob/d8722698284e5adde7fc561ea1c0b6ab114df528/tldr.py#L490

to be:

    colorama.init(strip=options.color, convert=True)

and see if that fixes the problem?

Liampor avatar Nov 23 '21 05:11 Liampor

Update: I have installed Fluent Terminal now and still use PowerShell 7.0 as Shell, then the tldr could work as expected.

image

Liampor avatar Nov 24 '21 03:11 Liampor

Until this is fixed, I came up with a little workaround that'll work on all consoles.

filter tldr {[String]::Join([Environment]::NewLine,( python -m tldr $Args ))}

You can also pipe to Write-Output for the same effect, but I felt it best to not involve a pipeline.

Question though, does tldr --help print out formatted text on Linux, like the npm version does? Or is this just something that was done for the Python client in general?

God-damnit-all avatar Dec 18 '21 10:12 God-damnit-all