mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Add new key 'customQueries' to github module
This key allows users to pass an arbitrary amount of queries
that contain custom filters. A simple query that shows all closed
PRs could be written like the following.
```
customQueries:
closedPullRequests:
title: "Closed Requests"
perPage: 10
filter:
- "is:closed"
- "is:pr"
```
Resolves #469
This commit is contained in:
@@ -18,12 +18,14 @@ func (widget *Widget) display() {
|
||||
str := widget.settings.common.SigilStr(len(widget.GithubRepos), widget.Idx, width) + "\n"
|
||||
str += " [red]Stats[white]\n"
|
||||
str += widget.displayStats(repo)
|
||||
str += "\n"
|
||||
str += " [red]Open Review Requests[white]\n"
|
||||
str += "\n [red]Open Review Requests[white]\n"
|
||||
str += widget.displayMyReviewRequests(repo, widget.settings.username)
|
||||
str += "\n"
|
||||
str += " [red]My Pull Requests[white]\n"
|
||||
str += "\n [red]My Pull Requests[white]\n"
|
||||
str += widget.displayMyPullRequests(repo, widget.settings.username)
|
||||
for _, customQuery := range widget.settings.customQueries {
|
||||
str += fmt.Sprintf("\n [red]%s[white]\n", customQuery.title)
|
||||
str += widget.displayCustomQuery(repo, customQuery.filter, customQuery.perPage)
|
||||
}
|
||||
|
||||
widget.TextWidget.Redraw(title, str, false)
|
||||
}
|
||||
@@ -43,6 +45,23 @@ func (widget *Widget) displayMyPullRequests(repo *GithubRepo, username string) s
|
||||
return str
|
||||
}
|
||||
|
||||
func (widget *Widget) displayCustomQuery(repo *GithubRepo, filter string, perPage int) string {
|
||||
res := repo.customIssueQuery(filter, perPage)
|
||||
if res == nil {
|
||||
return " [grey]Invalid Query[white]\n"
|
||||
}
|
||||
|
||||
if len(res.Issues) == 0 {
|
||||
return " [grey]none[white]\n"
|
||||
}
|
||||
|
||||
str := ""
|
||||
for _, issue := range res.Issues {
|
||||
str += fmt.Sprintf(" [green]%4d[white] %s\n", *issue.Number, *issue.Title)
|
||||
}
|
||||
return str
|
||||
}
|
||||
|
||||
func (widget *Widget) displayMyReviewRequests(repo *GithubRepo, username string) string {
|
||||
prs := repo.myReviewRequests(username)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user