This will be a style that can be used by extending
classes to provide two lines that don't wrap with
color and padding.
This is initially used by symbols view and fuzzy finder.
Previously the directory was shown after the file name
and it would wrap if too long causing inconsistent row
heights.
Now the full path is shown below the name in a smaller font
and both the path and file are set to overflow with an ellipsis.
Creating a fold in one pane now has no effect on an edit session
for the same buffer in another pane. Before they were polluting each
other by sharing the same fold markers.
When creating a display buffer for buffers that already have fold
markers, which we'll eventually do on refresh, basing folds on
full-blown display buffer markers is a problem because we end up
creating display buffer markers during construction of the line map.
When we create a display buffer marker it memoizes its screen positions,
but since the line map isn't built yet we have nothing to translate
against. Basically, since the line map depends on folds, folds can't
depend on the line map. Luckily, they don't need to. Buffer markers
work just fine.
The first call to terminate is canceled so that every window can be
closed. On AtomCefClient the OnBeforeClose method is called when a
browser is finished closing. Once all windows have finished closing, AtomCefClient calls terminate again, which will terminate the
application.
Closes#527