forked from forgejo/forgejo
Implementation of Folder Jumping
This commit is contained in:
parent
331316894e
commit
c22f9114c7
6 changed files with 54 additions and 5 deletions
19
vendor/code.gitea.io/git/tree_entry.go
generated
vendored
19
vendor/code.gitea.io/git/tree_entry.go
generated
vendored
|
@ -94,6 +94,25 @@ func (te *TreeEntry) Blob() *Blob {
|
|||
}
|
||||
}
|
||||
|
||||
// GetSubJumpablePathName return the full path of subdirectory jumpable ( contains only one directory )
|
||||
func (te *TreeEntry) GetSubJumpablePathName() string {
|
||||
if te.IsSubModule() || !te.IsDir() {
|
||||
return ""
|
||||
}
|
||||
tree, err := te.ptree.SubTree(te.name)
|
||||
if err != nil {
|
||||
return te.name
|
||||
}
|
||||
entries, _ := tree.ListEntries()
|
||||
if len(entries) == 1 && entries[0].IsDir() {
|
||||
name := entries[0].GetSubJumpablePathName()
|
||||
if name != "" {
|
||||
return te.name + "/" + name
|
||||
}
|
||||
}
|
||||
return te.name
|
||||
}
|
||||
|
||||
// Entries a list of entry
|
||||
type Entries []*TreeEntry
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue