mirror of
				https://github.com/taigrr/wtf
				synced 2025-01-18 04:03:14 -08:00 
			
		
		
		
	Add shortcuts for GitHub Pull Requests and Issues (#777)
This commit is contained in:
		
							parent
							
								
									9f6a72d674
								
							
						
					
					
						commit
						4ec9d33a6f
					
				| @ -10,6 +10,12 @@ import ( | |||||||
| 	"golang.org/x/oauth2" | 	"golang.org/x/oauth2" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | const ( | ||||||
|  | 	pullRequestsPath = "/pulls" | ||||||
|  | 	issuesPath = "/issues" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| // GithubRepo defines a new GithubRepo structure | // GithubRepo defines a new GithubRepo structure | ||||||
| type GithubRepo struct { | type GithubRepo struct { | ||||||
| 	apiKey    string | 	apiKey    string | ||||||
| @ -42,6 +48,16 @@ func (repo *GithubRepo) Open() { | |||||||
| 	utils.OpenFile(*repo.RemoteRepo.HTMLURL) | 	utils.OpenFile(*repo.RemoteRepo.HTMLURL) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // Open will open the GitHub Pull Requests URL using the utils helper | ||||||
|  | func (repo *GithubRepo) OpenPulls() { | ||||||
|  | 	utils.OpenFile(*repo.RemoteRepo.HTMLURL + pullRequestsPath) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // Open will open the GitHub Issues URL using the utils helper | ||||||
|  | func (repo *GithubRepo) OpenIssues() { | ||||||
|  | 	utils.OpenFile(*repo.RemoteRepo.HTMLURL + issuesPath) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // Refresh reloads the github data via the Github API | // Refresh reloads the github data via the Github API | ||||||
| func (repo *GithubRepo) Refresh() { | func (repo *GithubRepo) Refresh() { | ||||||
| 	prs, err := repo.loadPullRequests() | 	prs, err := repo.loadPullRequests() | ||||||
|  | |||||||
| @ -12,6 +12,8 @@ func (widget *Widget) initializeKeyboardControls() { | |||||||
| 	widget.SetKeyboardChar("l", widget.NextSource, "Select next source") | 	widget.SetKeyboardChar("l", widget.NextSource, "Select next source") | ||||||
| 	widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") | 	widget.SetKeyboardChar("h", widget.PrevSource, "Select previous source") | ||||||
| 	widget.SetKeyboardChar("o", widget.openRepo, "Open item in browser") | 	widget.SetKeyboardChar("o", widget.openRepo, "Open item in browser") | ||||||
|  | 	widget.SetKeyboardChar("p", widget.openPulls, "Open pull requests in browser") | ||||||
|  | 	widget.SetKeyboardChar("i", widget.openIssues, "Open issues in browser") | ||||||
| 
 | 
 | ||||||
| 	widget.SetKeyboardKey(tcell.KeyDown, widget.Next, "Select next item") | 	widget.SetKeyboardKey(tcell.KeyDown, widget.Next, "Select next item") | ||||||
| 	widget.SetKeyboardKey(tcell.KeyUp, widget.Prev, "Select previous item") | 	widget.SetKeyboardKey(tcell.KeyUp, widget.Prev, "Select previous item") | ||||||
|  | |||||||
| @ -157,3 +157,19 @@ func (widget *Widget) openRepo() { | |||||||
| 		repo.Open() | 		repo.Open() | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | func (widget *Widget) openPulls() { | ||||||
|  | 	repo := widget.currentGithubRepo() | ||||||
|  | 
 | ||||||
|  | 	if repo != nil { | ||||||
|  | 		repo.OpenPulls() | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (widget *Widget) openIssues() { | ||||||
|  | 	repo := widget.currentGithubRepo() | ||||||
|  | 
 | ||||||
|  | 	if repo != nil { | ||||||
|  | 		repo.OpenIssues() | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user