Discussion
Loading...

Post

Log in
  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
Vladimir
Vladimir
@3timeslazy@techhub.social  ·  activity timestamp 3 months ago

I made a fun little thing over the weekend that had been on my mind since the local-first conf. I combined @ethersync and the Language Server Protocol to enable some kind of real-time collaboration in Helix.

I use the "textDocument/didChange" event to track editor's changes and convert them to an edit message in Ethersync.

When a peer makes changes, the other peer receives them from the Ethersync daemon and converts them into a "workspace/applyEdit" message.

Also thinking about using inlay hints for showing other peer's cursor

I'm not sure if that will even be able to work properly, but it's worth trying anyway

Ethersync: https://github.com/ethersync/ethersync

#localfirst #p2p #lsp

Your browser does not support the video tag.
This video cannot be previewed
Open original
A video of barely working real-time collaboration using LSP and Ethersync in Helix and Neovim
GitHub

GitHub - teamtype/teamtype: Peer-to-peer, editor-agnostic collaborative editing of local text files.

Peer-to-peer, editor-agnostic collaborative editing of local text files. - teamtype/teamtype
  • Copy link
  • Flag this post
  • Block

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.1-beta.35 no JS en
Automatic federation enabled
Log in
  • Explore
  • About
  • Members
  • Code of Conduct