This commit introduces dependency on a new npm called
[reactionary](https://github.com/atom/reactionary). It will serve as a
*much* lighter weight model framework to provide the reactive features
of telepath without the replication logic.
Specs are still failing for panes and workspace. I plan to just roll
forward and remove the telepath dependency from them as well.
Previously it was only cleared when changing the position explicitly
and not as a result of the underlying marker changing such as during a
text insertion.
Closes#1295
I added some features to telepath that make it easier to test model
objects.
- First, you can now call replicate on any telepath document/model
object. The entire underlying database will be replicated and you will
be handed the equivalent of that object in the replicated world. This
is easier than forcing you to attach the model to the window state
and then call replicate there. However, remember that the entire
window state is actually being replicated so any references the model
has will also be replicated.
- Second, you can also replicate orphaned objects. Most objects in these
specs we're converting are orphans because there's no reason to attach
them to the root document just to test them in isolation.
This prevents interference with the base selected class
which adds a noticeable blur to folded lines that are selected
when using dark syntax and light ui.
Register an overflowchanged event listener on the editor's scroll view
and update the width in chars when this event fires.
Closes#928Closes#961Closes#993
This fixes a regression where multiple end of line invisibles were
displayed on empty lines when the indent guide was also enabled.
The invisibles array used to be shifted and not it isn't but the
entire array was still being iterated over causing extra invisibles
to be added to the line.