Documentation ¶
Index ¶
Constants ¶
const ( GitIgnore = ".gitignore" Ignore = ".ignore" GitModules = ".gitmodules" )
Variables ¶
var ErrTerminateWalk = errors.New("gocodewalker terminated")
ErrTerminateWalk error which indicates that the walker was terminated
Functions ¶
func FindRepositoryRoot ¶
FindRepositoryRoot given the supplied directory backwards looking for .git or .hg directories indicating we should start our search from that location as it's the root. Returns the first directory below supplied with .git or .hg in it otherwise the supplied directory
func GetExtension ¶
GetExtension is a custom version of extracting extensions for a file which deals with extensions specific to code such as .travis.yml and the like
func IsHiddenDirEntry ¶ added in v1.3.4
IsHiddenDirEntry is similar to IsHidden, excepts it accepts fs.DirEntry as its argument
Types ¶
type File ¶
File is a struct returned which contains the location and the filename of the file that passed all exclusion rules
type FileWalker ¶
type FileWalker struct { LocationExcludePattern []string // Case-sensitive patterns which exclude directory/file matches IncludeDirectory []string ExcludeDirectory []string // Paths to always ignore such as .git,.svn and .hg IncludeFilename []string ExcludeFilename []string IncludeDirectoryRegex []*regexp.Regexp // Must match regex as logical OR IE can match any of them ExcludeDirectoryRegex []*regexp.Regexp IncludeFilenameRegex []*regexp.Regexp ExcludeFilenameRegex []*regexp.Regexp AllowListExtensions []string // Which extensions should be allowed case sensitive ExcludeListExtensions []string // Which extensions should be excluded case sensitive IgnoreIgnoreFile bool // Should .ignore files be respected? IgnoreGitIgnore bool // Should .gitignore files be respected? IgnoreGitModules bool // Should .gitmodules files be respected? CustomIgnore []string // Custom ignore files IncludeHidden bool // Should hidden files and directories be included/walked MaxDepth int // contains filtered or unexported fields }
func NewFileWalker ¶
func NewFileWalker(directory string, fileListQueue chan *File) *FileWalker
NewFileWalker constructs a filewalker, which will walk the supplied directory and output File results to the supplied queue as it finds them
func NewParallelFileWalker ¶ added in v1.3.0
func NewParallelFileWalker(directories []string, fileListQueue chan *File) *FileWalker
NewParallelFileWalker constructs a filewalker, which will walk the supplied directories in parallel and output File results to the supplied queue as it finds them
func (*FileWalker) SetConcurrency ¶ added in v1.3.3
func (f *FileWalker) SetConcurrency(i int)
SetConcurrency sets the concurrency when walking which controls the number of goroutines that walk directories concurrently by default it is set to 8 must be a whole integer greater than 0
func (*FileWalker) SetErrorHandler ¶
func (f *FileWalker) SetErrorHandler(errors func(error) bool)
SetErrorHandler sets the function that is called on processing any error where if you return true it will attempt to continue processing, and if false will return the error instantly
func (*FileWalker) Start ¶
func (f *FileWalker) Start() error
Start will start walking the supplied directory with the supplied settings and putting files that mach into the supplied channel. Returns usual ioutil errors if there is a file issue and a ErrTerminateWalk if terminate is called while walking
func (*FileWalker) Terminate ¶
func (f *FileWalker) Terminate()
Terminate have the walker break out of walking and return as soon as it possibly can. This is needed because this walker needs to work in a TUI interactive mode and as such we need to be able to end old processes
func (*FileWalker) Walking ¶
func (f *FileWalker) Walking() bool
Walking gets the state of the file walker and determine if we are walking or not
Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
Package gitignore provides an interface for parsing .gitignore files, either individually, or within a repository, and matching paths against the retrieved patterns.
|
Package gitignore provides an interface for parsing .gitignore files, either individually, or within a repository, and matching paths against the retrieved patterns. |