mattn / go-runewidth

wcwidth for golang
MIT License
609 stars 94 forks source link

Support Go Modules #26

Closed SamWhited closed 5 years ago

SamWhited commented 5 years ago

Hello,

Please consider supporting Go Modules, the new packaging standard that will be adopted fully in Go 1.12. Experimental support is in Go 1.11 and the new module paths are supported in Go 1.9.7+ and Go 1.10.3+ in a read-only manner for backwards compatibility with all supported versions of Go (although the import path doesn't change with this library, so it doesn't matter much here).

Because this library has no external dependencies, is still below version 2, and is already tagging its releases using semver compatible tags, not much changes in the library itself except to declare the canonical import path and the language being used in a go.mod file. I picked Go 1.9 as the language being used because running tests with 1.9 appeared to work, and that's the earliest version that has some basic support for modules backported into it. Since only things using modules will read this file (and everything else will work exactly as it always had), that seemed like a safe bet for maximum compatibility. If you only support some higher version of Go and want to use features or APIs in a higher version this can be changed easily, of course.

Thank you for your consideration.

coveralls commented 5 years ago

Coverage Status

Coverage remained the same at 100.0% when pulling b07c873eea273a1ca39e4d003485a3926e952967 on SamWhited:support_modules into 3ee7d812e62a0804a7d0a324e0249ca2db3476d3 on mattn:master.

mattn commented 5 years ago

Thank you

SamWhited commented 5 years ago

Sure thing; thanks for the merge. If you're not planning on making any changes soon, please consider tagging a new release with just this go.mod file in it; this will allow Go Module users to go ahead and pin to specific semver version that has the go.mod file instead of using the v0.0.0_date_commit magic version format.

Thanks again!