mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-06-27 00:51:18 +02:00
Bump gocui
This commit is contained in:
2
go.mod
2
go.mod
@ -16,7 +16,7 @@ require (
|
|||||||
github.com/integrii/flaggy v1.4.0
|
github.com/integrii/flaggy v1.4.0
|
||||||
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68
|
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68
|
||||||
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d
|
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7
|
github.com/jesseduffield/gocui v0.3.1-0.20240928100326-393cf89a5d3f
|
||||||
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
||||||
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5
|
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5
|
||||||
github.com/jesseduffield/minimal/gitignore v0.3.3-0.20211018110810-9cde264e6b1e
|
github.com/jesseduffield/minimal/gitignore v0.3.3-0.20211018110810-9cde264e6b1e
|
||||||
|
4
go.sum
4
go.sum
@ -188,8 +188,8 @@ github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68 h1:EQP2Tv8T
|
|||||||
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68/go.mod h1:+LLj9/WUPAP8LqCchs7P+7X0R98HiFujVFANdNaxhGk=
|
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68/go.mod h1:+LLj9/WUPAP8LqCchs7P+7X0R98HiFujVFANdNaxhGk=
|
||||||
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d h1:bO+OmbreIv91rCe8NmscRwhFSqkDJtzWCPV4Y+SQuXE=
|
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d h1:bO+OmbreIv91rCe8NmscRwhFSqkDJtzWCPV4Y+SQuXE=
|
||||||
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d/go.mod h1:nGNEErzf+NRznT+N2SWqmHnDnF9aLgANB1CUNEan09o=
|
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d/go.mod h1:nGNEErzf+NRznT+N2SWqmHnDnF9aLgANB1CUNEan09o=
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7 h1:QeLCKRAt4T6sBg5tSrOc4OojCuAcPxUA+4vNMPY4aH4=
|
github.com/jesseduffield/gocui v0.3.1-0.20240928100326-393cf89a5d3f h1:ZzsAUDwPFLPITKLcJpMSqt/3rERdI8YRZKr2l0plrls=
|
||||||
github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7/go.mod h1:XtEbqCbn45keRXEu+OMZkjN5gw6AEob59afsgHjokZ8=
|
github.com/jesseduffield/gocui v0.3.1-0.20240928100326-393cf89a5d3f/go.mod h1:XtEbqCbn45keRXEu+OMZkjN5gw6AEob59afsgHjokZ8=
|
||||||
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10 h1:jmpr7KpX2+2GRiE91zTgfq49QvgiqB0nbmlwZ8UnOx0=
|
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10 h1:jmpr7KpX2+2GRiE91zTgfq49QvgiqB0nbmlwZ8UnOx0=
|
||||||
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10/go.mod h1:aA97kHeNA+sj2Hbki0pvLslmE4CbDyhBeSSTUUnOuVo=
|
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10/go.mod h1:aA97kHeNA+sj2Hbki0pvLslmE4CbDyhBeSSTUUnOuVo=
|
||||||
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5 h1:CDuQmfOjAtb1Gms6a1p5L2P8RhbLUq5t8aL7PiQd2uY=
|
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5 h1:CDuQmfOjAtb1Gms6a1p5L2P8RhbLUq5t8aL7PiQd2uY=
|
||||||
|
61
vendor/github.com/jesseduffield/gocui/view.go
generated
vendored
61
vendor/github.com/jesseduffield/gocui/view.go
generated
vendored
@ -183,6 +183,10 @@ type View struct {
|
|||||||
// if true, the user can scroll all the way past the last item until it appears at the top of the view
|
// if true, the user can scroll all the way past the last item until it appears at the top of the view
|
||||||
CanScrollPastBottom bool
|
CanScrollPastBottom bool
|
||||||
|
|
||||||
|
// if true, the view will automatically recognize https: URLs in the content written to it and render
|
||||||
|
// them as hyperlinks
|
||||||
|
AutoRenderHyperLinks bool
|
||||||
|
|
||||||
// if true, the view will underline hyperlinks only when the cursor is on
|
// if true, the view will underline hyperlinks only when the cursor is on
|
||||||
// them; otherwise, they will always be underlined
|
// them; otherwise, they will always be underlined
|
||||||
UnderlineHyperLinksOnlyOnHover bool
|
UnderlineHyperLinksOnlyOnHover bool
|
||||||
@ -780,6 +784,7 @@ func (v *View) writeRunes(p []rune) {
|
|||||||
for _, r := range p {
|
for _, r := range p {
|
||||||
switch r {
|
switch r {
|
||||||
case '\n':
|
case '\n':
|
||||||
|
v.autoRenderHyperlinksInCurrentLine()
|
||||||
if c, ok := v.readCell(v.wx+1, v.wy); !ok || c.chr == 0 {
|
if c, ok := v.readCell(v.wx+1, v.wy); !ok || c.chr == 0 {
|
||||||
v.writeCells(v.wx, v.wy, []cell{{
|
v.writeCells(v.wx, v.wy, []cell{{
|
||||||
chr: 0,
|
chr: 0,
|
||||||
@ -793,6 +798,7 @@ func (v *View) writeRunes(p []rune) {
|
|||||||
v.lines = append(v.lines, nil)
|
v.lines = append(v.lines, nil)
|
||||||
}
|
}
|
||||||
case '\r':
|
case '\r':
|
||||||
|
v.autoRenderHyperlinksInCurrentLine()
|
||||||
if c, ok := v.readCell(v.wx, v.wy); !ok || c.chr == 0 {
|
if c, ok := v.readCell(v.wx, v.wy); !ok || c.chr == 0 {
|
||||||
v.writeCells(v.wx, v.wy, []cell{{
|
v.writeCells(v.wx, v.wy, []cell{{
|
||||||
chr: 0,
|
chr: 0,
|
||||||
@ -829,6 +835,61 @@ func (v *View) writeString(s string) {
|
|||||||
v.writeRunes([]rune(s))
|
v.writeRunes([]rune(s))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func findSubstring(line []cell, substringToFind []rune) int {
|
||||||
|
for i := 0; i < len(line)-len(substringToFind); i++ {
|
||||||
|
for j := 0; j < len(substringToFind); j++ {
|
||||||
|
if line[i+j].chr != substringToFind[j] {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if j == len(substringToFind)-1 {
|
||||||
|
return i
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1
|
||||||
|
}
|
||||||
|
|
||||||
|
func (v *View) autoRenderHyperlinksInCurrentLine() {
|
||||||
|
if !v.AutoRenderHyperLinks {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// We need a heuristic to find the end of a hyperlink. Searching for the
|
||||||
|
// first character that is not a valid URI character is not quite good
|
||||||
|
// enough, because in markdown it's common to have a hyperlink followed by a
|
||||||
|
// ')', so we want to stop there. Hopefully URLs containing ')' are uncommon
|
||||||
|
// enough that this is not a problem.
|
||||||
|
lineEndCharacters := map[rune]bool{
|
||||||
|
'\000': true,
|
||||||
|
' ': true,
|
||||||
|
'\n': true,
|
||||||
|
'>': true,
|
||||||
|
'"': true,
|
||||||
|
')': true,
|
||||||
|
}
|
||||||
|
line := v.lines[v.wy]
|
||||||
|
start := 0
|
||||||
|
for {
|
||||||
|
linkStart := findSubstring(line[start:], []rune("https://"))
|
||||||
|
if linkStart == -1 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
linkStart += start
|
||||||
|
link := ""
|
||||||
|
linkEnd := linkStart
|
||||||
|
for ; linkEnd < len(line); linkEnd++ {
|
||||||
|
if _, ok := lineEndCharacters[line[linkEnd].chr]; ok {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
link += string(line[linkEnd].chr)
|
||||||
|
}
|
||||||
|
for i := linkStart; i < linkEnd; i++ {
|
||||||
|
v.lines[v.wy][i].hyperlink = link
|
||||||
|
}
|
||||||
|
start = linkEnd
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// parseInput parses char by char the input written to the View. It returns nil
|
// parseInput parses char by char the input written to the View. It returns nil
|
||||||
// while processing ESC sequences. Otherwise, it returns a cell slice that
|
// while processing ESC sequences. Otherwise, it returns a cell slice that
|
||||||
// contains the processed data.
|
// contains the processed data.
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -172,7 +172,7 @@ github.com/jesseduffield/go-git/v5/utils/merkletrie/filesystem
|
|||||||
github.com/jesseduffield/go-git/v5/utils/merkletrie/index
|
github.com/jesseduffield/go-git/v5/utils/merkletrie/index
|
||||||
github.com/jesseduffield/go-git/v5/utils/merkletrie/internal/frame
|
github.com/jesseduffield/go-git/v5/utils/merkletrie/internal/frame
|
||||||
github.com/jesseduffield/go-git/v5/utils/merkletrie/noder
|
github.com/jesseduffield/go-git/v5/utils/merkletrie/noder
|
||||||
# github.com/jesseduffield/gocui v0.3.1-0.20240906064314-bfab49c720d7
|
# github.com/jesseduffield/gocui v0.3.1-0.20240928100326-393cf89a5d3f
|
||||||
## explicit; go 1.12
|
## explicit; go 1.12
|
||||||
github.com/jesseduffield/gocui
|
github.com/jesseduffield/gocui
|
||||||
# github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
# github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
|
||||||
|
Reference in New Issue
Block a user