Coding style
- Avoid allocating list. - No change to speed.
This commit is contained in:
parent
1ac742c0bc
commit
723b4c4786
1 changed files with 7 additions and 7 deletions
|
|
@ -173,13 +173,13 @@ _ZERO_WIDTH_SPACE = "\u200b"
|
||||||
|
|
||||||
|
|
||||||
def _pad_wide_chars(str_):
|
def _pad_wide_chars(str_):
|
||||||
parts = []
|
def parts():
|
||||||
last_width = None
|
last_width = None
|
||||||
for char in str_:
|
for char in str_:
|
||||||
width = cwcwidth.wcwidth(char)
|
width = cwcwidth.wcwidth(char)
|
||||||
parts.append(f"{_ZERO_WIDTH_SPACE}{char}" if width != 0 and last_width == 2 else char)
|
yield f"{_ZERO_WIDTH_SPACE}{char}" if width != 0 and last_width == 2 else char
|
||||||
last_width = width
|
last_width = width
|
||||||
padded_str = "".join(parts)
|
padded_str = "".join(parts())
|
||||||
if len(padded_str) > 0 and cwcwidth.wcwidth(padded_str[-1]) == 2:
|
if len(padded_str) > 0 and cwcwidth.wcwidth(padded_str[-1]) == 2:
|
||||||
padded_str += _ZERO_WIDTH_SPACE
|
padded_str += _ZERO_WIDTH_SPACE
|
||||||
return str_ if len(padded_str) == len(str_) else padded_str
|
return str_ if len(padded_str) == len(str_) else padded_str
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue