+ Hello World!
+
+
+
+That's fine for styling a line of text at a time. For more finely grained styling, Rich renders a special markup which is similar in syntax to [bbcode](https://en.wikipedia.org/wiki/BBCode). Here's an example:
+
+```python
+console.print("Where there is a [b]Will[/b] there is a [i]way[/i].")
+```
+
+
+
+Where there is a Will there is a way.
+
+
+
+## Emoji
+
+Rich supports a simple way of inserting emoji in to terminal output, by using the name of the emoji between two colons. Here's an example:
+
+```python
+console.print(":smiley: :vampire: :pile_of_poo: :thumbs_up: :raccoon:")
+```
+
+
+ 😃 🧛 💩 👍 🦝
+
+
+
+Please use this feature wisely.
diff --git a/rich/color.py b/rich/color.py
index 6c12d72b..45143d6f 100644
--- a/rich/color.py
+++ b/rich/color.py
@@ -261,7 +261,7 @@ class Color(NamedTuple):
number: Optional[int] = None
triplet: Optional[ColorTriplet] = None
- def __str__(self):
+ def __str__(self) -> str:
"""Render the color to the terminal."""
attrs = self.get_ansi_codes(foreground=True)
return (
diff --git a/rich/console.py b/rich/console.py
index dd478875..f77a0994 100644
--- a/rich/console.py
+++ b/rich/console.py
@@ -578,8 +578,8 @@ class Console:
render_str = renderable
if emoji:
render_str = _emoji_replace(render_str)
- render_str = self.render_str(render_str)
- append_text(highlight(render_str) if highlight else render_str)
+ render_text = self.render_str(render_str)
+ append_text(highlight(render_text) if highlight else render_text)
elif isinstance(renderable, Text):
append_text(renderable)
elif isinstance(renderable, (int, float, bool, bytes, type(None))):
diff --git a/rich/emoji.py b/rich/emoji.py
index 4ad68857..c4134596 100644
--- a/rich/emoji.py
+++ b/rich/emoji.py
@@ -59,7 +59,7 @@ class Emoji:
if __name__ == "__main__": # pragma: no cover
from .console import Console
- c = Console(markup=None)
+ c = Console(markup=False)
e = Emoji("thumbs_up")
print(repr(e))
diff --git a/rich/style.py b/rich/style.py
index c487a3b6..40c48415 100644
--- a/rich/style.py
+++ b/rich/style.py
@@ -104,11 +104,11 @@ class Style:
append(self._bgcolor.name)
return " ".join(attributes) or "none"
- def __repr__(self):
+ def __repr__(self) -> str:
"""Render a named style differently from an anonymous style."""
return f'