common

package
v0.0.0-...-5ebed7b Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2023 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EXIT_CODE_UNDETERMINED_ERROR int = iota + 1
	EXIT_CODE_INVOCATION_ERROR
	EXIT_CODE_IO_ERROR
	EXIT_CODE_CONFIGURATION_ERROR
	EXIT_CODER_TRAVERSER_EXECUTION
)
View Source
const (
	ScreenWidth    = 100
	DoubleLineChar = "="
	SingleLineChar = "-"

	ResourceFileExtension                     = ".resource"
	ResourceFunctionTemplateSubstitutionToken = "%%RESOURCE_TOKEN%%"

	EnumUndefined = "ENUM_UNDEFINED"

	StringRepresentingEmptyString = "\"\""

	FlagLogLevel                 = "logLevel"
	FlagInputDir                 = "inputDir"
	FlagOutputDir                = "outputDir"
	FlagOverwriteOutput          = "overwriteOutput"
	FlagExcludeFiles             = "excludeFiles"
	FlagResourceFilePrefix       = "resourceFilePrefix"
	FlagResourceFileDelimiter    = "resourceFileDelimiter"
	FlagResourceFileSuffix       = "resourceFileSuffix"
	FlagResourceIndexStart       = "resourceIndexStart"
	FlagResourceIndexZeroPad     = "resourceIndexZeroPad"
	FlagResourceTokenPrefix      = "resourceTokenPrefix"
	FlagResourceFunctionTemplate = "resourceFunctionTemplate"

	UiLabelConfiguration                 = "Configuration"
	UiLabelGeneral                       = "General"
	UiLabelSourceCodeSpecific            = "Source code-specific"
	UiLabelFilesToProcess                = "Files to process"
	UiTemplateProcessingFile             = "Processing file: %s"
	UiTemplateOutputFile                 = "Output file: %s"
	UiTemplateInputDir                   = "Input directory               : %s"
	UiTemplateOutputDir                  = "Output directory              : %s"
	UiTemplateOverwriteOutput            = "Overwrite output              : %t"
	UiTemplateExcludesFile               = "Exclude files                 : %s"
	UiTemplateLogLevel                   = "Log level                     : %s"
	UiTemplatePackageidentifier          = "Package identifier            : %s"
	UiTemplateResourceFilePrefix         = "Resource file prefix          : %s"
	UiTemplateResourceFileDelimiter      = "Resource file delimiter       : %s"
	UiTemplateResourceFileSuffix         = "Resource file suffix          : %s"
	UiTemplateResourceIndexStart         = "Resource index start          : %d"
	UiTemplateResourceIndexZeroPad       = "Resource index zero pad       : %d"
	UiTemplateResourceTokenPrefix        = "Resource token prefix         : %s"
	UiTemplateResourceFunctionTemplate   = "Resource function template    : %s"
	UiTemplateStringDelimiter            = "String delimiter              : %+v"
	UiTemplateSingleLineDelimiter        = "Single line comment delimiter : %s"
	UiTemplateBlockCommentBeginDelimiter = "Block comment begin delimiter : %s"
	UiTemplateBlockCommentEndDelimiter   = "Block comment end delimiter   : %s"
	UiTemplateImportKeyword              = "Import keyword                : %s"
	UiTemplateImportBlockDelimiters      = "Import block delimiters       : %s ... %s"
	UiTemplateConstKeyword               = "Const keyword                 : %s"
	UiTemplateConstBlockDelimiters       = "Const block delimiters        : %s ... %s"

	UiTemplateDirCollision = "Directory collision: %s overlaps with %s"

	ErrorTemplateResourceFunctionMissingSubToken = "resource function template does not include %s : [%s]"
	ErrorTemplateInvocation                      = "invocation error: [%v]"
	ErrorTemplateUndeterminedExecution           = "undetermined execution error: [%v]"
	ErrorTemplateIo                              = "I/O error: [%v]"
	ErrorTemplateOutputDirAlreadyExists          = "output directory already exists: [%s]"
	ErrorTemplateFileRead                        = "error reading file: [%v]"
	ErrorTemplateFileWrite                       = "error writing file: [%v]"
	ErrorTemplateParseError                      = "parse error: [%+v]"
	ErrorTemplateTraverserExecution              = "error executing traverser: [%v]"

	LogTemplateCheckDirectoryCollision       = "checking for directory collision: [%s: %s vs. %s: %s]"
	LogTemplateExclusions                    = "exclude files: [%+v]"
	LogTemplateTextFileContents              = "text file contents: [%+v]"
	LogPrimaryDir                            = "primary directory"
	LogSecondaryDir                          = "secondary directory"
	LogTemplatePathsMatch                    = "paths match: [%s]"
	LogTemplatePathCollision                 = "path: [%s] collides with: [%s]"
	LogNoPathCollision                       = "paths do not collide"
	LogTemplateFileReadLine                  = "read file line: [%s]"
	LogTemplateFileWroteLine                 = "wrote file line: [%s]"
	LogTemplateFileTrimmedLine               = "trimmed file line: [%s]"
	LogTemplateDelimiterNotDetected          = "delimiter not detected : [%s]"
	LogTemplateDelimiterDetected             = "delimiter detected : [%s]"
	LogTemplateDelimiterPosition             = "delimiter detected at position: [%s -> %d]"
	LogTemplateLiteralsDetected              = "literals detected: [%+v]"
	LogLiteralsNotDetected                   = "no literals detected"
	LogTemplateProcessingLiteral             = "processing literal: [%s]"
	LogTemplateIgnoringEmptyLiteral          = "ignoring empty literal: [%s]"
	LogTemplatePackage                       = "identified package: [%s]"
	LogTemplateDirCreate                     = "creating directory: [%s]"
	LogTemplateDirRemove                     = "deleting directory: [%s]"
	LogTemplateFileOpen                      = "opening file: [%s]"
	LogTemplateFileClose                     = "closing file: [%s]"
	LogTemplateFileOutput                    = "outputting file: [%s]"
	LogTemplateFileSkip                      = "skipping file: [%s]"
	LogTemplateDirectorySkip                 = "skipping directory: [%s]"
	LogTemplateConfig                        = "config: [%+v]"
	LogTemplateSettingLogLevel               = "setting log level: [%v]"
	LogTemplateSetLogLevel                   = "set log level: [%v]"
	LogTemplateFileNotDirectory              = "path: [%s]  is file, not directory"
	LogTemplateDirectoryNotFile              = "path: [%s]  is directory, not file"
	LogTemplateDirectoryExist                = "path: [%s]  is directory: [%t]"
	LogTemplateFileExist                     = "path: [%s]  is file: [%t]"
	LogTemplateShouldParse                   = "code state: [%s -> %s], should parse: [%t]"
	LogTemplateResourceLookup                = "looking for resource: [%+v]"
	LogTemplateResourceFound                 = "found resource index: [%d<-%+v]"
	LogTemplateResourceGenerated             = "generated resource index: [%d<-%+v]"
	LogTemplateResourceTokenGenerated        = "generated resource index: [%d -> %s]"
	LogTemplateResourceFunctionCallGenerated = "generated resource function call: [%s -> %s]"
	LogTemplateResourceEntry                 = "resource file entry: [%s]"
)

Variables

This section is empty.

Functions

func CloseFile

func CloseFile(f *os.File)

func ConsolidateWhitespace

func ConsolidateWhitespace(line string) string

func DirectoryCollision

func DirectoryCollision(primaryDir string, secondaryDir string) (bool, error)

DirectoryCollision verifies that secondaryDir is not the same as, or a child of, primaryDir. Returns error if either directory path does not exist or is a file.

func DoubleLineToConsole

func DoubleLineToConsole()

func GetTextFileContents

func GetTextFileContents(fileName string) ([]string, error)

func IsDirectory

func IsDirectory(path string) (bool, error)

IsDirectory tests the supplied path to see if it is a directory An error is returned if there is an I/O failure or the path is a file

func LfToConsole

func LfToConsole()

func LogDebugf

func LogDebugf(message string, fields ...any)

func LogErrorf

func LogErrorf(message string, fields ...any)

func LogFatalf

func LogFatalf(message string, fields ...any)

func LogInfof

func LogInfof(message string, fields ...any)

func LogLevel

func LogLevel() zapcore.Level

func LogWarnf

func LogWarnf(message string, fields ...any)

func MkDirP

func MkDirP(path string) error

func OpenFileForAppend

func OpenFileForAppend(path string) (*os.File, error)

func OpenFileForOverwrite

func OpenFileForOverwrite(path string) (*os.File, error)

func OpenFileForRead

func OpenFileForRead(path string) (*os.File, error)

func RmDirP

func RmDirP(path string) error

func SetConfig

func SetConfig(c Config)

func SetLogLevel

func SetLogLevel(level string)

func SingleLineToConsole

func SingleLineToConsole()

func TraverseFilteredDirectoryTree

func TraverseFilteredDirectoryTree(dir string, filter []string, worker traverseWorker) error

Types

type Config

type Config struct {
	InputDir                 string
	OutputDir                string
	OverwriteOutput          bool
	ExcludeFile              string
	LogLevel                 string
	ResourceFilePrefix       string
	ResourceFileDelimiter    string
	ResourceFileSuffix       string
	ResourceIndexStart       uint64
	ResourceIndexZeroPad     uint8
	ResourceTokenPrefix      string
	ResourceFunctionTemplate string
	LanguageConfig           LanguageConfig
}

func GetConfig

func GetConfig() Config

type LanguageConfig

type LanguageConfig struct {
	PackageIdentifier          string
	StringDelimiter            string
	SingleLineCommentDelimiter string
	BlockCommentBeginDelimiter string
	BlockCommentEndDelimiter   string
	ImportKeyword              string
	ImportBlockBegin           string
	ImportBlockEnd             string
	ConstKeyword               string
	ConstBlockBegin            string
	ConstBlockEnd              string
}

func GoLanguageConfig

func GoLanguageConfig() LanguageConfig

GoLanguageConfig returns a LanguageConfig specific to Go(lang)

type ResourceInventory

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

func GetResourceInventory

func GetResourceInventory() *ResourceInventory

func (*ResourceInventory) GetIndexForResource

func (i *ResourceInventory) GetIndexForResource(pkg string, res string) (uint64, bool)

GetIndexForResource returns the index for the supplied resource If the resource is already known, the existing index is returned. If the resource is not already known, it is stored and a new index is generated and returned

func (*ResourceInventory) GetResourceFunctionCall

func (i *ResourceInventory) GetResourceFunctionCall(token string) string

func (*ResourceInventory) ResourceToken

func (i *ResourceInventory) ResourceToken(index uint64) string

Jump to

Keyboard shortcuts

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