| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| for i in range(start, len(line)): | ||
| if width <= 0: | ||
| return i, line[start:i] | ||
| width -= 2 if east_asian_width(line[i]) in _WIDE_CHAR_SPECIFIERS else 1 |
There was a problem hiding this comment.
does this correctly handle zero-width characters? e.g. the '\u0301' from 'cafe\u0301'
Sorry, something went wrong.
There was a problem hiding this comment.
No.
However, _display_width() does not correctly handle zero-width characters for carets positions either.
>>> café = 1/0
Traceback (most recent call last):
File "<python-input-0>", line 1, in <module>
café = 1/0
~^~
ZeroDivisionError: division by zero
>>> They can be fixed in the same way. I wonder how I can find all the zero-width characters.
Sorry, something went wrong.
There was a problem hiding this comment.
It looks like there are many zero-width characters: https://wcwidth.readthedocs.io/en/latest/specs.html#width-of-0
Sorry, something went wrong.
There was a problem hiding this comment.
This is how wcwidth implements wcswidth() and wcwidth(): https://wcwidth.readthedocs.io/en/latest/_modules/wcwidth/wcwidth.html#wcswidth
Maybe it is too complicated for our traceback? Could we have a simple way that can handle most of the cases?
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.