Ecosyste.ms: Repos
An open API service providing repository metadata for many open source software ecosystems.
Package Usage: go: github.com/rivo/uniseg
Package uniseg implements Unicode Text Segmentation, Unicode Line Breaking, and
string width calculation for monospace fonts. Unicode Text Segmentation conforms
to Unicode Standard Annex #29 (https://unicode.org/reports/tr29/) and Unicode
Line Breaking conforms to Unicode Standard Annex #14
(https://unicode.org/reports/tr14/).
In short, using this package, you can split a string into grapheme clusters
(what people would usually refer to as a "character"), into words, and into
sentences. Or, in its simplest case, this package allows you to count the number
of characters in a string, especially when it contains complex characters such
as emojis, combining characters, or characters from Asian, Arabic, Hebrew, or
other languages. Additionally, you can use it to implement line breaking (or
"word wrapping"), that is, to determine where text can be broken over to the
next line when the width of the line is not big enough to fit the entire text.
Finally, you can use it to calculate the display width of a string for monospace
fonts.
If you just want to count the number of characters in a string, you can use
GraphemeClusterCount. If you want to determine the display width of a string,
you can use StringWidth. If you want to iterate over a string, you can use
Step, StepString, or the Graphemes class (more convenient but less
performant). This will provide you with all information: grapheme clusters,
word boundaries, sentence boundaries, line breaks, and monospace character
widths. The specialized functions FirstGraphemeCluster,
FirstGraphemeClusterInString, FirstWord, FirstWordInString,
FirstSentence, and FirstSentenceInString can be used if only one type of
information is needed.
Consider the rainbow flag emoji: ๐ณ๏ธโ๐. On most modern systems, it appears as one
character. But its string representation actually has 14 bytes, so counting
bytes (or using len("๐ณ๏ธโ๐")) will not work as expected. Counting runes won't,
either: The flag has 4 Unicode code points, thus 4 runes. The stdlib function
utf8.RuneCountInString("๐ณ๏ธโ๐") and len([]rune("๐ณ๏ธโ๐")) will both return 4.
The GraphemeClusterCount function will return 1 for the rainbow flag emoji.
The Graphemes class and a variety of functions in this package will allow you to
split strings into its grapheme clusters.
Word boundaries are used in a number of different contexts. The most familiar
ones are selection (double-click mouse selection), cursor movement ("move to
next word" control-arrow keys), and the dialog option "Whole Word Search" for
search and replace. This package provides methods for determining word
boundaries.
Sentence boundaries are often used for triple-click or some other method of
selecting or iterating through blocks of text that are larger than single words.
They are also used to determine whether words occur within the same sentence in
database queries. This package provides methods for determining sentence
boundaries.
Line breaking, also known as word wrapping, is the process of breaking a section
of text into lines such that it will fit in the available width of a page,
window or other display area. This package provides methods to determine the
positions in a string where a line must be broken, may be broken, or must not be
broken.
Monospace width, as referred to in this package, is the width of a string in a
monospace font. This is commonly used in terminal user interfaces or text
displays or editors that don't support proportional fonts. A width of 1
corresponds to a single character cell. The C function wcswidth() and its
implementation in other programming languages is in widespread use for the same
purpose. However, there is no standard for the calculation of such widths, and
this package differs from wcswidth() in a number of ways, presumably to generate
more visually pleasing results.
To start, we assume that every code point has a width of 1, with the following
exceptions:
For Hangul grapheme clusters composed of conjoining Jamo and for Regional
Indicators (flags), all code points except the first one have a width of 0. For
grapheme clusters starting with an Extended Pictographic, any additional code
point will force a total width of 2, except if the Variation Selector-15
(U+FE0E) is included, in which case the total width is always 1. Grapheme
clusters ending with Variation Selector-16 (U+FE0F) have a width of 2.
Note that whether these widths appear correct depends on your application's
render engine, to which extent it conforms to the Unicode Standard, and its
choice of font.
12 versions
Latest release: over 1 year ago
13,772 dependent packages
View more package details: https://packages.ecosyste.ms/registries/proxy.golang.org/packages/github.com/rivo/uniseg
View more repository details: https://repos.ecosyste.ms/hosts/GitHub/repositories/rivo%2Funiseg
Dependent Repos 25,930
admariner/jitsu Fork of jitsucom/jitsu
Jitsu is an open-source data integration platform- v0.2.0 configurator/backend/go.mod
- v0.1.0 configurator/backend/go.sum
- v0.2.0 configurator/backend/go.sum
- v0.2.0 server/go.mod
- v0.1.0 server/go.sum
- v0.2.0 server/go.sum
Size: 29.4 MB - Last synced: 6 days ago - Pushed: 11 months ago
vearutop/cache-story
Demo repository for a blog post.- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 4.59 MB - Last synced: 3 months ago - Pushed: 3 months ago
ossf/scorecard-action
Official GitHub Action for OpenSSF Scorecard.- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 6.45 MB - Last synced: 12 days ago - Pushed: 13 days ago
zeromike/syft Fork of anchore/syft
CLI tool and library for generating a Software Bill of Materials from container images and filesystems- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 10.4 MB - Last synced: about 1 year ago - Pushed: almost 2 years ago
aberja/argo Fork of argoproj/argo-workflows
Argo Workflows: Get stuff done with Kubernetes.- v0.1.0 go.sum
Size: 67.2 MB - Last synced: about 1 year ago - Pushed: about 1 year ago
krasish/test-infra Fork of kyma-project/test-infra
Test infrastructure for the Kyma project.- v0.2.0 development/gcp/cloud-functions/getfailureinstancedetails/go.sum
- v0.2.0 go.sum
Size: 15.3 MB - Last synced: about 1 year ago - Pushed: about 1 year ago
ryanlycch/go-zero-looklook Fork of Mikaelemmmm/go-zero-looklook
๐ฅๅบไบgo-zero(go zero) ๅพฎๆๅกๅ จๆๆฏๆ ๅผๅๆไฝณๅฎ่ทต้กน็ฎใDevelop best practice projects based on the full technology stack of go zero (go zero) microservices.- v0.2.0 go.sum
Size: 101 MB - Last synced: about 2 months ago - Pushed: about 2 months ago
HazemBittar/gotestwaf Fork of wallarm/gotestwaf
An open-source project in Golang to test different web application firewalls (WAF) for detection logic and bypasses- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 9.74 MB - Last synced: about 1 year ago - Pushed: over 1 year ago
observIQ/grafana-agent Fork of grafana/agent
Telemetry agent for the LGTM stack.- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 48.3 MB - Last synced: 6 months ago - Pushed: 6 months ago
sourcegraph/lsif-go ๐ฆ
Language Server Indexing Format (LSIF) generator for Go- v0.1.0 go.sum
Size: 1.89 MB - Last synced: 18 days ago - Pushed: 8 months ago
mdisibio/tempo Fork of grafana/tempo
Grafana Tempo is a high volume, minimal dependency trace storage.- v0.2.0 cmd/tempo-serverless/cloud-run/go.mod
- v0.2.0 cmd/tempo-serverless/cloud-run/go.sum
- v0.2.0 cmd/tempo-serverless/lambda/go.mod
- v0.2.0 cmd/tempo-serverless/lambda/go.sum
- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 139 MB - Last synced: 5 days ago - Pushed: 6 days ago
antonyggvzvmnxxcx/linkerd2 Fork of linkerd/linkerd2
Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 33.5 MB - Last synced: about 1 year ago - Pushed: about 1 year ago
Youngermaster/Learning-Programming-Languages
This repository contains files from different programming languages that I have used to learn them.- v0.2.0 Go/web-servers/fiber-hello-world/go.mod
- v0.2.0 Go/web-servers/fiber-hello-world/go.sum
- v0.4.3 Go/web-servers/go-react-mongo/go.mod
- v0.2.0 Go/web-servers/go-react-mongo/go.sum
- v0.4.3 Go/web-servers/go-react-mongo/go.sum
Size: 25.3 MB - Last synced: about 1 month ago - Pushed: about 1 month ago
rancher-max/rancher Fork of rancher/rancher
Complete container management platform- v0.2.0 go.sum
- v0.2.0 go.mod
Size: 131 MB - Last synced: about 2 months ago - Pushed: about 2 months ago
eminatabey/workshop_golang_fiber_corrig-
- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 9.77 KB - Last synced: 4 months ago - Pushed: about 1 year ago
paketo-buildpacks/go
A Cloud Native Buildpack for Go- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 82.6 MB - Last synced: 4 days ago - Pushed: 10 days ago
paketo-buildpacks/dotnet-core
A Cloud Native Buildpack for .NET Core- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 134 MB - Last synced: 4 days ago - Pushed: 10 days ago
Zondax/rosetta-filecoin-lib
- v0.1.0 go.sum
Size: 337 KB - Last synced: about 1 month ago - Pushed: about 1 month ago
fe3dback/span-terminal
Log to stdout (redraw box). Each span has own line with latest text. Span working like in tracing- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 30.3 KB - Last synced: 10 days ago - Pushed: almost 2 years ago
RafaySystems/terraform-provider-rafay
Rafay terraform provider- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 5.05 MB - Last synced: 4 days ago - Pushed: 5 days ago
Boroda76/go_service_naked
- v0.1.0 go.sum
Size: 791 KB - Last synced: about 1 month ago - Pushed: about 1 year ago
planetscale/cli
The CLI for PlanetScale Database- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 5.54 MB - Last synced: about 1 month ago - Pushed: about 1 month ago
outscale/cluster-api-provider-outscale
- v0.2.0 go.sum
Size: 15.6 MB - Last synced: 11 days ago - Pushed: 11 days ago
auliawiguna/goshaka-starter
REST API boilerplate using Go, Fiber Framework, JWT, GORM, Swagger, Rate Limiter- v0.4.3 go.mod
- v0.2.0 go.sum
- v0.4.3 go.sum
Size: 9.16 MB - Last synced: 10 months ago - Pushed: about 1 year ago
Skarlso/slides Fork of maaslalani/slides
Terminal based presentation tool- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 1.06 MB - Last synced: 13 days ago - Pushed: 13 days ago
Seanstoppable/wtf Fork of wtfutil/wtf
The personal information dashboard for your terminal.- v0.1.0 go.mod
- v0.1.0 go.sum
Size: 47.6 MB - Last synced: 11 months ago - Pushed: about 1 year ago
leoluz/argo-rollouts Fork of argoproj/argo-rollouts
Progressive Delivery for Kubernetes- v0.1.0 go.sum
Size: 25.8 MB - Last synced: about 1 month ago - Pushed: about 1 year ago
SpatiumPortae/portal
Portal is a quick and easy command-line file transfer utility from any computer to another ๐ โจ- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 16 MB - Last synced: 6 days ago - Pushed: 14 days ago
ekmixon/istio Fork of istio/istio
Connect, secure, control, and observe services.- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 199 MB - Last synced: 4 days ago - Pushed: 4 days ago
pulumi/pulumi-kubernetes-operator
A Kubernetes Operator that automates the deployment of Pulumi Stacks- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 1.68 MB - Last synced: 13 days ago - Pushed: 14 days ago
Blake8868/mvm Fork of MetisProtocol/mvm
A hard fork of the Optimistic Ethereum protocol (optimism.io)- v0.2.0 l2geth/go.sum
Size: 27.1 MB - Last synced: about 1 year ago - Pushed: over 1 year ago
choria-io/provisioner
Choria Server Provisioning System- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 4.6 MB - Last synced: 2 months ago - Pushed: 3 months ago
sigstore/rekor-monitor
Log monitor for Rekor to verify immutability and monitor entries- v0.2.0 go.sum
- v0.2.0 go.mod
Size: 1.29 MB - Last synced: 5 days ago - Pushed: 6 days ago
codeboten/opentelemetry-lambda Fork of open-telemetry/opentelemetry-lambda
- v0.1.0 collector/go.sum
- v0.1.0 collector/lambdacomponents/go.sum
Size: 1.59 MB - Last synced: 8 months ago - Pushed: 8 months ago
mclarke47/argo-rollouts Fork of argoproj/argo-rollouts
Progressive Delivery for Kubernetes- v0.1.0 go.sum
Size: 11.8 MB - Last synced: about 1 month ago - Pushed: over 1 year ago
overline-mining/gool
it's scary- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 957 KB - Last synced: 8 days ago - Pushed: 9 days ago
chef/chef-analyze
A CLI to analyze artifacts from a Chef Infra Server- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 14.8 MB - Last synced: 3 months ago - Pushed: 6 months ago
MaximilianSoerenPollak/todotui
A first GO project to practice the language as well as working together.- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 39.1 KB - Last synced: 4 months ago - Pushed: 10 months ago
twsnmp/TWLogAIAN
TWSNMP`s Log AI Analyzer- v0.2.0 go.sum
- v0.4.3 go.sum
- v0.4.3 go.mod
Size: 34.3 MB - Last synced: 25 days ago - Pushed: 11 months ago
vdavalon01/plumber Fork of streamdal/plumber
A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.- v0.2.0 go.mod
- v0.1.0 go.sum
- v0.2.0 go.sum
Size: 43.3 MB - Last synced: 10 months ago - Pushed: 10 months ago
datalayer-externals/flux Fork of fluxcd/flux2
Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.- v0.2.0 go.mod
- v0.2.0 go.sum
Size: 7.18 MB - Last synced: 21 days ago - Pushed: 21 days ago
pickkaa/berty Fork of berty/berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network- v0.1.0 go.sum
- v0.1.0 tool/go.sum
Size: 84.2 MB - Last synced: 24 days ago - Pushed: about 1 year ago
tts-tblock/kubernetes-client Fork of fabric8io/kubernetes-client
Java client for Kubernetes & OpenShift- v0.1.0 kubernetes-model-generator/go.sum
Size: 449 MB - Last synced: about 1 year ago - Pushed: about 1 year ago