The filesystem may have changed while the fuzzy finder
is open or since the last time the paths were loaded so
don't try to open paths unless they are files that
currently exist when confirmed.
Show the last loaded paths and load the latest in the
background when the FuzzyFinder is opened after a config
or focus event has been fired.
Previously the paths were completely cleared and the indexing
message was displayed while the latest paths were loaded.
The tree view shouldn't automatically open when the
project first gets a path after not having one.
It can be still be toggled to be opened once the
project has a path.
This spec only requires one match so don't search
for something that has many matches and will take
longer to display.
Reduces the run time of this spec by ~1.5 seconds.
Previously the search query used in the command panel
spec returned 500+ matches when the specs needed far
less to verify moving up and down and scrolling.
This reduces the time take to run the command panel spec
by ~2.5 seconds.
Removes need to check if the repository is valid before
each native API call and also removes calling into the
native-side if no repository can be opened for the project
page.
Has 2 failing specs...
There are still some issue with this code's interaction with the undo
system. The tab stops will need to be or destroyed when certain
changes are undone or redone.
Previously the status was fetched twice, once for
if modified and once for if new.
Now the flags are fetched once and Git now provides
helpers to check the status flags directly for
modified and new status.
Previously, we parsed snippet bodies line at a time, then determined
tab stops within lines. But this disallows tab stops with placeholder
text that spans multiple lines. Now the parser produces a simpler
structure that breaks the body into an array of strings and tab stops.
Newlines are represented directly as characters within the strings.
Previously these weren't displayed since event the
documentation loop stopped at the document element and
window events weren't included even though they are
applicable for the currently focused element.