dirs

package
v0.0.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2024 License: BSD-3-Clause Imports: 9 Imported by: 0

Documentation

Overview

Package dirs provides various utility functions in dealing with directories such as a list of all the files with a given (set of) extensions and finding paths within the Go source directory (GOPATH, etc)

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllFiles

func AllFiles(path string) ([]string, error)

AllFiles returns a slice of all the files, recursively, within a given directory Due to the nature of the filepath.Walk function, the first entry will be the directory itself, for reference -- just skip past that if you don't need it.

func DirAndFile

func DirAndFile(file string) string

DirAndFile returns the final dir and file name.

func DirFS

func DirFS(fpath string) (fs.FS, string, error)

DirFS returns the directory part of given file path as an os.DirFS and the filename as a string. These can then be used to access the file using the FS-based interface, consistent with embed and other use-cases.

func Dirs

func Dirs(path string) []string

Dirs returns a slice of all the directories within a given directory

func ExtFilenames

func ExtFilenames(path string, exts []string) []string

ExtFilenames returns all the file names with given extension(s) in directory in sorted order (if exts is empty then all files are returned)

func ExtFilenamesFS

func ExtFilenamesFS(fsys fs.FS, path string, exts ...string) []string

ExtFilenamesFS returns all the file names with given extension(s) in given FS filesystem, in sorted order (if exts is empty then all files are returned)

func ExtFiles

func ExtFiles(path string, exts []string) []fs.DirEntry

ExtFiles returns all the FileInfo's for files with given extension(s) in directory in sorted order (if exts is empty then all files are returned). In case of error, returns nil.

func FileExists

func FileExists(filePath string) (bool, error)

FileExists checks whether given file exists, returning true if so, false if not, and error if there is an error in accessing the file.

func FileExistsFS

func FileExistsFS(fsys fs.FS, filePath string) (bool, error)

FileExistsFS checks whether given file exists, returning true if so, false if not, and error if there is an error in accessing the file.

func FindFilesOnPaths

func FindFilesOnPaths(paths []string, files ...string) []string

FindFilesOnPaths attempts to locate given file(s) on given list of paths, returning the full Abs path to each file found (nil if none)

func GoSrcDir

func GoSrcDir(dir string) (absDir string, err error)

GoSrcDir tries to locate dir in GOPATH/src/ or GOROOT/src/pkg/ and returns its full path. GOPATH may contain a list of paths. From Robin Elkind github.com/mewkiz/pkg

func HasFile

func HasFile(path, file string) bool

HasFile returns true if given directory has given file (exact match)

func LatestMod

func LatestMod(path string, exts []string) time.Time

LatestMod returns the latest (most recent) modification time for any of the files in the directory (optionally filtered by extension(s) if exts != nil) if no files or error, returns zero time value

func RelFilePath

func RelFilePath(file, root string) string

RelFilePath returns the file name relative to given root file path, if it is under that root -- otherwise it returns the final dir and file name.

func SplitExt

func SplitExt(fname string) (fbase, ext string)

SplitExt returns the base of the file name without extension, and the extension

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL