Context manager to wrap actions in proper user-action signals
This class used for the TextBuffer.user_action
attribute
This allows syntax like:
with buffer.user_action: buffer.insert(...)
instead off:
buffer.begin_user_action() buffer.insert(...) buffer.end_user_action()
By wrapping actions in this "user-action" block the UndoStackManager
will see it as a single action and make it undo-able in a single step.