Hi,

because I had immediate use for it, I implemented
a prototype of the much requested (IIRC) multi-user feature:
https://github.com/Drahflow/vim-multiuser/

To try:

Shell 1:
% vim --multiuser-server    # opens listening socket on port 9999

Shell 2 to N:
% vim
:set remote=127.0.0.1:9999


It essentially cuts into the ml_append / ml_delete interface
and forwards the changes to a central master document on a server,
keeping track of various versions of line-numbers in the process.

The remote option is buffer local and logically replaces the current
file contents with the server document contents (which are initially empty).


TODO
* Documentation
* Only os_unix, HAVE_SELECT correctly polls the network socket
* Error reporting and handling is very missing
* The code organization should be improved
* Marks, folds and cursors in other windows are not yet adjusted (but it's 
clear how this can be done)
* Adjust buffer change/needs-write/etc. logic at various places
* Enable initial upload (currently, please use :r to load a file into the 
server)
* Figure out various still unknown edge-cases

Is there a realistic chance to get it accepted upstream?
If so, what other things should I keep in mind before producing a patch?

Sincerely,
  Drahflow

Attachment: signature.asc
Description: Digital signature

Raspunde prin e-mail lui