def __or__(self, other: str) -> 'ColorString':
        """Combine a style with a property.

        E.g: PieColor.BLUE | BOLD | ITALIC
        """
        if isinstance(other, str):
            # In case of PieColor.BLUE | SOMETHING
            # we just create a new string.
            return ColorString(self + ' ' + other)
        elif isinstance(other, GenericColor):
            # If we see a GenericColor, then we'll wrap it
            # in with the desired property in a different class.
            return _StyledGenericColor(other, styles=self.split())
        elif isinstance(other, _StyledGenericColor):
            # And if it is already wrapped, we'll just extend the
            # list of properties.
            other.styles.extend(self.split())
            return other
        else:
            return NotImplemented
Combine a style with a property.

        E.g: PieColor.BLUE | BOLD | ITALIC
        
httpie/output/ui/palette.py