Documentation

Overview

    Package interpolate provides a generic mechanism to interpolate variables into strings.

    Variables are specified in the form "${foo}". Values for the different variables are supplied by a VariableResolver function provided at render-time. Variable names can also be in the form "${foo:bar}" where everything after the ":" is the default value for that variable if the VariableResolver did not have a value for that variable.

    Example
    Output:
    
    My name is Inigo Montoya
    
    Example (Default)
    Output:
    
    My name is what
    

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    This section is empty.

    Types

    type String

    type String []term

      String is a string that supports interpolation given some source of variable values.

      A String can be obtained by calling Parse on a string.

      func Parse

      func Parse(data string) (out String, _ error)

        Parse parses a string for interpolation.

        Variables may be specified anywhere in the string in the format ${foo} or ${foo:default} where 'default' will be used if the variable foo was unset.

        func (String) Render

        func (s String) Render(resolve VariableResolver) (string, error)

          Render renders and returns the string. The provided VariableResolver will be used to determine values for the different variables mentioned in the string.

          func (String) RenderTo

          func (s String) RenderTo(w io.Writer, resolve VariableResolver) error

            RenderTo renders the string into the given writer. The provided VariableResolver will be used to determine values for the different variables mentioned in the string.

            type VariableResolver

            type VariableResolver func(name string) (value string, ok bool)

              VariableResolver resolves the value of a variable specified in the string.

              The boolean value indicates whether this variable had a value defined. If a variable does not have a value and no default is specified, rendering will fail.