mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
849 B
31 lines
849 B
// Copyright 2025 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package fileicon |
|
|
|
import "code.gitea.io/gitea/modules/git" |
|
|
|
type EntryInfo struct { |
|
BaseName string |
|
EntryMode git.EntryMode |
|
SymlinkToMode git.EntryMode |
|
IsOpen bool |
|
} |
|
|
|
func EntryInfoFromGitTreeEntry(commit *git.Commit, fullPath string, gitEntry *git.TreeEntry) *EntryInfo { |
|
ret := &EntryInfo{BaseName: gitEntry.Name(), EntryMode: gitEntry.Mode()} |
|
if gitEntry.IsLink() { |
|
if res, err := git.EntryFollowLink(commit, fullPath, gitEntry); err == nil && res.TargetEntry.IsDir() { |
|
ret.SymlinkToMode = res.TargetEntry.Mode() |
|
} |
|
} |
|
return ret |
|
} |
|
|
|
func EntryInfoFolder() *EntryInfo { |
|
return &EntryInfo{EntryMode: git.EntryModeTree} |
|
} |
|
|
|
func EntryInfoFolderOpen() *EntryInfo { |
|
return &EntryInfo{EntryMode: git.EntryModeTree, IsOpen: true} |
|
}
|
|
|