...

Package runewidth

import "github.com/mattn/go-runewidth"
Overview
Index
Subdirectories

Overview ▾

Variables

var (
    // EastAsianWidth will be set true if the current locale is CJK
    EastAsianWidth bool

    // StrictEmojiNeutral should be set false if handle broken fonts
    StrictEmojiNeutral bool = true

    // DefaultCondition is a condition in current locale
    DefaultCondition = &Condition{
        EastAsianWidth:     false,
        StrictEmojiNeutral: true,
    }
)

func CreateLUT

func CreateLUT()

CreateLUT will create an in-memory lookup table of 557055 bytes for faster operation. This should not be called concurrently with other operations.

func FillLeft

func FillLeft(s string, w int) string

FillLeft return string filled in left by spaces in w cells

func FillRight

func FillRight(s string, w int) string

FillRight return string filled in left by spaces in w cells

func IsAmbiguousWidth

func IsAmbiguousWidth(r rune) bool

IsAmbiguousWidth returns whether is ambiguous width or not.

func IsEastAsian

func IsEastAsian() bool

IsEastAsian return true if the current locale is CJK

func IsNeutralWidth

func IsNeutralWidth(r rune) bool

IsNeutralWidth returns whether is neutral width or not.

func RuneWidth

func RuneWidth(r rune) int

RuneWidth returns the number of cells in r. See http://www.unicode.org/reports/tr11/

func StringWidth

func StringWidth(s string) (width int)

StringWidth return width as you can see

func Truncate

func Truncate(s string, w int, tail string) string

Truncate return string truncated with w cells

func TruncateLeft

func TruncateLeft(s string, w int, prefix string) string

TruncateLeft cuts w cells from the beginning of the `s`.

func Wrap

func Wrap(s string, w int) string

Wrap return string wrapped with w cells

type Condition

Condition have flag EastAsianWidth whether the current locale is CJK or not.

type Condition struct {
    EastAsianWidth     bool
    StrictEmojiNeutral bool
    // contains filtered or unexported fields
}

func NewCondition

func NewCondition() *Condition

NewCondition return new instance of Condition which is current locale.

func (*Condition) CreateLUT

func (c *Condition) CreateLUT()

CreateLUT will create an in-memory lookup table of 557056 bytes for faster operation. This should not be called concurrently with other operations on c. If options in c is changed, CreateLUT should be called again.

func (*Condition) FillLeft

func (c *Condition) FillLeft(s string, w int) string

FillLeft return string filled in left by spaces in w cells

func (*Condition) FillRight

func (c *Condition) FillRight(s string, w int) string

FillRight return string filled in left by spaces in w cells

func (*Condition) RuneWidth

func (c *Condition) RuneWidth(r rune) int

RuneWidth returns the number of cells in r. See http://www.unicode.org/reports/tr11/

func (*Condition) StringWidth

func (c *Condition) StringWidth(s string) (width int)

StringWidth return width as you can see

func (*Condition) Truncate

func (c *Condition) Truncate(s string, w int, tail string) string

Truncate return string truncated with w cells

func (*Condition) TruncateLeft

func (c *Condition) TruncateLeft(s string, w int, prefix string) string

TruncateLeft cuts w cells from the beginning of the `s`.

func (*Condition) Wrap

func (c *Condition) Wrap(s string, w int) string

Wrap return string wrapped with w cells

Subdirectories

Name Synopsis
..
script