finder

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package finder provide a finder tool for find files

Index

Constants

View Source
const (
	ExDotFile exDotFlag = 1
	ExDotDir  exDotFlag = 2
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DirFilter

type DirFilter interface {
	FilterDir(dirPath, dirName string) bool
}

DirFilter for filter dir path.

type DirFilterFunc

type DirFilterFunc func(dirPath, dirName string) bool

DirFilterFunc for filter file path.

func DirNameFilterFunc

func DirNameFilterFunc(names []string, include bool) DirFilterFunc

DirNameFilterFunc filter filepath by given dir names.

func DotDirFilterFunc

func DotDirFilterFunc(include bool) DirFilterFunc

DotDirFilterFunc filter dot dirname. eg: ".idea"

func (DirFilterFunc) FilterDir

func (fn DirFilterFunc) FilterDir(dirPath, dirName string) bool

FilterDir Filter for filter file path.

type FileFilter

type FileFilter interface {
	FilterFile(filePath, filename string) bool
}

FileFilter for filter file path.

type FileFilterFunc

type FileFilterFunc func(filePath, filename string) bool

FileFilterFunc for filter file path.

func DotFileFilterFunc

func DotFileFilterFunc(include bool) FileFilterFunc

DotFileFilterFunc filter dot filename. eg: ".gitignore"

func ExtFilterFunc

func ExtFilterFunc(exts []string, include bool) FileFilterFunc

ExtFilterFunc filter filepath by given file ext.

Usage:

f := EmptyFinder()
f.AddFilter(ExtFilterFunc([]string{".go", ".md"}, true))
f.AddFilter(ExtFilterFunc([]string{".log", ".tmp"}, false))

func GlobFilterFunc

func GlobFilterFunc(patterns []string, include bool) FileFilterFunc

GlobFilterFunc filter filepath by given patterns.

Usage:

f := EmptyFiler()
f.AddFilter(GlobFilterFunc([]string{"*_test.go"}, true))

func ModTimeFilterFunc

func ModTimeFilterFunc(limitSec int, op rune, include bool) FileFilterFunc

ModTimeFilterFunc filter file by modify time.

func PathNameFilterFunc

func PathNameFilterFunc(names []string, include bool) FileFilterFunc

PathNameFilterFunc filter filepath by given path names.

func RegexFilterFunc

func RegexFilterFunc(pattern string, _ bool) FileFilterFunc

RegexFilterFunc filter filepath by given regex pattern

Usage:

f := EmptyFiler()
f.AddFilter(RegexFilterFunc(`[A-Z]\w+`, true))

func SuffixFilterFunc

func SuffixFilterFunc(suffixes []string, include bool) FileFilterFunc

SuffixFilterFunc filter filepath by given file ext.

Usage:

f := EmptyFinder()
f.AddFilter(SuffixFilterFunc([]string{"util.go", ".md"}, true))
f.AddFilter(SuffixFilterFunc([]string{"_test.go", ".log"}, false))

func (FileFilterFunc) FilterFile

func (fn FileFilterFunc) FilterFile(filePath, filename string) bool

FilterFile Filter for filter file path.

type FileFinder

type FileFinder struct {
	// contains filtered or unexported fields
}

FileFinder struct

func EmptyFinder

func EmptyFinder() *FileFinder

EmptyFinder new empty FileFinder instance

func NewFinder

func NewFinder(dirPaths []string, filePaths ...string) *FileFinder

NewFinder new instance with source dir paths.

func (*FileFinder) AddDir

func (f *FileFinder) AddDir(dirPaths ...string) *FileFinder

AddDir add source dir for find. alias of AddDirPath()

func (*FileFinder) AddDirFilter

func (f *FileFinder) AddDirFilter(filterFuncs ...DirFilter) *FileFinder

AddDirFilter for filter file contents

func (*FileFinder) AddDirPath

func (f *FileFinder) AddDirPath(dirPaths ...string) *FileFinder

AddDirPath add source dir for find

func (*FileFinder) AddFile

func (f *FileFinder) AddFile(filePaths ...string) *FileFinder

AddFile add source file. alias of AddFilePath()

func (*FileFinder) AddFileFilter

func (f *FileFinder) AddFileFilter(filterFuncs ...FileFilter) *FileFinder

AddFileFilter for filter filepath

func (*FileFinder) AddFilePath

func (f *FileFinder) AddFilePath(filePaths ...string) *FileFinder

AddFilePath add source file

func (*FileFinder) AddFilePaths

func (f *FileFinder) AddFilePaths(filePaths []string)

AddFilePaths set founded files

func (*FileFinder) AddFilter

func (f *FileFinder) AddFilter(filterFuncs ...any) *FileFinder

AddFilter for filter filepath or dirpath

func (*FileFinder) Each

func (f *FileFinder) Each(fn func(filePath string))

Each file paths.

func (*FileFinder) EachContents

func (f *FileFinder) EachContents(fn func(contents, filePath string))

EachContents handle each found file contents

func (*FileFinder) EachFile

func (f *FileFinder) EachFile(fn func(file *os.File))

EachFile each file os.File

func (*FileFinder) EachStat

func (f *FileFinder) EachStat(fn func(fi os.FileInfo, filePath string))

EachStat each file os.FileInfo

func (*FileFinder) ExcludeDir

func (f *FileFinder) ExcludeDir(dirs ...string) *FileFinder

ExcludeDir exclude dir names.

func (*FileFinder) ExcludeDotDir

func (f *FileFinder) ExcludeDotDir(exclude ...bool) *FileFinder

ExcludeDotDir exclude dot dir names. eg: ".idea"

func (*FileFinder) ExcludeDotFile

func (f *FileFinder) ExcludeDotFile(exclude ...bool) *FileFinder

ExcludeDotFile exclude dot dir names. eg: ".gitignore"

func (*FileFinder) ExcludeName

func (f *FileFinder) ExcludeName(files ...string) *FileFinder

ExcludeName exclude file names.

func (*FileFinder) FilePaths

func (f *FileFinder) FilePaths() []string

FilePaths get

func (*FileFinder) Find

func (f *FileFinder) Find() *FileFinder

Find files in given dir paths.

func (*FileFinder) FindAll

func (f *FileFinder) FindAll() []string

FindAll find and return founded file paths.

func (*FileFinder) NoDotDir

func (f *FileFinder) NoDotDir(exclude ...bool) *FileFinder

NoDotDir exclude dot dir names. alias of ExcludeDotDir().

func (*FileFinder) NoDotFile

func (f *FileFinder) NoDotFile(exclude ...bool) *FileFinder

NoDotFile exclude dot dir names. alias of ExcludeDotFile().

func (*FileFinder) Reset

func (f *FileFinder) Reset()

Reset data setting.

func (*FileFinder) String

func (f *FileFinder) String() string

String all file paths

func (*FileFinder) WithDirFilter

func (f *FileFinder) WithDirFilter(filterFuncs ...DirFilter) *FileFinder

WithDirFilter for filter func for filtering file contents

func (*FileFinder) WithFileFilter

func (f *FileFinder) WithFileFilter(filterFuncs ...FileFilter) *FileFinder

WithFileFilter for filter func for filtering filepath

func (*FileFinder) WithFilter

func (f *FileFinder) WithFilter(filterFuncs ...any) *FileFinder

WithFilter add filter func for filtering filepath or dirpath

type FilterFunc

type FilterFunc func(filePath, filename string) bool

FilterFunc for filter file path.

func (FilterFunc) Filter

func (fn FilterFunc) Filter(filePath, filename string) bool

Filter for filter file path.

type FindResults

type FindResults struct {
	// contains filtered or unexported fields
}

FindResults struct

func (*FindResults) AddFilters

func (r *FindResults) AddFilters(filterFuncs ...FileFilter) *FindResults

AddFilters Result get find paths

func (*FindResults) Each

func (r *FindResults) Each() *FindResults

Each Result get find paths

func (*FindResults) Filter

func (r *FindResults) Filter() *FindResults

Filter Result get find paths

func (*FindResults) Result

func (r *FindResults) Result() []string

Result get find paths

Jump to

Keyboard shortcuts

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