1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // Copyright 2015 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- // Package format contains types for defining language-specific formatting of
- // values.
- //
- // This package is internal now, but will eventually be exposed after the API
- // settles.
- package format // import "golang.org/x/text/internal/format"
- import (
- "fmt"
- "golang.org/x/text/language"
- )
- // State represents the printer state passed to custom formatters. It provides
- // access to the fmt.State interface and the sentence and language-related
- // context.
- type State interface {
- fmt.State
- // Language reports the requested language in which to render a message.
- Language() language.Tag
- // TODO: consider this and removing rune from the Format method in the
- // Formatter interface.
- //
- // Verb returns the format variant to render, analogous to the types used
- // in fmt. Use 'v' for the default or only variant.
- // Verb() rune
- // TODO: more info:
- // - sentence context such as linguistic features passed by the translator.
- }
- // Formatter is analogous to fmt.Formatter.
- type Formatter interface {
- Format(state State, verb rune)
- }
|