atom-patch
This data structure efficiently represents a transformation from input to output text, and it's useful for aggregating and combining changes that occur at different points in time and space.
Contributing
git clone https://github.com/atom/atom-patch
cd atom-patch
npm install
Use npm test
or npm run tdd
to run the test suite.
Recompiling Patch's Flatbuffer Schema
Patch
uses flat buffers to represent its serialized state. If you want to make any change to the underlying schema you have to download and compile flatc
first:
git clone https://github.com/google/flatbuffers
git checkout 959866b
pushd flatbuffers/build/XCode/
xcodebuild
popd
This will create a flatc
executable in flatbuffers top level directory. You can recompile src/serialization-schema.fbs
by running:
cd atom-patch
../flatbuffers/flatc -o src --js serialization-schema.fbs
After you do that, please make sure to to change the generated file's last line to:
// Exports for Node.js and RequireJS
- this.Serialization = Serialization;
+ module.exports = Serialization;
Please, note that we have included a patched version of the flatbuffers javascript library under vendor/flatbuffers.js because the original one has the same problem.