Issue
abbreviate() in src/util/StringUtils.ts uses the character class [A-Z\xC0\xDF] to detect uppercase word-boundary characters. This only lists À (\xC0) and ß (\xDF) individually, missing the rest of the uppercase accented Latin range \xC1-\xDE (Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ).
The adjacent shorten() helper correctly uses the full range [A-Z\xC0-\xDF] (see #11283).
Effect
camelCase identifiers containing accented uppercase letters produce shorter, potentially non-unique aliases. E.g. abbreviate('myÁbcDef') returns 'mD' instead of 'mÁD'.
Expected
abbreviate() should treat the whole \xC0-\xDF uppercase range as word boundaries, consistent with shorten().
Issue
abbreviate()insrc/util/StringUtils.tsuses the character class[A-Z\xC0\xDF]to detect uppercase word-boundary characters. This only lists À (\xC0) and ß (\xDF) individually, missing the rest of the uppercase accented Latin range\xC1-\xDE(Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ).The adjacent
shorten()helper correctly uses the full range[A-Z\xC0-\xDF](see #11283).Effect
camelCase identifiers containing accented uppercase letters produce shorter, potentially non-unique aliases. E.g.
abbreviate('myÁbcDef')returns'mD'instead of'mÁD'.Expected
abbreviate()should treat the whole\xC0-\xDFuppercase range as word boundaries, consistent withshorten().