ref: 600047ff1cb95d061af1983b9a755157eb4941f8
parent: 5f2e1cb8969c2adac6c866b57cc331e1bc16d4e9
author: Cameron Moore <[email protected]>
date: Thu Sep 6 10:42:55 EDT 2018
source: Fix golint godoc issues
--- a/source/fileInfo.go
+++ b/source/fileInfo.go
@@ -34,6 +34,7 @@
_ ReadableFile = (*FileInfo)(nil)
)
+// File represents a source file.
type File interface {
// Filename gets the full path and filename to the file.
@@ -84,6 +85,7 @@
Open() (io.ReadCloser, error)
}
+// FileInfo describes a source file.
type FileInfo struct {
// Absolute filename to the file on disk.
@@ -112,31 +114,56 @@
lazyInit sync.Once
}
-func (fi *FileInfo) Filename() string { return fi.filename }
-func (fi *FileInfo) Path() string { return fi.relPath }
-func (fi *FileInfo) Dir() string { return fi.relDir }
-func (fi *FileInfo) Extension() string { return fi.Ext() }
-func (fi *FileInfo) Ext() string { return fi.ext }
-func (fi *FileInfo) Lang() string { return fi.lang }
-func (fi *FileInfo) LogicalName() string { return fi.name }
-func (fi *FileInfo) BaseFileName() string { return fi.baseName }
+// Filename returns a file's filename.
+func (fi *FileInfo) Filename() string { return fi.filename }
+
+// Path returns a file's relative path.
+func (fi *FileInfo) Path() string { return fi.relPath }
+
+// Dir returns a file's directory.
+func (fi *FileInfo) Dir() string { return fi.relDir }
+
+// Extension returns a file's extension.
+func (fi *FileInfo) Extension() string { return fi.Ext() }
+
+// Ext returns a file's extension without the leading period.
+func (fi *FileInfo) Ext() string { return fi.ext }
+
+// Lang returns a file's language.
+func (fi *FileInfo) Lang() string { return fi.lang }
+
+// LogicalName returns a file's name.
+func (fi *FileInfo) LogicalName() string { return fi.name }
+
+// BaseFileName returns a file's base name.
+func (fi *FileInfo) BaseFileName() string { return fi.baseName }
+
+// TranslationBaseName returns a file's translation base name.
func (fi *FileInfo) TranslationBaseName() string { return fi.translationBaseName }
+// Section returns a file's section.
func (fi *FileInfo) Section() string {
fi.init()
return fi.section
}
+// UniqueID returns a file's unique identifier.
func (fi *FileInfo) UniqueID() string {
fi.init()
return fi.uniqueID
}
-func (fi *FileInfo) FileInfo() os.FileInfo {
- return fi.fi
-}
+// FileInfo returns a file's underlying os.FileInfo.
+func (fi *FileInfo) FileInfo() os.FileInfo { return fi.fi }
+
func (fi *FileInfo) String() string { return fi.BaseFileName() }
+// Open implements ReadableFile.
+func (fi *FileInfo) Open() (io.ReadCloser, error) {
+ f, err := fi.sp.SourceFs.Open(fi.Filename())
+ return f, err
+}
+
// We create a lot of these FileInfo objects, but there are parts of it used only
// in some cases that is slightly expensive to construct.
func (fi *FileInfo) init() {
@@ -155,6 +182,7 @@
})
}
+// NewFileInfo returns a new FileInfo structure.
func (sp *SourceSpec) NewFileInfo(baseDir, filename string, isLeafBundle bool, fi os.FileInfo) *FileInfo {
var lang, translationBaseName, relPath string
@@ -216,12 +244,6 @@
return f
-}
-
-// Open implements ReadableFile.
-func (fi *FileInfo) Open() (io.ReadCloser, error) {
- f, err := fi.sp.SourceFs.Open(fi.Filename())
- return f, err
}
func printFs(fs afero.Fs, path string, w io.Writer) {
--- a/source/filesystem.go
+++ b/source/filesystem.go
@@ -24,6 +24,7 @@
"golang.org/x/text/unicode/norm"
)
+// Filesystem represents a source filesystem.
type Filesystem struct {
files []ReadableFile
filesInit sync.Once
@@ -33,14 +34,17 @@
SourceSpec
}
+// Input describes a source input.
type Input interface {
Files() []ReadableFile
}
+// NewFilesystem returns a new filesytem for a given source spec.
func (sp SourceSpec) NewFilesystem(base string) *Filesystem {
return &Filesystem{SourceSpec: sp, Base: base}
}
+// Files returns a slice of readable files.
func (f *Filesystem) Files() []ReadableFile {
f.filesInit.Do(func() {
f.captureFiles()
--- a/source/sourceSpec.go
+++ b/source/sourceSpec.go
@@ -76,6 +76,7 @@
}
+// IgnoreFile returns whether a given file should be ignored.
func (s *SourceSpec) IgnoreFile(filename string) bool {
if filename == "" {
if _, ok := s.SourceFs.(*afero.OsFs); ok {
@@ -109,6 +110,8 @@
return false
}
+// IsRegularSourceFile returns whether filename represents a regular file in the
+// source filesystem.
func (s *SourceSpec) IsRegularSourceFile(filename string) (bool, error) {
fi, err := helpers.LstatIfPossible(s.SourceFs, filename)
if err != nil {