Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In starting to work on #528 - vim navigation for the file explorer (and other bits of UI, like search, SCM, etc) - there's some preliminary work that needs to happen. In particular, we need to refine our concept of 'Focus' - for example, we currently have 'Explorer' as a focus state, but as we break down #528 and look at features like #1785 (directory explorers) - we need to refine this. In particular, there could multiple 'explorers' in the view, and the focus might need some state along with - like the current selected item, information about the viewport (for
zz
, etc).We'll need to 'fractalize' our focus state - we'll keep track of sort of the high-level place we have focus - for example, the
Sidebar
, and then from there, theSidebar
can route focus operations, like text-input and paste, to the appropriate piece, which can then delegate it further (for example, for search - one focus state will be input focus, and another will be navigating the search results). So just like we have a 'fractal' model for state - we'll need a 'fractal' model for focus to handle these cases.In addition, a common request I get (mentioned in #1914, and comes up a lot in e-mail) is that the search behavior right now is confusing - all other buttons in the sidebar change the sidebar stop, but the search one opens up an extra pane. Since we can now resize the search pane, and it will simplify the focus-work described above (it would otherwise be a special case), figured it was a good to move it. The UX should still be improved - with the default sidebar size, it's difficult to interpret the results.
TODO: