def METHOD_NAME(value: str, length: int, process: Callable[[str], str] = lambda chunk: chunk) -> str:
    """
    Encourages soft breaking of text values above a maximum length by adding
    zero-width spaces after common delimiters, as well as soft-hyphenating long
    identifiers.
    """
    delimiters = re.compile(r"([{}]+)".format("".join(map(re.escape, ",.$:/+@!?()<>[]{}"))))
    def soft_break_delimiter(match: re.Match[str]) -> str:
        results = []
        value = match.group(0)
        chunks = delimiters.split(value)
        for i, chunk in enumerate(chunks):
            if i % 2 == 1:  # check if this is this a delimiter
                results.extend([chunk, "\u200b"])
            else:
                results.append(process(chunk))
        return "".join(results).rstrip("\u200b")
    return re.sub(rf"\S{{{length},}}", soft_break_delimiter, value)