-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Add "CopyToClipboard" command to ConfirmationController
#4810
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "CopyToClipboard" command to ConfirmationController
#4810
Conversation
e927974 to
c544f39
Compare
|
Nice, seems useful. Two things:
|
|
Thanks for the feedback!
I'll look into it.
That's right!
So how about adding an implementation like this first, then merging this PR, and then deleting unnecessary key bindings? |
I found the cause. |
f60838c to
494edfc
Compare
|
After merging #4819, I will reopen this PR. |
da55e1f to
e74f515
Compare
|
@stefanhaller And this is a message when I used |
e74f515 to
196e5bf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, looks mostly good. I added a fixup to disable the command for editable prompts (e.g. new branch name); while it would technically be possible to copy the branch name that you just typed, I don't think this is the intended use, and I'd rather not see the extra keybinding appear in the status bar in this case.
Also took that opportunity to move the handler to a method.
Finally, I added another fixup to add an integration test.
I hope you don't mind my changing your PRs so much, but for me this is a more efficient way of working than to tell you what I would like to see changed.
| return err | ||
| } | ||
|
|
||
| self.c.Toast(fmt.Sprintf("Window content %s", self.c.Tr.CopiedToClipboard)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be i18n'ed too. I added 79f1d7c to do this. We can't use the existing Tr.CopiedToClipboard text here, this is only for hashes or branch names etc., so we need to add a new text for this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hope you don't mind my changing your PRs so much, but for me this is a more efficient way of working than to tell you what I would like to see changed.
Thank you for your thoughtful consideration.
It's totally fine for me.
Your support actually helped make the code much better. Thank you so much. And your changes looks good to me too.
This was needed in an earlier version of the test, when we asserted the file content in a more complicated way. It should have been removed in caca62b.
196e5bf to
fc84b77
Compare
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.54.2` -> `v0.55.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary> ### [`v0.55.0`](https://github.com/jesseduffield/lazygit/releases/tag/v0.55.0) [Compare Source](jesseduffield/lazygit@v0.54.2...v0.55.0) <!-- Release notes generated using configuration in .github/release.yml at v0.55.0 --> #### What's Changed ##### Enhancements 🔥 - Allow filtering the keybindings menu by keybinding by [@​stefanhaller](https://github.com/stefanhaller) in [#​4821](jesseduffield/lazygit#4821) - Add support for suspending LazyGit with Ctrl+Z on Unix systems by [@​cowboy8625](https://github.com/cowboy8625) in [#​4757](jesseduffield/lazygit#4757) - Add "CopyToClipboard" command to `ConfirmationController` by [@​kyu08](https://github.com/kyu08) in [#​4810](jesseduffield/lazygit#4810) - Add a user config for using git's external diff command for paging by [@​stefanhaller](https://github.com/stefanhaller) in [#​4832](jesseduffield/lazygit#4832) - Log the hash of dropped stashes by [@​stefanhaller](https://github.com/stefanhaller) in [#​4850](jesseduffield/lazygit#4850) ##### Fixes 🔧 - Fix right-alignment of divergence from base branch for branch checked out in a worktree by [@​stefanhaller](https://github.com/stefanhaller) in [#​4824](jesseduffield/lazygit#4824) - Support Azure DevOps vs-ssh.visualstudio.com SSH remotes as hosting provider by [@​Kahitar](https://github.com/Kahitar) in [#​4822](jesseduffield/lazygit#4822) - Improve display of "esc" keybinding in the keybindings status bar by [@​stefanhaller](https://github.com/stefanhaller) in [#​4819](jesseduffield/lazygit#4819) - Use external diff command in stashes panel by [@​stefanhaller](https://github.com/stefanhaller) in [#​4836](jesseduffield/lazygit#4836) - Remove the git.paging.useConfig option by [@​stefanhaller](https://github.com/stefanhaller) in [#​4837](jesseduffield/lazygit#4837) - Don't auto-forward branches that are checked out in another worktree by [@​stefanhaller](https://github.com/stefanhaller) in [#​4833](jesseduffield/lazygit#4833) - Fix dropping range selection of filtered stashes by [@​stefanhaller](https://github.com/stefanhaller) in [#​4849](jesseduffield/lazygit#4849) - Fix rare crash in interactive rebase (merge command without comment) by [@​stefanhaller](https://github.com/stefanhaller) in [#​4872](jesseduffield/lazygit#4872) - Make it possible to rebind the Confirm keybinding by [@​stefanhaller](https://github.com/stefanhaller) in [#​4860](jesseduffield/lazygit#4860) ##### Maintenance ⚙️ - Pass only Git-tracked Go files to gofumpt by [@​kyu08](https://github.com/kyu08) in [#​4809](jesseduffield/lazygit#4809) - Update donation wording so that it's clear there's no strings attached by [@​jesseduffield](https://github.com/jesseduffield) in [#​4827](jesseduffield/lazygit#4827) - Enhance MR/Issue templates readability by [@​kyu08](https://github.com/kyu08) in [#​4829](jesseduffield/lazygit#4829) - Run label check workflow only on label events and open pr event by [@​kyu08](https://github.com/kyu08) in [#​4830](jesseduffield/lazygit#4830) ##### Docs 📖 - Add installation with gah by [@​marverix](https://github.com/marverix) in [#​4820](jesseduffield/lazygit#4820) - docs(VISION): fix "Dicoverability" typo by [@​Rudxain](https://github.com/Rudxain) in [#​4866](jesseduffield/lazygit#4866) - Add dev container feature as installation method to README by [@​HenningLorenzen-ext-bayer](https://github.com/HenningLorenzen-ext-bayer) in [#​4876](jesseduffield/lazygit#4876) ##### I18n 🌎 - Update translations from Crowdin by [@​stefanhaller](https://github.com/stefanhaller) in [#​4873](jesseduffield/lazygit#4873) #### New Contributors - [@​marverix](https://github.com/marverix) made their first contribution in [#​4820](jesseduffield/lazygit#4820) - [@​Kahitar](https://github.com/Kahitar) made their first contribution in [#​4822](jesseduffield/lazygit#4822) - [@​cowboy8625](https://github.com/cowboy8625) made their first contribution in [#​4757](jesseduffield/lazygit#4757) - [@​Rudxain](https://github.com/Rudxain) made their first contribution in [#​4866](jesseduffield/lazygit#4866) - [@​HenningLorenzen-ext-bayer](https://github.com/HenningLorenzen-ext-bayer) made their first contribution in [#​4876](jesseduffield/lazygit#4876) **Full Changelog**: <jesseduffield/lazygit@v0.54.2...v0.55.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny40IiwidXBkYXRlZEluVmVyIjoiNDEuOTcuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->


PR Description
Sometimes, I want to copy the error message to clipboard to search google or ask to LLM about the error message.
So I added CopyToClipboard command to
ConfirmationControllerand I have confirmed that this command copies the content of the window to the clipboard.Please check if the PR fulfills these requirements
go generate ./...)If a new UserConfig entry was added, make sure it can be hot-reloaded (see here)