tinyini

package module
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2022 License: Apache-2.0 Imports: 5 Imported by: 2

README

tinyini

tinyini is a minimalistic library for parsing INI-like configuration files. For example this is a valid tinyini configuration file:

globalkey = globalvalue
[section]
key = first-value
key = second-value
empty=
anotherkey = "  has whitespace   "

Documentation

Overview

package tinyini provides an extremely bare-bones library for parsing INI-like configuration files. For details, see the documentation for function Parse.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Parse

func Parse(r io.Reader) (result map[string]Section, errs []error)

Parse will produce a map of Section from an io.Reader. The caller should note that Parse returns a slice of errors in the order of occurrence, so the condition for success is len(errs) == 0.

Parse will parse as much as possible even when encountering errors, so result may contain something useful even if len(errs) > 0.

The global section is given with the empty section name`""`. Otherwise the ection names will be whatever valid UTF-8 is found between the brackets `[` and `]`.

Parse ignores whitespace around section headers, keys, and non-quoted values. If the value should contain whitespace in its beginning or end, enclose the whole value in quotes (`" value with whitespaces "`).

Quotes may be contained in quoted values by escaping them like `\"`. No quoted expression is handled by Parse, that is, it will return the raw value verbatim.

Types

type IniError

type IniError struct {
	Line int
	// contains filtered or unexported fields
}

IniError describes a parsing error and provides its line number.

func (*IniError) Error

func (i *IniError) Error() string

func (*IniError) Unwrap

func (i *IniError) Unwrap() error

type Section

type Section map[string][]string

Section contains all configuration key-values of a single bracketed section ("[example-section]"). All key-values may contain multiple values. The values are given in the order of occurrence.

Jump to

Keyboard shortcuts

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