1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-07-30 03:23:08 +03:00

Add "Absolute path" item to the file view's copy menu

Rename the existing item to "Relative path".
This commit is contained in:
Stefan Haller
2025-03-21 08:25:12 +01:00
parent 200e490398
commit a8f6b04ff3
5 changed files with 74 additions and 11 deletions

View File

@ -3,6 +3,7 @@ package controllers
import (
"errors"
"fmt"
"path/filepath"
"strings"
"github.com/jesseduffield/gocui"
@ -976,8 +977,8 @@ func (self *FilesController) openCopyMenu() error {
DisabledReason: self.require(self.singleItemSelected())(),
Key: 'n',
}
copyPathItem := &types.MenuItem{
Label: self.c.Tr.CopyFilePath,
copyRelativePathItem := &types.MenuItem{
Label: self.c.Tr.CopyRelativeFilePath,
OnPress: func() error {
if err := self.c.OS().CopyToClipboard(node.GetPath()); err != nil {
return err
@ -988,6 +989,18 @@ func (self *FilesController) openCopyMenu() error {
DisabledReason: self.require(self.singleItemSelected())(),
Key: 'p',
}
copyAbsolutePathItem := &types.MenuItem{
Label: self.c.Tr.CopyAbsoluteFilePath,
OnPress: func() error {
if err := self.c.OS().CopyToClipboard(filepath.Join(self.c.Git().RepoPaths.RepoPath(), node.GetPath())); err != nil {
return err
}
self.c.Toast(self.c.Tr.FilePathCopiedToast)
return nil
},
DisabledReason: self.require(self.singleItemSelected())(),
Key: 'P',
}
copyFileDiffItem := &types.MenuItem{
Label: self.c.Tr.CopySelectedDiff,
Tooltip: self.c.Tr.CopyFileDiffTooltip,
@ -1044,7 +1057,8 @@ func (self *FilesController) openCopyMenu() error {
Title: self.c.Tr.CopyToClipboardMenu,
Items: []*types.MenuItem{
copyNameItem,
copyPathItem,
copyRelativePathItem,
copyAbsolutePathItem,
copyFileDiffItem,
copyAllDiff,
},