MCPcopy
hub / github.com/Textualize/rich / _emoji_replace

Function _emoji_replace

rich/_emoji_replace.py:9–31  ·  view source on GitHub ↗

Replace emoji code in text.

(
    text: str,
    default_variant: Optional[str] = None,
    _emoji_sub: _EmojiSubMethod = re.compile(r"(:(\S*?)(?:(?:\-)(emoji|text))?:)").sub,
)

Source from the content-addressed store, hash-verified

7
8
9def _emoji_replace(
10 text: str,
11 default_variant: Optional[str] = None,
12 _emoji_sub: _EmojiSubMethod = re.compile(r"(:(\S*?)(?:(?:\-)(emoji|text))?:)").sub,
13) -> str:
14 """Replace emoji code in text."""
15 from ._emoji_codes import EMOJI
16
17 get_emoji = EMOJI.__getitem__
18 variants = {"text": "\ufe0e", "emoji": "\ufe0f"}
19 get_variant = variants.get
20 default_variant_code = variants.get(default_variant, "") if default_variant else ""
21
22 def do_replace(match: Match[str]) -> str:
23 emoji_code, emoji_name, variant = match.groups()
24 try:
25 return get_emoji(emoji_name.lower()) + get_variant(
26 variant, default_variant_code
27 )
28 except KeyError:
29 return emoji_code
30
31 return _emoji_sub(do_replace, text)

Callers 2

replaceMethod · 0.90
render_strMethod · 0.90

Calls 1

getMethod · 0.45

Tested by

no test coverage detected