class _FormattingParser(_CommandDispatcherMixin): (source)
A finite-state machine that parses formatted IRC text.
Currently handled formatting includes: bold, reverse, underline, mIRC color codes and the ability to remove all current formatting.
See Also | |
http://www.mirc.co.uk/help/color.txt |
Method | __init__ |
Undocumented |
Method | complete |
Flush the current buffer and return the final parsed result. |
Method | emit |
Add the currently parsed input to the result. |
Method | process |
Handle input. |
Method | state_ |
Handle the background color state. |
Method | state_ |
Handle the foreground color state. |
Method | state_ |
Handle the "text" state. |
Instance Variable | background |
Current background color attribute, or None . |
Instance Variable | foreground |
Current foreground color attribute, or None . |
Instance Variable | prefix |
Undocumented |
Instance Variable | state |
Current state of the finite-state machine. |
Class Variable | _format |
Mapping of format code values to names. |
Instance Variable | _attrs |
Set of the applicable formatting states (bold, underline, etc.) for the current _buffer , these are applied to _buffer when calling emit . |
Instance Variable | _buffer |
Buffer, containing the text content, of the formatting sequence currently being parsed, the buffer is used as the content for _attrs before being added to _result and emptied upon calling emit . |
Instance Variable | _result |
Current parse result. |
Inherited from _CommandDispatcherMixin
:
Method | dispatch |
Perform actual command dispatch. |
Handle the background color state.
Background colors can consist of up to two digits and must occur after a foreground color and must be preceded by a ,. Any non-digit character is treated as invalid input and results in the state being set to "text".
Parameters | |
ch | The character being processed. |
Handle the foreground color state.
Foreground colors can consist of up to two digits and may optionally end in a ,. Any non-digit or non-comma characters are treated as invalid input and result in the state being reset to "text".
Parameters | |
ch | The character being processed. |
Handle the "text" state.
Along with regular text, single token formatting codes are handled in this state too.
Parameters | |
ch | The character being processed. |