Documentation
¶
Index ¶
Constants ¶
const ( GitIgnore = ".gitignore" Ignore = ".ignore" )
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
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
GitIgnores []gitignore.GitIgnore
IgnoreIgnoreFile bool // Should .ignore files be respected?
IgnoreGitIgnore bool // Should .gitignore files be respected?
IncludeHidden bool // Should hidden files and directories be included/walked
// 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 (*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