facelessuser / ColorHelper

Sublime plugin that provides helpful color previews and tooltips
https://facelessuser.github.io/ColorHelper/
MIT License
254 stars 30 forks source link

Very dark colors exception on Sliders tool #260

Closed TechRoot closed 8 months ago

TechRoot commented 8 months ago

Description

Using too dark colors may lead to uncaught exceptions in SublimeText, tested under SRGB conditions.

To replicate:

Use any sRGB dark palete, it needs to be really dark, in example, use the following sRGB value: 0.0625 0.0625 0.0625

Click on the preview square, and click on SLIDERS.

Sliders button should fail to load, and console will warn you about something like the following:


  File "C:\Program Files\Sublime Text\Lib\python33\sublime_plugin.py", line 1493, in run_
    return self.run(edit, **args)
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\ch_picker.py", line 795, in run
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\ch_picker.py", line 553, in get_channel
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/color.py", line 651, in to_string
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/spaces/srgb/css.py", line 48, in to_string
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/css/serialize.py", line 199, in serialize_css
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/css/serialize.py", line 53, in named_color_function
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/css/serialize.py", line 109, in get_coords
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/color.py", line 897, in fit
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/gamut/fit_lch_chroma.py", line 53, in fit
AttributeError: 'module' object has no attribute 'isclose'
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text\Lib\python33\sublime_plugin.py", line 1493, in run_
    return self.run(edit, **args)
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\ch_picker.py", line 787, in run
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\ch_picker.py", line 553, in get_channel
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/color.py", line 651, in to_string
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/spaces/__init__.py", line 246, in to_string
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/css/serialize.py", line 185, in serialize_css
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/css/serialize.py", line 90, in color_function
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/css/serialize.py", line 109, in get_coords
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/color.py", line 897, in fit
  File "C:\Users\OFUSCATED\AppData\Roaming\Sublime Text\Installed Packages\ColorHelper.sublime-package\lib/coloraide/gamut/fit_lch_chroma.py", line 53, in fit
AttributeError: 'module' object has no attribute 'isclose'

Support info:

facelessuser commented 8 months ago

I think I know what the issue is. I have to backport new changes to coloraide back to Python 3.3 to work in Sublime. math.isclose is not available in Python 3.3. I'll have to provide a workaround.

TechRoot commented 8 months ago

Thank you so much for your patience, work and interest in this matter, i'll patiently wait until you can provide a workaround for this awesome plugin.

Thank you again.

facelessuser commented 8 months ago

I've linked a PR. I'll try and get it out soon

facelessuser commented 8 months ago

Release tagged. Should be available on package control in ~2hrs, whenever it refreshes packages.