sublime_merge
sublime_merge copied to clipboard
API Use Case Tracker
Problem description
Sublime Merge is a powerful tool already but would greatly benefit from a similar API interface like its relative Sublime Text. This issue is going to act as a tracker for features which could be possible with an API interface.
API Ideas
- Secret detection highlighting within the Diff views (Phantoms)
- Integration with (External) Issue Trackers
- Auto linking issue from an external issue tracker directly within the commit box (Jira as an example)
- Code Comment Parsing
- Quickly extract TODO, FIXME, HACK, etc from comment tags and generate the commit message
- Automatic Commit Message Generation
- Streamline commit message template support
- Commit Hooks Management
- Review enabled hooks
- Disable hooks, etc
- Deep Git provider integration
- Quickly view, create, approve MR's
- Quick view Repo's associate with account(s)
- Create local repo from remote repo (Before even having a local copy)
GitHub & GitLab reviews: integrate with Pull Request / Merge Request review workflow. Display review comments inline with the code, and let users reply (with respective Markdown flavor preview) and resolve threads.
Also, add an action to open PR/MR web page for a branch.
- List PR's
- List PR Action Status
- Install Custom Syntax
- Switch Color Schemes
- Switch Themes
for tracking purposes: see also: #267, #394, #964, #1101
I always wanted to have a periodic check whether there are upstream changes (aka forgot to pull). For not to get in troubles e.g. with git push --force-with-lease I'd check the output of git fetch --dry-run . That'd be something I could imagine to make with a plugin API.
@themilkman, I'm curious on what kind of trouble can you get in with git fetch that would necessitate --dry-run?
@themilkman, I'm curious on what kind of trouble can you get in with
git fetchthat would necessitate--dry-run?
@srbs You may correct me, but iirc "normal" a git fetch in the background by the plugin just before I do a git push --force-with-lease would override the HEAD on origin because git thinks "yeah, it's already here, you know what you do". A --dry-run afaik doesn't update the local refs of the remotes. Thus, you get the information "hey, someone pushed smth" for the plugin but wouldn't update the actual local repo with the refs. Which should prevent me from force-pushing my commit over another which I didn't know about yet because it was automatically fetched by the plugin before I could notice it.
@themilkman, ah yeah, makes sense. I keep forgetting exactly how --force-with-lease works.
Also, one of the first things I'd try to port is https://github.com/evandrocoan/RememberCommandPaletteInput ...
What I also could imagine would be an visual indicator in the 'Branches' list on the entries if they are already merged into the currently checked out one.