emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question collaborative editing.


From: Ergus
Subject: Re: Question collaborative editing.
Date: Tue, 29 Sep 2020 23:46:24 +0200

On Tue, Sep 29, 2020 at 04:01:56PM +0000, Qiantan Hong wrote:
I want to try Rudle first to see if it fit some minimal "needs". That
it:

1) Not require modem/routers special configurations to open ports or
have a static IP.

2) Use CRDT instead of OT

3) It could be integrated with other editors to create "mix" sessions. I
mean, it doesn't enforces some emacs specific features and plugins could
be created for other editors.
I took a glance at source of rudel, and I have to admit I didn’t
enjoy reading it — I have to track through several M-. just to
get to some factory method (srsly)? I wonder how much effort
it will take to make such big change in its infrasture.

On the other hand a separate CRDT library is a quite orthogonal
issue and might be potentially reused by other packages, or
even other use cases — like, making Emacs plugins asynchronous.

I’ll work on a separate CRDT library.

Actually this was my intention since the beginning. If you can start
with that is much much better (you can share the link to the repo if you
like and I will try to help).

The basic algorithms could easily be implemented in an editor agnostic C
library. It can receive a json string and return json as well (as we
already have a good and fast json parser in emacs).

Also the communication can he handled in that level. And at the end it
will be possible to implement plugins for almost any editor with json
support or using a json external library....

Did you checked Tandem? It has almost everything we need except because
it is Python+javascript, node.js... :(

You could check these 4 links:

https://github.com/typeintandem/tandem
https://github.com/typeintandem/tandem/issues/125
https://github.com/jscheid/tandem-emacs
https://github.com/typeintandem/tandem/wiki/Interacting-with-the-Tandem-Agent

My idea was more or less to reproduce the last one but without all the
agent, stdin, python and JS mess.

Best,
Ergus






reply via email to

[Prev in Thread] Current Thread [Next in Thread]