import "golang.org/x/text/internal/gen"
Package gen contains common code for the various code generation tools in the text repository. Its usage ensures consistency between tools.
This package defines command line flags that are common to most generation tools. The flags allow for specifying specific Unicode and CLDR versions in the public Unicode data repository (http://www.unicode.org/Public).
A local Unicode data mirror can be set through the flag -local or the environment variable UNICODE_DIR. The former takes precedence. The local directory should follow the same structure as the public repository.
IANA data can also optionally be mirrored by putting it in the iana directory rooted at the top of the local mirror. Beware, though, that IANA data is not versioned. So it is up to the developer to use the right version.
UnicodeVersion reports the requested CLDR version.
func Init()
Init performs common initialization for a gen command. It parses the flags and sets up the standard logging parameters.
IsLocal reports whether the user specified a local directory.
func Open(urlRoot, subdir, path string) io.ReadCloser
Open opens subdir/path if a local directory is specified and the file exists, where subdir is a directory relative to the local root, or fetches it from urlRoot/path otherwise. It will call log.Fatal if there are any errors.
func OpenCLDRCoreZip() io.ReadCloser
OpenCLDRCoreZip opens the CLDR core zip file. It will call log.Fatal if there are any errors.
func OpenIANAFile(path string) io.ReadCloser
OpenIANAFile opens the requested IANA file. The file is specified relative to the IANA root, which is typically either http://www.iana.org or the iana directory in the local mirror. It will call log.Fatal if there are any errors.
func OpenUCDFile(file string) io.ReadCloser
OpenUCDFile opens the requested UCD file. The file is specified relative to the public Unicode root directory. It will call log.Fatal if there are any errors.
func OpenUnicodeFile(category, version, file string) io.ReadCloser
OpenUnicodeFile opens the requested file of the requested category from the root of the Unicode data archive. The file is specified relative to the public Unicode root directory. If version is "", it will use the default Unicode version. It will call log.Fatal if there are any errors.
Repackage rewrites a Go file from belonging to package main to belonging to the given package.
UnicodeVersion reports the requested Unicode version.
WriteCLDRVersion writes a constant for the CLDR version from which the tables are generated.
WriteGo prepends a standard file comment and package statement to the given bytes, applies gofmt, and writes them to w.
WriteGoFile prepends a standard file comment and package statement to the given bytes, applies gofmt, and writes them to a file with the given name. It will call log.Fatal if there are any errors.
WriteUnicodeVersion writes a constant for the Unicode version from which the tables are generated.
type CodeWriter struct { Size int Hash hash.Hash32 // content hash // contains filtered or unexported fields }
CodeWriter is a utility for writing structured code. It computes the content hash and size of written content. It ensures there are newlines between written code blocks.
func NewCodeWriter() *CodeWriter
NewCodeWriter returns a new CodeWriter.
func (w *CodeWriter) Write(p []byte) (n int, err error)
func (w *CodeWriter) WriteArray(x interface{})
WriteArray writes an array value.
func (w *CodeWriter) WriteComment(comment string, args ...interface{})
WriteComment writes a comment block. All line starts are prefixed with "//". Initial empty lines are gobbled. The indentation for the first line is stripped from consecutive lines.
func (w *CodeWriter) WriteConst(name string, x interface{})
WriteConst writes a constant of the given name and value.
WriteGo appends the buffer with the total size of all created structures and writes it as a Go file to the the given writer with the given package name.
func (w *CodeWriter) WriteGoFile(filename, pkg string)
WriteGoFile appends the buffer with the total size of all created structures and writes it as a Go file to the the given file with the given package name.
func (w *CodeWriter) WriteSlice(x interface{})
WriteSlice writes a slice value.
func (w *CodeWriter) WriteString(s string)
WriteString writes a string literal.
func (w *CodeWriter) WriteType(x interface{}) string
WriteType writes a definition of the type of the given value and returns the type name.
func (w *CodeWriter) WriteVar(name string, x interface{})
WriteVar writes a variable of the given name and value.
Package gen imports 19 packages (graph) and is imported by 2 packages. Updated about 7 hours ago. Refresh now. Tools for package owners.