Xit
Xit copied to clipboard
Tabbed sidebar
Separate the sidebar groups - local branches & workspace, remotes, tags, stashes, submodules - into tabs, similar to Xcode.
- Local: Keep "workspace" as a separate item at the top, and the hierarchical branch list below; may eventually contain workspaces
- Indicate current branch
- Filter can search entire name or last "path" component
- Pull request and build status indicators
- Remotes: Each remote is listed, with its branches as sub-items
- Tags: Hierarchical list of tags
- Solid or filled icon indicates regular vs lightweight tag
- Certificate badge icon indicates signed tag
- Maybe show date on the right for each tag
- Rollover info icon has popover with more info
- Stashes: Chronological list of stashes
- Changed file count indicator
- Future feature: filter searches in file changes
- Submodules: Alphabetical list; does not affect the right side of the window
Each tab also has a filter field at the bottom, possibly also with an action popup and right-side icons for other filter options.
Add maybe in the future (to keep the initial scope contained):
- Search: move the current search bar to the sidebar
- Option to search commit messages or changes
- Regular expressions, fuzzy, or exact
- Case sensitive
- File history: list changes to a selected/dragged file
- Similar options as Search - regex etc
- Selecting a result selects the commit and the file
In-progress tasks:
- [x] Cache the lists for each tab so it doesn't reload from the repo on every tab switch
- [ ] Change the
BranchAccessorizermechanism to enable triggering updates externally - [ ] Implement find bar menu commands for branches
- [ ] Implement find bar menu commands for remotes
- [ ] Implement find bar menu commands for tags
- [ ] Implement find bar menu commands for stashes
- [ ] Implement find bar menu commands for submodules
- [ ] Context menus
- [ ] Branch
- [ ] Remote
- [ ] Remote branch
- [ ] Tag
- [ ] Submodule
- [ ] Stash
- [ ] Tag info popover
- [ ] Implement pull request accessories
- [ ] Implement build status accessories