Skip to content

abbreviate() drops uppercase accented Latin letters (\xC1-\xDE) from generated aliases #12587

Description

@JSap0914

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().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions