text: golang.org/x/text/internal/gen Index | Files

package gen

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.

Index

Package Files

code.go gen.go

func CLDRVersion Uses

func CLDRVersion() string

UnicodeVersion reports the requested CLDR version.

func Init Uses

func Init()

Init performs common initialization for a gen command. It parses the flags and sets up the standard logging parameters.

func IsLocal Uses

func IsLocal() bool

IsLocal reports whether data files are available locally.

func Open Uses

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 Uses

func OpenCLDRCoreZip() io.ReadCloser

OpenCLDRCoreZip opens the CLDR core zip file. It will call log.Fatal if there are any errors.

func OpenIANAFile Uses

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 Uses

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 Uses

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.

func Repackage Uses

func Repackage(inFile, outFile, pkg string)

Repackage rewrites a Go file from belonging to package main to belonging to the given package.

func UnicodeVersion Uses

func UnicodeVersion() string

UnicodeVersion reports the requested Unicode version.

func WriteCLDRVersion Uses

func WriteCLDRVersion(w io.Writer)

WriteCLDRVersion writes a constant for the CLDR version from which the tables are generated.

func WriteGo Uses

func WriteGo(w io.Writer, pkg string, b []byte) (n int, err error)

WriteGo prepends a standard file comment and package statement to the given bytes, applies gofmt, and writes them to w.

func WriteGoFile Uses

func WriteGoFile(filename, pkg string, b []byte)

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.

func WriteUnicodeVersion Uses

func WriteUnicodeVersion(w io.Writer)

WriteUnicodeVersion writes a constant for the Unicode version from which the tables are generated.

type CodeWriter Uses

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 Uses

func NewCodeWriter() *CodeWriter

NewCodeWriter returns a new CodeWriter.

func (*CodeWriter) Write Uses

func (w *CodeWriter) Write(p []byte) (n int, err error)

func (*CodeWriter) WriteArray Uses

func (w *CodeWriter) WriteArray(x interface{})

WriteArray writes an array value.

func (*CodeWriter) WriteComment Uses

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 (*CodeWriter) WriteConst Uses

func (w *CodeWriter) WriteConst(name string, x interface{})

WriteConst writes a constant of the given name and value.

func (*CodeWriter) WriteGo Uses

func (w *CodeWriter) WriteGo(out io.Writer, pkg string) (n int, err error)

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 (*CodeWriter) WriteGoFile Uses

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 (*CodeWriter) WriteSlice Uses

func (w *CodeWriter) WriteSlice(x interface{})

WriteSlice writes a slice value.

func (*CodeWriter) WriteString Uses

func (w *CodeWriter) WriteString(s string)

WriteString writes a string literal.

func (*CodeWriter) WriteType Uses

func (w *CodeWriter) WriteType(x interface{}) string

WriteType writes a definition of the type of the given value and returns the type name.

func (*CodeWriter) WriteVar Uses

func (w *CodeWriter) WriteVar(name string, x interface{})

WriteVar writes a variable of the given name and value.

Package gen imports 21 packages (graph) and is imported by 2 packages. Updated 2017-08-15. Refresh now. Tools for package owners.