Fixed wrong color in red file labels
Bind the grid icon to .less files

Added .less files to the OakAppKit .plist bindings file as another grid icon, to go along with the existing .css, .sass and .scss definitions.

Signed-off-by: Bob Rockefeller <bob@bobrockefeller.com>
Improve page/tab support in about window

Selecting already selected page no longer reloads the HTML.

In addition to ⌘1-n for the n’th page, you can now also use ⌘{ and ⌘} to move between pages.
Improve encapsulation
Workaround for clang linker warning

Using instances with static storage in Objective-C files result in the following warning (starting with clang 425.0.24):

ld: warning: direct access in […] to global weak symbol […] means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
Move fs-events code to own file
Decouple fs-events code from info_t
Don’t set -fobjc-arc-cxxlib=libc++

I never understood what this option was good for and now it gives a warning about being unused during compilation (even though it was set only during linking).
Fix wrong behavior when selecting to end of line

This also affected a few other selection actions.

Fixes #738.
Broadcast “is on disk” after first save
Use data source’s root item’s title in file browser header

This is instead of simply asking for the root URL’s display name, as the data source can provide a more specialized display name.
Add new SCM API

This won’t perform any disk access on main thread. The previous API would check for the SCM-metadata directories on the main thread and also obtain the initial status and branch during creation.
SCM API: Update file chooser
SCM API: Update SCM data source
Limit disk access done by DocumentController
Remove SCM variables from document_t
Remove SCM variables from file::variables
Add (async) scope attribute collecting to DocumentController

This is for attr.project.XXX and attr.scm.XXX, although the latter is also provided by scm::info_t.

With this commit, the file::path_attributes function no longer collect this information.
Remove hardcoded shortcuts from keyDown:

These keys are also in the menu so no need to special-case them (unlike the other keys handled).
Auto-enable Back / Forward menu items