spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.3k stars 1.61k forks source link

Some standard color escape codes don't work in Spyder console #21225

Open kevin-guimard-ext opened 1 year ago

kevin-guimard-ext commented 1 year ago

Issue Report Checklist

Problem Description

Do you know why some standard color escape codes don't work in Spyder?

For instance, using the yellow color code produces a red output: spyder

What steps reproduce the problem?

  1. Execute the following command: print("\033[0;33m" + "test")

What is the expected output? What do you see instead?

I expect to see the word "test" written in yellow.

Versions

Dependencies

# Mandatory:
atomicwrites >=1.2.0                             :  1.4.0 (OK)
chardet >=2.0.0                                  :  4.0.0 (OK)
cloudpickle >=0.5.0                              :  2.2.1 (OK)
cookiecutter >=1.6.0                             :  1.7.3 (OK)
diff_match_patch >=20181111                      :  20200713 (OK)
intervaltree >=3.0.2                             :  3.1.0 (OK)
IPython >=7.31.1,<9.0.0,!=8.8.0,!=8.9.0,!=8.10.0 :  8.12.0 (OK)
jedi >=0.17.2,<0.19.0                            :  0.18.1 (OK)
jellyfish >=0.7                                  :  0.9.0 (OK)
jsonschema >=3.2.0                               :  4.17.3 (OK)
keyring >=17.0.0                                 :  23.13.1 (OK)
nbconvert >=4.0                                  :  6.4.4 (OK)
numpydoc >=0.6.0                                 :  1.5.0 (OK)
paramiko >=2.4.0                                 :  2.8.1 (OK)
parso >=0.7.0,<0.9.0                             :  0.8.3 (OK)
pexpect >=4.4.0                                  :  4.8.0 (OK)
pickleshare >=0.4                                :  0.7.5 (OK)
psutil >=5.3                                     :  5.9.0 (OK)
pygments >=2.0                                   :  2.15.1 (OK)
pylint >=2.5.0,<3.0                              :  2.16.2 (OK)
pylint_venv >=2.1.1                              :  2.3.0 (OK)
pyls_spyder >=0.4.0                              :  0.4.0 (OK)
pylsp >=1.7.2,<1.8.0                             :  1.7.2 (OK)
pylsp_black >=1.2.0                              :  1.2.1 (OK)
qdarkstyle >=3.0.2,<3.2.0                        :  3.0.2 (OK)
qstylizer >=0.2.2                                :  0.2.2 (OK)
qtawesome >=1.2.1                                :  1.2.2 (OK)
qtconsole >=5.4.2,<5.5.0                         :  5.4.2 (OK)
qtpy >=2.1.0                                     :  2.2.0 (OK)
rtree >=0.9.7                                    :  1.0.1 (OK)
setuptools >=49.6.0                              :  67.8.0 (OK)
sphinx >=0.6.6                                   :  5.0.2 (OK)
spyder_kernels >=2.4.3,<2.5.0                    :  2.4.3 (OK)
textdistance >=4.2.0                             :  4.2.1 (OK)
three_merge >=0.1.1                              :  0.1.1 (OK)
watchdog >=0.10.3                                :  2.1.6 (OK)
zmq >=22.1.0                                     :  25.0.2 (OK)

# Optional:
cython >=0.21                                    :  0.29.28 (OK)
matplotlib >=3.0.0                               :  3.7.1 (OK)
numpy >=1.7                                      :  1.24.3 (OK)
pandas >=1.1.1                                   :  1.4.2 (OK)
scipy >=0.17.0                                   :  1.10.1 (OK)
sympy >=0.7.3                                    :  1.11.1 (OK)
ccordoba12 commented 1 year ago

Hey @kevin-guimard-ext, thanks for reporting. You said:

Do you know why some standard color escape codes don't work in Spyder?

Our support for ANSI codes is quite limited. It'd be great if you could help us to improve it, if you have time. It's implemented here:

https://github.com/jupyter/qtconsole/blob/master/qtconsole/ansi_code_processor.py

kevin-guimard-ext commented 1 year ago

I'd be pretty unable to... So, it's a problem linked with QT, not with Spyder?

ccordoba12 commented 1 year ago

I'd be pretty unable to...

Sorry to hear that.

So, it's a problem linked with QT, not with Spyder?

We use the Qtconsole project to power our IPython console in Spyder. But we also maintain that project, so we could make the necessary changes to it to expand its ANSI codes support. The problem is we're understaffed, so we don't have time for it.

kevin-guimard-ext commented 1 year ago

Ok I see. Let's put the issue in the backlog then.

dalthviz commented 4 months ago

Note: Related with https://github.com/jupyter/qtconsole/issues/273