Commit graph

794 commits

Author SHA1 Message Date
Andy Feller
47225bcf56
Merge pull request #10737 from cli/andyfeller/muted-text-part2-github-cli-833
Ensure muted text is thematic and customizable
2025-04-08 16:59:36 -04:00
Andy Feller
644dbe6275
Apply suggestions from code review
Co-authored-by: Babak K. Shandiz <babak.k.shandiz@gmail.com>
2025-04-08 15:56:23 -04:00
Andy Feller
918cafc222 Deprecate ColorScheme.Gray for ColorScheme.Muted
This commit converts all of the places using ColorScheme.Gray and ColorScheme.Grayf to Muted and Mutedf.

There is a little extra tidying up with local variable names or converting code to use Mutedf format.
2025-04-06 10:18:48 -04:00
Andy Feller
e9a12853cb Merge branch 'trunk' into andyfeler/colorize-label-optin 2025-04-04 09:47:41 -04:00
Andy Feller
3eca268a7f Introduce color_labels support, update commands
This commit implements the actual changes around configuration setting / environment variable logic for displaying labels using their RGB hex color code in terminals with truecolor support.

One of the subtler changes in this commit is renaming generic ColorScheme.HexToRGB logic to render truecolor to ColorScheme.Label as this feature was being used exclusively for labels.  This is due to confusion about introducing the new `color_labels` config on top of generic coloring logic.
2025-04-02 18:24:20 -04:00
Andy Feller
d2cd14b4cd Remove out of scope changes, update list commands
After discussing this with the team, the `gh config` changes to display `accessible_colors` have been removed from this branch being outside of acceptance criteria.  This will be moved to a separate issue along with any other work needed to finalize the public preview such as `gh help` entries for `GH_ACCESSIBLE_COLORS` environment variable.

List commands that use ColorScheme.Gray have been updated to use ColorScheme.Muted.
2025-03-31 11:58:30 -04:00
Kynan Ware
c1fbc2f05b test(many): fix whitespace in tests expectations
Due to https://github.com/charmbracelet/glamour/pull/334, the margin
used for markdown rendering has changed by a couple spaces. This
corrects the relevant tests to accomodate that change.
2025-03-27 14:21:13 -06:00
Andy Feller
bbb8213e9c Refactor commentable logic 2025-03-19 07:56:53 -04:00
Andy Feller
bec527d49e Clean up pr/issue comment test names 2025-03-18 16:14:14 -04:00
Andy Feller
a47651df43 Bring issue/PR comment tests up to par, correct
This commit brings the `gh issue comment` and `gh pr comment` tests in line with one another while also addressing some corner cases that weren't previously tested.
2025-03-18 15:56:25 -04:00
Andy Feller
018b6d6d07 Initial pass fixing gh issue and gh pr comment
There is still a bit of work to get the gh pr comment tests in order, however this goes a way towards fixing the issue along with acceptance tests.

Also, it turns out some of the issue acceptance tests were really running `pr` tests.
2025-03-17 23:18:36 -04:00
kevincatty
e09b9a5fae chore: remove redundant word in comment
Signed-off-by: kevincatty <zhanshanmao@outlook.com>
2025-03-12 16:13:46 +08:00
William Martin
f8d9aac7e5
Merge pull request #10512 from cli/wm-kw/fix-pr-checkout-for-forks
Fix checkout when URL arg is from fork and cwd is upstream
2025-02-28 13:31:59 +01:00
William Martin
11b9496e17 Fix checkout when URL arg is from fork and cwd is upstream 2025-02-27 16:56:11 +01:00
Azeem Sajid
33c30d5bd1 Inconsistent format of examples in help text 2025-02-27 16:26:25 +05:00
William Martin
537a22228c
Merge pull request #10479 from latzskim/gh-pr-checkout-with-no-tags
Do not fetch tags on PR checkout.
2025-02-21 13:12:29 +01:00
William Martin
437c52f807 Test pr checkout force on different branch 2025-02-21 13:00:48 +01:00
latzskim
e331daabce [gh pr checkout] Add --no-tags option to git fetch commands in checkout logic 2025-02-20 19:04:16 +01:00
Kynan Ware
ab9f685d0a
Merge pull request #10427 from latzskim/create-if-none
[gh issue/pr comment] Create a comment if no comment already exists
2025-02-19 12:38:15 -07:00
latzskim
26414865c4 Address pr comments 2025-02-19 16:56:23 +01:00
Andy Feller
af99c9d495 Suggestions to enhance upstream default handling
This commit brings this code more into alignment with other places:

1. Using a local variable for upstream remote name instead of hardcoding everywhere
2. Raising error raised by setting default remote
3. Removing condition for displaying upstream default message
4. Bring message logic more inline with other places within function
2025-02-18 16:02:50 -05:00
David Livingston
5004ba2b91 update default upstream when forking repo
update default upstream when forking repo

remove unnecessary variable
2025-02-17 11:14:16 +08:00
Azeem Sajid
8b7fb231ec Remove trailing whitespace 2025-02-13 11:06:27 +05:00
latzskim
e516e5ed5d [gh issue/pr comment] Create a comment if no comment already 2025-02-12 21:04:22 +01:00
Azeem Sajid
c8a1f8c699
Update pkg/cmd/pr/status/status.go
Co-authored-by: Kynan Ware <47394200+BagToad@users.noreply.github.com>
2025-02-07 22:56:00 +05:00
Azeem Sajid
b2eec1cd5f Update language 2025-02-07 21:15:19 +05:00
Azeem Sajid
22bac00148 [gh pr status] Mention gh pr checks in the Long section 2025-02-07 21:13:17 +05:00
Kynan Ware
026672e79e
Merge branch 'trunk' into nil/fix-2329 2025-02-01 12:37:44 -07:00
Kynan Ware
850627bc37
Merge pull request #10335 from iamazeem/9067-gh-issue-list-improve-help-text
[gh issue/pr list] Improve help text
2025-02-01 11:08:32 -07:00
nilvng
42c9d244f7 remove duplicated Prompter type 2025-02-01 11:45:37 +11:00
nilvng
7311b5cdd1 revert isEqualSet to private 2025-02-01 11:45:37 +11:00
Tyler McGoffin
877871f1e0 Address PR comments 2025-01-31 14:55:24 -08:00
Tyler McGoffin
601cf88852 Handle error from ParsePRRefs when the selector is provided 2025-01-31 14:40:54 -08:00
Tyler McGoffin
fa5325aec9 Add comment to status recognizing when we require a repo 2025-01-31 14:40:54 -08:00
Tyler McGoffin
058cb2c220 Refactor finder to work with URL selectors 2025-01-31 14:40:54 -08:00
Tyler McGoffin
29e57ee8e7 Add tests for using the pr Finder outside of repo
This includes an acceptance test for `gh pr view` and a unit test on
`TestFind`
2025-01-31 14:22:02 -08:00
Azeem Sajid
978d3fce87 [gh issue/pr list] Improve help text 2025-01-30 13:05:18 +05:00
Tyler McGoffin
de9971d718
Merge pull request #9208 from Frederick888/find-pr-by-rev-parse-push
Find PRs using `@{push}`
2025-01-29 12:11:32 -08:00
Tyler McGoffin
e0f624ba24 Rename PRRefs to PullRequestRefs and PR comment cleanup 2025-01-29 11:56:31 -08:00
Tyler McGoffin
e31bfd0092 Cleaned up some naming and comments 2025-01-27 16:40:47 -08:00
Tyler McGoffin
4382bdf072 Fix pr create tests
Due to the refactor of BranchConfig, the tests for `pr create` no longer
require a handful of stubbed git commands.

Additionally, I noticed some overlap between `pr create`'s existing logic
with the new finder code. I suspect that the finder's new ParsePRRefs
helper could be leveraged here as well, which would allow us to respect
non-centralized workflows pr create in the same way we are respecting them
in `gh pr view` and `gh pr status`
2025-01-24 14:01:44 -08:00
Tyler McGoffin
d684834ad9 Refactor pr status to use the ParsePRRefs helper on the Finder
There was a lot of copy-pasta code between the finder and pr status. After
some investigation it was clear that the prSelectorForCurrentBranch code
was really just a duplicate of the finder's code without actually making
the API call for the PR. Since the ParsePRRefs helper had already
extracted much of the logic for determining a PR's head ref branch, I was
able to reuse it in gh pr status with a small refactor.
2025-01-24 11:51:49 -08:00
Tyler McGoffin
cdead50d57 Moved remote.pushDefault out of ReadBranchConfig and into finder 2025-01-24 11:05:15 -08:00
Tyler McGoffin
e4d8ed0e60 Remove @{push} from branch config 2025-01-24 10:20:04 -08:00
Tyler McGoffin
5a8dd35ba7 Add PushDefault method to git client 2025-01-24 09:40:02 -08:00
William Martin
6355ed7c08 WIP: push default defaults to simple 2025-01-24 17:25:38 +01:00
William Martin
a72bef9b42 Error if push revision doesn't match a remote 2025-01-24 17:07:24 +01:00
Tyler McGoffin
41729b004d Refactor finder.Find and replace parseCurrentBranch with parsePRRefs
I've been struggling horribly to reason through all of this code, and
after much mental gymnastics I identified the culprit as the overloaded
"branch" string returned by parseCurrentBranch.

This value was either the name of the branch that the PR we're looking for
is associated with, or that name prepended with the owner's name and a :
if we're on a branch, so:

PR branch: featureBranch
branch == "featureBranch"

If on Fork belonging to "ForkOwner"
branch == "ForkOwner:featureBranch"

Since this extra information was bundled up into this single string, it
complicated the responsibilities of parseCurrentBranch's "branch" return
value. Thus, I've teased out "branch" into the new PRRefs struct:

type PRRefs struct{
	BranchName string
	HeadRepo ghrepo.Interface
	BaseRepo ghrepo.Interface
}

This allows the new parsePRRefs function to move all the previous
"branch" string's information into structured data, and allows for a new
method on PRRefs, GetPRLabel(), to create the string that "branch"
previously held to pass into its downstream consumer, namely
findForBranch.

This also allowed for better test coverage, directly connecting the PRRefs
fields to the values contained in the git config. Overall, I am now
confident that this is doing what its supposed to do with respect to my
understanding of the various central and triangular git workflows we are
addressing.
2025-01-23 15:25:28 -08:00
Otto Kekäläinen
b19e682455
Update test to be compatible with latest Glamour v0.8.0
Latest Glamour has slightly changed logic in line length / wrapping,
resulting test failures due to string mismatch. Update tests and bump
dependency to v0.8.0, and others to the bare minimal level as generated
by `go mod tidy`.

This was detected then building the GitHub cli package `gh` in Debian
started to fail with src:golang-github-charmbracelet-glamour 0.8.0-1.

Closes: #10179
2025-01-22 20:13:40 -08:00
Mikel Olasagasti Uranga
4396e40a31 Fix: Ensure constant format strings in fmt and printf calls
Go 1.24 introduces stricter checks for format string validation.
This commit fixes instances where non-constant format strings were
used in calls to functions like `fmt.Errorf`, `fmt.Printf`, and similar.

Signed-off-by: Mikel Olasagasti Uranga <mikel@olasagasti.info>
2025-01-20 16:27:27 +01:00