emacs-devel
[Top][All Lists]
Advanced

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

Re: Question collaborative editing - Wikipedia reference


From: Joe Corneli
Subject: Re: Question collaborative editing - Wikipedia reference
Date: Sun, 11 Oct 2020 19:40:27 +0100

Qiantan Hong writes:

> I’m now experimenting those in my local copy.
> (2) I’m able to synchronize overlays between Emacsen now,
> and as a result, e.g. org-cycle now get synced between Emacsen.
> There’s a few choice to make though:
> - what’s a reasonable way to decide what overlays to sync?

I think it would be nice to always have the option, when using Org mode,
to have *different* folding properties on different clients.  E.g., if
my friend is editing inside of a node that I have folded, that’s no
problem.  To me that seems like a good fit for the multiple-cursor
editing paradigm.  But I can also see how syncing the folding could be
nice — probably along with a function to "summon" other cursors to where
I am, so that everyone can join up.  (This would also be nice in
connection with the other feature, in which people might be working
across multiple files.)

Maybe what could be introduced would be crdt-sync-overlays-mode, which
would be a minor mode that syncs all overlays when anyone turns it on?
Furthermore, whoever turns it on could propagate their overlays around?

(It would be interesting to look at use cases beyond Org mode: I have
one specific one one in mind... I’ll see if I can dust off the code, and
if it looks worth pursuing I’ll contact you about it off list!)

> b) share a “workspace” with flat namespace.

That seems like a good strategy: this would remove the direct dependency
on projectile, but there could be a simple compatibility package to
allow projectile to interact with the workspace.

> Another problem is how to allow clients creating new file (maybe
> don’t?)

This reminds me a little bit of org-roam-find-file.  In that case, files
are being synced to a local database, but in your case they’d be synced
around to a distributed database.  

>> (2) Would it make sense for a future version of crdt.el to sync not
>> just buffers... but also commands and windows (like lockstep?)

I was wondering, how much does it break things if you were to sync the
minibuffer?  Would that be a cheap way to sync commands, or a disaster
in the making...?

-- 
Dr Joseph A. Corneli (https://github.com/holtzermann17)

HYPERREAL ENTERPRISES LTD is a private company limited by shares, incorporated
25th, June 2019 as Company Number 634284 on the Register of Companies for
Scotland (https://beta.companieshouse.gov.uk/company/SC634284).



reply via email to

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