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