2017-11-20 06:10:04 +01:00
|
|
|
# Go Text
|
|
|
|
|
|
|
|
This repository holds supplementary Go libraries for text processing, many involving Unicode.
|
|
|
|
|
|
|
|
## Semantic Versioning
|
|
|
|
This repo uses Semantic versioning (http://semver.org/), so
|
|
|
|
1. MAJOR version when you make incompatible API changes,
|
|
|
|
1. MINOR version when you add functionality in a backwards-compatible manner,
|
|
|
|
and
|
|
|
|
1. PATCH version when you make backwards-compatible bug fixes.
|
|
|
|
|
2017-12-16 20:25:18 +01:00
|
|
|
Until version 1.0.0 of x/text is reached, the minor version is considered a
|
|
|
|
major version. So going from 0.1.0 to 0.2.0 is considered to be a major version
|
|
|
|
bump.
|
2017-11-20 06:10:04 +01:00
|
|
|
|
|
|
|
A major new CLDR version is mapped to a minor version increase in x/text.
|
|
|
|
Any other new CLDR version is mapped to a patch version increase in x/text.
|
|
|
|
|
2017-12-16 20:25:18 +01:00
|
|
|
It is important that the Unicode version used in `x/text` matches the one used
|
|
|
|
by your Go compiler. The `x/text` repository supports multiple versions of
|
|
|
|
Unicode and will match the version of Unicode to that of the Go compiler. At the
|
|
|
|
moment this is supported for Go compilers from version 1.7.
|
|
|
|
|
2017-11-20 06:10:04 +01:00
|
|
|
## Download/Install
|
|
|
|
|
|
|
|
The easiest way to install is to run `go get -u golang.org/x/text`. You can
|
|
|
|
also manually git clone the repository to `$GOPATH/src/golang.org/x/text`.
|
|
|
|
|
|
|
|
## Contribute
|
|
|
|
To submit changes to this repository, see http://golang.org/doc/contribute.html.
|
|
|
|
|
|
|
|
To generate the tables in this repository (except for the encoding tables),
|
|
|
|
run go generate from this directory. By default tables are generated for the
|
|
|
|
Unicode version in core and the CLDR version defined in
|
|
|
|
golang.org/x/text/unicode/cldr.
|
|
|
|
|
|
|
|
Running go generate will as a side effect create a DATA subdirectory in this
|
|
|
|
directory, which holds all files that are used as a source for generating the
|
|
|
|
tables. This directory will also serve as a cache.
|
|
|
|
|
|
|
|
## Testing
|
|
|
|
Run
|
|
|
|
|
|
|
|
go test ./...
|
|
|
|
|
|
|
|
from this directory to run all tests. Add the "-tags icu" flag to also run
|
|
|
|
ICU conformance tests (if available). This requires that you have the correct
|
|
|
|
ICU version installed on your system.
|
|
|
|
|
|
|
|
TODO:
|
|
|
|
- updating unversioned source files.
|
|
|
|
|
|
|
|
## Generating Tables
|
|
|
|
|
|
|
|
To generate the tables in this repository (except for the encoding
|
|
|
|
tables), run `go generate` from this directory. By default tables are
|
|
|
|
generated for the Unicode version in core and the CLDR version defined in
|
|
|
|
golang.org/x/text/unicode/cldr.
|
|
|
|
|
|
|
|
Running go generate will as a side effect create a DATA subdirectory in this
|
|
|
|
directory which holds all files that are used as a source for generating the
|
|
|
|
tables. This directory will also serve as a cache.
|
|
|
|
|
|
|
|
## Versions
|
|
|
|
To update a Unicode version run
|
|
|
|
|
|
|
|
UNICODE_VERSION=x.x.x go generate
|
|
|
|
|
|
|
|
where `x.x.x` must correspond to a directory in http://www.unicode.org/Public/.
|
|
|
|
If this version is newer than the version in core it will also update the
|
|
|
|
relevant packages there. The idna package in x/net will always be updated.
|
|
|
|
|
|
|
|
To update a CLDR version run
|
|
|
|
|
|
|
|
CLDR_VERSION=version go generate
|
|
|
|
|
|
|
|
where `version` must correspond to a directory in
|
|
|
|
http://www.unicode.org/Public/cldr/.
|
|
|
|
|
|
|
|
Note that the code gets adapted over time to changes in the data and that
|
|
|
|
backwards compatibility is not maintained.
|
|
|
|
So updating to a different version may not work.
|
|
|
|
|
|
|
|
The files in DATA/{iana|icu|w3|whatwg} are currently not versioned.
|
|
|
|
|
|
|
|
## Report Issues / Send Patches
|
|
|
|
|
|
|
|
This repository uses Gerrit for code changes. To learn how to submit changes to
|
|
|
|
this repository, see https://golang.org/doc/contribute.html.
|
|
|
|
|
|
|
|
The main issue tracker for the image repository is located at
|
|
|
|
https://github.com/golang/go/issues. Prefix your issue with "x/image:" in the
|
|
|
|
subject line, so it is easy to find.
|