Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/vendor/github.com/pelletier/go-toml
akuma06 a41f938cec Add Godep support (#758)
As we have seen, dependencies version can prevent the build. We should
user lock versions on dependencies that we know work:
* Packages are vendored
* Add Godep support
* Added addtional install step in readme
* Fix travis build error
2017-05-26 13:07:22 +02:00
..
.gitignore Add Godep support (#758) 2017-05-26 13:07:22 +02:00
.travis.yml Add Godep support (#758) 2017-05-26 13:07:22 +02:00
clean.sh Add Godep support (#758) 2017-05-26 13:07:22 +02:00
doc.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
example-crlf.toml Add Godep support (#758) 2017-05-26 13:07:22 +02:00
example.toml Add Godep support (#758) 2017-05-26 13:07:22 +02:00
keysparsing.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
lexer.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
LICENSE Add Godep support (#758) 2017-05-26 13:07:22 +02:00
marshal.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
marshal_test.toml Add Godep support (#758) 2017-05-26 13:07:22 +02:00
match.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
parser.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
position.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
query.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
querylexer.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
queryparser.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
README.md Add Godep support (#758) 2017-05-26 13:07:22 +02:00
test.sh Add Godep support (#758) 2017-05-26 13:07:22 +02:00
token.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
toml.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
tomltree_create.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00
tomltree_write.go Add Godep support (#758) 2017-05-26 13:07:22 +02:00

go-toml

Go library for the TOML format.

This library supports TOML version v0.4.0

GoDoc license Build Status Coverage Status Go Report Card

Features

Go-toml provides the following features for using data parsed from TOML documents:

  • Load TOML documents from files and string data
  • Easily navigate TOML structure using TomlTree
  • Line & column position data for all parsed elements
  • Query support similar to JSON-Path
  • Syntax errors contain line and column numbers

Go-toml is designed to help cover use-cases not covered by reflection-based TOML parsing:

  • Semantic evaluation of parsed TOML
  • Informing a user of mistakes in the source document, after it has been parsed
  • Programatic handling of default values on a case-by-case basis
  • Using a TOML document as a flexible data-store

Import

import "github.com/pelletier/go-toml"

Usage

Example

Say you have a TOML file that looks like this:

[postgres]
user = "pelletier"
password = "mypassword"

Read the username and password like this:

import (
    "fmt"
    "github.com/pelletier/go-toml"
)

config, err := toml.LoadFile("config.toml")
if err != nil {
    fmt.Println("Error ", err.Error())
} else {
    // retrieve data directly
    user := config.Get("postgres.user").(string)
    password := config.Get("postgres.password").(string)

    // or using an intermediate object
    configTree := config.Get("postgres").(*toml.TomlTree)
    user = configTree.Get("user").(string)
    password = configTree.Get("password").(string)
    fmt.Println("User is ", user, ". Password is ", password)

    // show where elements are in the file
    fmt.Println("User position: %v", configTree.GetPosition("user"))
    fmt.Println("Password position: %v", configTree.GetPosition("password"))

    // use a query to gather elements without walking the tree
    results, _ := config.Query("$..[user,password]")
    for ii, item := range results.Values() {
      fmt.Println("Query result %d: %v", ii, item)
    }
}

Documentation

The documentation and additional examples are available at godoc.org.

Tools

Go-toml provides two handy command line tools:

  • tomll: Reads TOML files and lint them.

    go install github.com/pelletier/go-toml/cmd/tomll
    tomll --help
    
  • tomljson: Reads a TOML file and outputs its JSON representation.

    go install github.com/pelletier/go-toml/cmd/tomljson
    tomljson --help
    

Contribute

Feel free to report bugs and patches using GitHub's pull requests system on pelletier/go-toml. Any feedback would be much appreciated!

Run tests

You have to make sure two kind of tests run:

  1. The Go unit tests
  2. The TOML examples base

You can run both of them using ./test.sh.

License

The MIT License (MIT). Read LICENSE.