text

module
v0.0.0-...-48b9394 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2013 License: BSD-3-Clause

README

columnswriter


import "github.com/FreekKalter/text/columnswriter"

Package columnswriter imlements a write filter that prints evenly distributed columns fitted to current terminal window size.

TYPES

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

New
func New(output io.Writer, inputSep rune, minWidth, padding int) *Writer

Create a writer object with specified values, see Init for explanation of paramaters.

Flush
func (w *Writer) Flush()

Does the actual printing, always call this after everthing you want to print has been printed.

Example:
	// Print to stdout, input separated by spaces, no min widht, 2 spaces padding
	w := New(os.Stdout, ' ', 0, 2)
	w.nrTerminalColumns = 80 //for testing purposes, not necessary in real world
	
	fmt.Fprintln(w, `This is a test that has a lot of words and treats every `)
	fmt.Fprintln(w, `word as a column.`)
	fmt.Fprintln(w, `It should print nicely formatted columns similar to ls `)
	fmt.Fprintln(w, `directory lisings on nix systems.`)
	
	w.Flush()
	
	// Output:
	// This     is     a       test       that     has      a   lot      of
	// words    and    treats  every      word     as       a   column.  It
	// should   print  nicely  formatted  columns  similar  to  ls       directory
	// lisings  on     nix     systems.

Init
func (w *Writer) Init(output io.Writer, inputSep rune, minWidth, padding int) *Writer

A Writer must be initialized with a call to Init. The first pararmater (output) specifies the filter output. The inputSep is the character by wich each field is seperated in the input later on.

minWidth: Is the minimum widht of a column
padding:  The number of spaces between columns
Write
func (w *Writer) Write(buf []byte) (n int, err error)

Implements Writer interface, so you can call it with the whole Fprint family

Copyright (c) 2013 Freek Kalter. All rights reserved. See the LICENSE file.

Directories

Path Synopsis
Package columnswriter imlements a write filter that prints evenly distributed columns fitted to current terminal window size.
Package columnswriter imlements a write filter that prints evenly distributed columns fitted to current terminal window size.
Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.
Package tabwriter implements a write filter (tabwriter.Writer) that translates tabbed columns in input into properly aligned text.

Jump to

Keyboard shortcuts

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