We present a plugin that enables conflict-free collaborative source code editing in the IntelliJ IDEA integrated developer environment. First we introduce conflict-free replicated data types (CRDT) which are the core of our solution. We then focus on a concrete data type from the convergent replicated data types (CvRDT) subgroup made for text editing, named causal trees, and present its structure and behaviour. We continue with the implementation of this data type as a library. The end result is a plugin that uses this library and does not need any additional server infrastructure. It supports basic operations for code editing and due to its simplified implementation, the plugin works for only two users in a local network.
|