This LT plugin allows two or more LightTable users to share the same CodeMirror editor. Each user can their own keybindings - yes emacs users can pair with vim users (cats and dogs living together!). LightTable users can also pair with users using a browser-based CodeMirror editor. Shared connections are pesisted through a public firebase connection. If you're concerned about privacy, consider getting a free private ccount.
Install this plugin with LT's plugin manager or clone this project to your LT plugins directory.
- First user shares their current tab with command
Share: Share current tab
. ID of created session is copied to clipboard. - Second user opens a new tab with command
File: New file
, executes commandShare: Attach current tab
and inputs first user's ID.
Two LT editors are in sync!
- First user shares their current tab with command
Share: Share current tab
. ID of created session is copied to clipboard. - Second user, goes to
http://demo.firepad.io/#ID
where ID is first user's ID.
LT user and browser user are in sync!
- Shared connections are per tab/file.
- Only editing experience is shared e.g. text manipulation and highlighting. All LightTable behaviors e.g. evaluation, autocompletion and syntax highlighting are not shared. This means only the original editor can evaluate, etc.
- In pairing scenarios where eval and other LT features matter, make sure to open a new tab in the same project as the sharer. Also consider screensharing to see the sharer's eval.
- When pairing on anything that's not a plain text file, sharees should set their file syntax with the command
Editor: Set current editor syntax
. - Given the ease of sharing, even between browser and editor, this plugin is a good fit for swarm coding a.k.a. pairing as a group.
- Detach/dispose from current firebase session
- Allow firebase url to be configured
- Consider a workflow where multiple files are shared through one connection. This could be possible by switching files in one tab with this command.
- Thanks to @jamii for the proof of concept!
Please report them on github.
See here for contributing guidelines.
- firepad atom plugin
- sharejs-codemirror - Open source alternative to firebase/firepad which requires running your own server(s) but gives you complete control of shared data.
See LICENSE.txt