The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

runme