summaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/config/user_config.go24
-rw-r--r--pkg/gui/controllers/basic_commits_controller.go2
-rw-r--r--pkg/gui/global_handlers.go13
-rw-r--r--pkg/gui/keybindings.go4
-rw-r--r--pkg/i18n/dutch.go2
-rw-r--r--pkg/i18n/english.go6
-rw-r--r--pkg/i18n/japanese.go1
-rw-r--r--pkg/i18n/korean.go1
-rw-r--r--pkg/i18n/polish.go3
-rw-r--r--pkg/i18n/russian.go1
-rw-r--r--pkg/i18n/traditional_chinese.go1
-rw-r--r--pkg/integration/tests/misc/copy_to_clipboard.go2
12 files changed, 35 insertions, 25 deletions
diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go
index 588fe2638..e93fbb06c 100644
--- a/pkg/config/user_config.go
+++ b/pkg/config/user_config.go
@@ -214,6 +214,9 @@ type GitConfig struct {
ParseEmoji bool `yaml:"parseEmoji"`
// Config for showing the log in the commits view
Log LogConfig `yaml:"log"`
+ // When copying commit hashes to the clipboard, truncate them to this
+ // length. Set to 40 to disable truncation.
+ TruncateCopiedCommitHashesTo int `yaml:"truncateCopiedCommitHashesTo"`
}
type PagerType string
@@ -690,16 +693,17 @@ func GetDefaultConfig() *UserConfig {
ShowGraph: "always",
ShowWholeGraph: false,
},
- SkipHookPrefix: "WIP",
- MainBranches: []string{"master", "main"},
- AutoFetch: true,
- AutoRefresh: true,
- FetchAll: true,
- BranchLogCmd: "git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --",
- AllBranchesLogCmd: "git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium",
- DisableForcePushing: false,
- CommitPrefixes: map[string]CommitPrefixConfig(nil),
- ParseEmoji: false,
+ SkipHookPrefix: "WIP",
+ MainBranches: []string{"master", "main"},
+ AutoFetch: true,
+ AutoRefresh: true,
+ FetchAll: true,
+ BranchLogCmd: "git log --graph --color=always --abbrev-commit --decorate --date=relative --pretty=medium {{branchName}} --",
+ AllBranchesLogCmd: "git log --graph --all --color=always --abbrev-commit --decorate --date=relative --pretty=medium",
+ DisableForcePushing: false,
+ CommitPrefixes: map[string]CommitPrefixConfig(nil),
+ ParseEmoji: false,
+ TruncateCopiedCommitHashesTo: 12,
},
Refresher: RefresherConfig{
RefreshInterval: 10,
diff --git a/pkg/gui/controllers/basic_commits_controller.go b/pkg/gui/controllers/basic_commits_controller.go
index a589e3828..1fde39e8b 100644
--- a/pkg/gui/controllers/basic_commits_controller.go
+++ b/pkg/gui/controllers/basic_commits_controller.go
@@ -175,7 +175,7 @@ func (self *BasicCommitsController) copyCommitSHAToClipboard(commit *models.Comm
return self.c.Error(err)
}
- self.c.Toast(self.c.Tr.CommitSHACopiedToClipboard)
+ self.c.Toast(fmt.Sprintf("'%s' %s", commit.Sha, self.c.Tr.CopiedToClipboard))
return nil
}
diff --git a/pkg/gui/global_handlers.go b/pkg/gui/global_handlers.go
index 9513fff61..c20b10ad7 100644
--- a/pkg/gui/global_handlers.go
+++ b/pkg/gui/global_handlers.go
@@ -110,6 +110,15 @@ func (gui *Gui) scrollDownConfirmationPanel() error {
}
func (gui *Gui) handleCopySelectedSideContextItemToClipboard() error {
+ return gui.handleCopySelectedSideContextItemToClipboardWithTruncation(-1)
+}
+
+func (gui *Gui) handleCopySelectedSideContextItemCommitHashToClipboard() error {
+ return gui.handleCopySelectedSideContextItemToClipboardWithTruncation(
+ gui.UserConfig.Git.TruncateCopiedCommitHashesTo)
+}
+
+func (gui *Gui) handleCopySelectedSideContextItemToClipboardWithTruncation(maxWidth int) error {
// important to note that this assumes we've selected an item in a side context
currentSideContext := gui.c.CurrentSideContext()
if currentSideContext == nil {
@@ -127,6 +136,10 @@ func (gui *Gui) handleCopySelectedSideContextItemToClipboard() error {
return nil
}
+ if maxWidth > 0 {
+ itemId = itemId[:utils.Min(len(itemId), maxWidth)]
+ }
+
gui.c.LogAction(gui.c.Tr.Actions.CopyToClipboard)
if err := gui.os.CopyToClipboard(itemId); err != nil {
return gui.c.Error(err)
diff --git a/pkg/gui/keybindings.go b/pkg/gui/keybindings.go
index 6275d5189..02405b9b6 100644
--- a/pkg/gui/keybindings.go
+++ b/pkg/gui/keybindings.go
@@ -146,7 +146,7 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
{
ViewName: "commits",
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
- Handler: self.handleCopySelectedSideContextItemToClipboard,
+ Handler: self.handleCopySelectedSideContextItemCommitHashToClipboard,
GetDisabledReason: self.getCopySelectedSideContextItemToClipboardDisabledReason,
Description: self.c.Tr.CopyCommitShaToClipboard,
},
@@ -166,7 +166,7 @@ func (self *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBi
{
ViewName: "subCommits",
Key: opts.GetKey(opts.Config.Universal.CopyToClipboard),
- Handler: self.handleCopySelectedSideContextItemToClipboard,
+ Handler: self.handleCopySelectedSideContextItemCommitHashToClipboard,
GetDisabledReason: self.getCopySelectedSideContextItemToClipboardDisabledReason,
Description: self.c.Tr.CopyCommitShaToClipboard,
},
diff --git a/pkg/i18n/dutch.go b/pkg/i18n/dutch.go
index 99ff50e06..0341d811e 100644
--- a/pkg/i18n/dutch.go
+++ b/pkg/i18n/dutch.go
@@ -319,7 +319,7 @@ func dutchTranslationSet() TranslationSet {
BranchNotFoundPrompt: "Branch niet gevonden. Creëer een nieuwe branch genaamd",
PullRequestURLCopiedToClipboard: "Pull-aanvraag-URL gekopieerd naar klembord",
CommitMessageCopiedToClipboard: "Commit message gekopieerd naar klembord",
- CopiedToClipboard: "Gekopieerd naar klembord",
+ CopiedToClipboard: "gekopieerd naar klembord",
NavigationTitle: "Lijstpaneel navigatie",
ViewCommits: "Bekijk commits",
ToggleTreeView: "Toggle bestandsboom weergave",
diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go
index bcbf66da8..a31c8ceee 100644
--- a/pkg/i18n/english.go
+++ b/pkg/i18n/english.go
@@ -635,7 +635,6 @@ type TranslationSet struct {
PushingTagStatus string
PullRequestURLCopiedToClipboard string
CommitDiffCopiedToClipboard string
- CommitSHACopiedToClipboard string
CommitURLCopiedToClipboard string
CommitMessageCopiedToClipboard string
CommitSubjectCopiedToClipboard string
@@ -1599,13 +1598,12 @@ func EnglishTranslationSet() TranslationSet {
PushingTagStatus: "Pushing tag",
PullRequestURLCopiedToClipboard: "Pull request URL copied to clipboard",
CommitDiffCopiedToClipboard: "Commit diff copied to clipboard",
- CommitSHACopiedToClipboard: "Commit SHA copied to clipboard",
CommitURLCopiedToClipboard: "Commit URL copied to clipboard",
CommitMessageCopiedToClipboard: "Commit message copied to clipboard",
CommitSubjectCopiedToClipboard: "Commit subject copied to clipboard",
CommitAuthorCopiedToClipboard: "Commit author copied to clipboard",
PatchCopiedToClipboard: "Patch copied to clipboard",
- CopiedToClipboard: "Copied to clipboard",
+ CopiedToClipboard: "copied to clipboard",
ErrCannotEditDirectory: "Cannot edit directories: you can only edit individual files",
ErrStageDirWithInlineMergeConflicts: "Cannot stage/unstage directory containing files with inline merge conflicts. Please fix up the merge conflicts first",
ErrRepositoryMovedOrDeleted: "Cannot find repo. It might have been moved or deleted ¯\\_(ツ)_/¯",
@@ -1775,7 +1773,7 @@ func EnglishTranslationSet() TranslationSet {
CopyCommitMessageToClipboard: "Copy commit message to clipboard",
CopyCommitSubjectToClipboard: "Copy commit subject to clipboard",
CopyCommitDiffToClipboard: "Copy commit diff to clipboard",
- CopyCommitSHAToClipboard: "Copy commit SHA to clipboard",
+ CopyCommitSHAToClipboard: "Copy full commit SHA to clipboard",
CopyCommitURLToClipboard: "Copy commit URL to clipboard",
CopyCommitAuthorToClipboard: "Copy commit author to clipboard",
CopyCommitAttributeToClipboard: "Copy to clipboard",
diff --git a/pkg/i18n/japanese.go b/pkg/i18n/japanese.go
index 3b4a1076d..bb709bece 100644
--- a/pkg/i18n/japanese.go
+++ b/pkg/i18n/japanese.go
@@ -423,7 +423,6 @@ func japaneseTranslationSet() TranslationSet {
// PushingTagStatus: "Pushing tag",
PullRequestURLCopiedToClipboard: "Pull requestのURLがクリップボードにコピーされました",
CommitDiffCopiedToClipboard: "コミットの差分がクリップボードにコピーされました",
- CommitSHACopiedToClipboard: "コミットのSHAがクリップボードにコピーされました",
CommitURLCopiedToClipboard: "コミットのURLがクリップボードにコピーされました",
CommitMessageCopiedToClipboard: "コミットメッセージがクリップボードにコピーされました",
CommitAuthorCopiedToClipboard: "コミットの作成者名がクリップボードにコピーされました",
diff --git a/pkg/i18n/korean.go b/pkg/i18n/korean.go
index e8a921b9a..dd9ba31c8 100644
--- a/pkg/i18n/korean.go
+++ b/pkg/i18n/korean.go
@@ -417,7 +417,6 @@ func koreanTranslationSet() TranslationSet {
PushingTagStatus: "Pushing tag",
PullRequestURLCopiedToClipboard: "풀 리퀘스트의 URL을 클립보드에 복사했습니다.",
CommitDiffCopiedToClipboard: "커밋의 Diff를 클립보드에 복사했습니다.",
- CommitSHACopiedToClipboard: "커밋의 SHA를 클립보드에 복사했습니다.",
CommitURLCopiedToClipboard: "커밋의 URL를 클립보드에 복사했습니다.",
CommitMessageCopiedToClipboard: "커밋 메시지를 클립보드에 복사했습니다.",
CommitAuthorCopiedToClipboard: "커밋 작성자를 클립보드에 복사했습니다.",
diff --git a/pkg/i18n/polish.go b/pkg/i18n/polish.go
index f1e0a3e1c..3d3f26e06 100644
--- a/pkg/i18n/polish.go
+++ b/pkg/i18n/polish.go
@@ -611,13 +611,12 @@ func polishTranslationSet() TranslationSet {
PushingTagStatus: "Wysyłanie tagu",
PullRequestURLCopiedToClipboard: "URL żądania ściągnięcia skopiowany do schowka",
CommitDiffCopiedToClipboard: "Różnice commita skopiowane do schowka",
- CommitSHACopiedToClipboard: "SHA commita skopiowany do schowka",
CommitURLCopiedToClipboard: "URL commita skopiowany do schowka",
CommitMessageCopiedToClipboard: "Wiadomość commita skopiowana do schowka",
CommitSubjectCopiedToClipboard: "Temat commita skopiowany do schowka",
CommitAuthorCopiedToClipboard: "Autor commita skopiowany do schowka",
PatchCopiedToClipboard: "Łatka skopiowana do schowka",
- CopiedToClipboard: "Skopiowane do schowka",
+ CopiedToClipboard: "skopiowane do schowka",
ErrCannotEditDirectory: "Nie można edytować katalogu: można edytować tylko pojedyncze pliki",
ErrStageDirWithInlineMergeConflicts: "Nie można przygotować/odprzygotować katalogu zawierającego pliki z konfliktami scalania w linii. Proszę najpierw rozwiązać konflikty scalania",
ErrRepositoryMovedOrDeleted: "Nie można znaleźć repozytorium. Mogło zostać przeniesione lub usunięte ¯\\_(ツ)_/¯",
diff --git a/pkg/i18n/russian.go b/pkg/i18n/russian.go
index b48004e2e..0b4f2e618 100644
--- a/pkg/i18n/russian.go
+++ b/pkg/i18n/russian.go
@@ -480,7 +480,6 @@ func RussianTranslationSet() TranslationSet {
PushingTagStatus: "Отправка тега",
PullRequestURLCopiedToClipboard: "URL запроса на принятие изменений скопирован в буфер обмена",
CommitDiffCopiedToClipboard: "Сравнения коммита скопированы в буфер обмена",
- CommitSHACopiedToClipboard: "SHA коммита скопировано в буфер обмена",
CommitURLCopiedToClipboard: "URL коммита скопирован в буфер обмена",
CommitMessageCopiedToClipboard: "Сообщение коммита скопировано в буфер обмена",
CommitSubjectCopiedToClipboard: "Тема коммита скопирована в буфер обмена",
diff --git a/pkg/i18n/traditional_chinese.go b/pkg/i18n/traditional_chinese.go
index a46509b24..54d283f00 100644
--- a/pkg/i18n/traditional_chinese.go
+++ b/pkg/i18n/traditional_chinese.go
@@ -511,7 +511,6 @@ func traditionalChineseTranslationSet() TranslationSet {
PushingTagStatus: "正在推送標籤",
PullRequestURLCopiedToClipboard: "複製拉取請求 URL 至剪貼簿",
CommitDiffCopiedToClipboard: "已複製提交差異至剪貼簿",
- CommitSHACopiedToClipboard: "已複製提交 SHA 至剪貼簿",
CommitURLCopiedToClipboard: "已複製提交 URL 至剪貼簿",
CommitMessageCopiedToClipboard: "已複製提交訊息至剪貼簿",
CommitAuthorCopiedToClipboard: "已複製提交者至剪貼簿",
diff --git a/pkg/integration/tests/misc/copy_to_clipboard.go b/pkg/integration/tests/misc/copy_to_clipboard.go
index 6b1d5d1f6..7afa31310 100644
--- a/pkg/integration/tests/misc/copy_to_clipboard.go
+++ b/pkg/integration/tests/misc/copy_to_clipboard.go
@@ -27,7 +27,7 @@ var CopyToClipboard = NewIntegrationTest(NewIntegrationTestArgs{
).
Press(keys.Universal.CopyToClipboard)
- t.ExpectToast(Equals("'branch-a' Copied to clipboard"))
+ t.ExpectToast(Equals("'branch-a' copied to clipboard"))
t.Views().Files().
Focus()