From d1920cdf518f48093ce42f39f25f12639ba5be7e Mon Sep 17 00:00:00 2001 From: Chris Antos Date: Fri, 1 Nov 2024 19:37:25 -0700 Subject: [PATCH] Update CHANGES. --- CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES b/CHANGES index 43caf3a62..258a73c23 100644 --- a/CHANGES +++ b/CHANGES @@ -12,6 +12,7 @@ - The zero width joiner is recognized when it joins two emoji characters, or an emoji and a male or female symbol. - **NOTE:** A given OS version and terminal program version will only recognize certain combinations of joined emojis as valid sequences. And Windows Terminal is one of the only terminal programs on Windows that can draw color emoji characters. Clink has no way to know how a given terminal will actually render sequences of Unicode emoji characters. If a terminal program renders a particular emoji sequence differently than Clink predicts, then the display may become garbled. If that happens, don't use that emoji sequence. But if a terminal program renders an emoji sequence as a single glyph and Clink predicts the width incorrectly, then please open an issue with details about the emoji. - The pure.clinkprompt now also supports virtualenv's `VIRTUAL_ENV_DISABLE_PROMPT` and `VIRTUAL_ENV_PROMPT` environment variables. +- Added [console.cellcountiter()](#console.cellcountiter) so scripts can iterate over Unicode character sequences in a string. Using `unicode.iter()` returns one codepoint at a time, but emojis can have multiple codepoints and `console.cellcountiter()` groups them together for easy processing and accurate overall width measures (measuring the width of each codepoint in an emoji sequence is not the same as measuring the width of the emoji sequence as a whole). - Fixed the right side transient prompt so it shows up even when identical to the right side normal prompt. - Fixed the `demo` callback in .clinkprompt files. - Fixed potential for incomplete input of Unicode surrogate pairs. An easy way to encounter the problem was using the Windows emoji picker to input an emoji that's a sequence of other emojis joined together -- for example, the pride flag emoji is a flag emoji joined with a rainbow emoji, and the rainbow emoji uses a surrogate pair.