NAME
Padre::Plugin::Swarm::Wx::Editor - Padre editor collaboration
DESCRIPTION
Hijack the padre editor for the purposes of collaboration.
TODO
Shared/Ghost cursors/document
Trap editor cursor movement for common documents and ghost the remote users' cursors in the local editor.
Operational transform - concurrent remote edits
Trap the editor CHANGE event and try to transmit quanta of operations against a document. Trap received quanta and apply to open documents, adjusting local quanta w/ OT if required.
Code/Commit Review Mode.
Find the current project, find it's VCS if possible and send the repo details and local diff to the swarm for somebody? to respond to.
MESSAGE HANDLERS
For a given message->type
openme
Accept an openme message and open a new editor window with the contents of message->body
gimme
Give the requested message->resource to the sender in an 'openme' if the resource matches one of our open documents.
disco
Respond to discovery messages by transmitting a promote for each known resource