strings

package
v1.9.0-beta.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2017 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Example (NoTrailingNewline)
ld := NewLineDelimiter(os.Stdout, "|")
defer ld.Flush()
fmt.Fprint(ld, "  Hello  \n  World  ")
Output:

|  Hello  |
|  World  |
Example (TrailingNewline)
ld := NewLineDelimiter(os.Stdout, "|")
defer ld.Flush()
fmt.Fprint(ld, "  Hello  \n  World  \n")
Output:

|  Hello  |
|  World  |
||

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func EscapePluginName

func EscapePluginName(in string) string

EscapePluginName converts a plugin name in the format vendor/pluginname into a proper ondisk vendor~pluginname plugin directory format.

func EscapeQualifiedNameForDisk

func EscapeQualifiedNameForDisk(in string) string

EscapeQualifiedNameForDisk converts a plugin name, which might contain a / into a string that is safe to use on-disk. This assumes that the input has already been validates as a qualified name. we use "~" rather than ":" here in case we ever use a filesystem that doesn't allow ":".

func JoinQualifiedName

func JoinQualifiedName(namespace, name string) string

Joins 'namespace' and 'name' and returns a fully qualified name Assumes that the input is valid.

func ShortenString

func ShortenString(str string, n int) string

Returns the first N slice of a string.

func SplitQualifiedName

func SplitQualifiedName(str string) (string, string)

Splits a fully qualified name and returns its namespace and name. Assumes that the input 'str' has been validated.

func UnescapePluginName

func UnescapePluginName(in string) string

UnescapePluginName converts a plugin directory name in the format vendor~pluginname into a proper vendor/pluginname.

func UnescapeQualifiedNameForDisk

func UnescapeQualifiedNameForDisk(in string) string

UnescapeQualifiedNameForDisk converts an escaped plugin name (as per EscapeQualifiedNameForDisk) back to its normal form. This assumes that the input has already been validates as a qualified name.

Types

type LineDelimiter added in v1.4.0

type LineDelimiter struct {
	// contains filtered or unexported fields
}

LineDelimiter is a filter that will split input on lines and bracket each line with the delimiter string.

func NewLineDelimiter added in v1.4.0

func NewLineDelimiter(output io.Writer, delimiter string) *LineDelimiter

NewLineDelimiter allocates a new io.Writer that will split input on lines and bracket each line with the delimiter string. This can be useful in output tests where it is difficult to see and test trailing whitespace.

func (*LineDelimiter) Flush added in v1.4.0

func (ld *LineDelimiter) Flush() (err error)

Flush all lines up until now. This will assume insert a linebreak at the current point of the stream.

func (*LineDelimiter) Write added in v1.4.0

func (ld *LineDelimiter) Write(buf []byte) (n int, err error)

Write writes buf to the LineDelimiter ld. The only errors returned are ones encountered while writing to the underlying output stream.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL