xid
uniseg
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
xid
-
Go 1.16 Release Notes
I do care about categorization though. Here’s an identifier parsing library of mine (https://github.com/smasher164/xid) where I can’t test that codepoints are in some category without knowing the version.
If unicode was an external library, it would be my responsibility to update this identifier parsing library.
uniseg
- Should unicode/utf8 have funcs for graphemes?
-
UTF-8 strings with Go: len(s) isn't enough
So far, I've found this package for Unicode text segmentation: https://github.com/rivo/uniseg
-
Why do we get byte and rube when iterating a string using for loop or for range respectivly?
Ah this is an intreresting one. I’ve recently had to deal with graphemes and after learning a bit more about them with a coworker, was surprised to find there doesn’t seem to be native support for them in Golang. Does anyone know if support for dealing with graphemes will be added eventually? For the moment I’ve used https://github.com/rivo/uniseg
-
FYI: a single Go rune is not the same as a single visible character
Yes, what you want is called a grapheme cluster. It faithfully represents one "visible" character in your terminal. Use something like https://github.com/rivo/uniseg to turn a string into graphemes and iterate over them.
-
Strings in Go
There is an open source library github.com/rivo/uniseg that provides a function to do just this. It provides a function GraphemeClusterCount that returns the number of characters that is present in this string. Check out the source code on Github for details about the author and the implementation.
What are some alternatives?
modd - A flexible developer tool that runs processes and responds to filesystem changes
go - The Go programming language
watchr - watchr - file watcher in Go that triggers predefined actions on detected files modifications
go-edlib - 📚 String comparison and edit distance algorithms library, featuring : Levenshtein, LCS, Hamming, Damerau levenshtein (OSA and Adjacent transpositions algorithms), Jaro-Winkler, Cosine, etc...
gin - Live reload utility for Go web servers
ecoji - Encodes (and decodes) data as emojis
devd - A local webserver for developers
golang-docker-cache - Improved docker Golang module dependency cache for faster builds.