[mirror] Go text processing support
Clone or download
SamWhited and mpvl message/catalog: fix usage of plural in docs
Change-Id: I8389065aaccc59141e79f75ea43343a195fd3bae
Reviewed-on: https://go-review.googlesource.com/134255
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
Latest commit 905a571 Sep 9, 2018
Permalink
Failed to load latest commit information.
cases all: use https for links to www.unicode.org and unicode.org Aug 4, 2018
cmd/gotext cmd/gotext: fix "go format failed: invalid argument" Aug 9, 2018
collate all: use https for links to www.unicode.org and unicode.org Aug 4, 2018
currency internal: use Parent from compact and remove internal’s Mar 23, 2018
date internal: use Parent from compact and remove internal’s Mar 23, 2018
encoding encoding: regenerate tables Aug 7, 2018
feature/plural all: use https for links to www.unicode.org and unicode.org Aug 4, 2018
internal width, internal/number: regen files using new stringer Aug 5, 2018
language all: use https for links to www.unicode.org and unicode.org Aug 4, 2018
message message/catalog: fix usage of plural in docs Sep 11, 2018
number all: gofmt -w and remove execute bit from source files Dec 7, 2017
runes runes: added spanner implemenation Sep 20, 2016
search internal/gen: use new DO NOT EDIT comment standard. Mar 23, 2017
secure secure/precis: add missing strings, x/text/runes imports for 1.9 Jun 29, 2018
transform transformer: added Spanner interface Sep 14, 2016
unicode unicode/norm: move sync.Once check out of loop Aug 10, 2018
width width, internal/number: regen files using new stringer Aug 5, 2018
.gitattributes text: add .gitattributes (fixes windows build) Dec 23, 2014
.gitignore unicode/norm: fix disabled test Mar 22, 2017
AUTHORS go.text: create repository Mar 6, 2013
CONTRIBUTING.md CONTRIBUTING.md: remove note about not accepting Pull Requests Mar 14, 2018
CONTRIBUTORS go.text: create repository Mar 6, 2013
LICENSE go.text: create repository Mar 6, 2013
PATENTS go.text: create repository Mar 6, 2013
README.md all: use https for links to www.unicode.org and unicode.org Aug 4, 2018
codereview.cfg text: add codereview.cfg Mar 18, 2015
doc.go all: link to the "state of x/text" video Feb 8, 2018
gen.go internal: use Parent from compact and remove internal’s Mar 23, 2018

README.md

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,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

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.

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.

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.

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 https://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 https://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/text:" in the subject line, so it is easy to find.