Replace the section component from entries in favor of parser state
This commit is contained in:
parent
d68ddf1164
commit
01e7b4f450
21
ini.go
21
ini.go
|
@ -14,9 +14,8 @@ type Builder struct {
|
||||||
|
|
||||||
// Singular key-value pair under the given section within an INI file.
|
// Singular key-value pair under the given section within an INI file.
|
||||||
type Entry struct {
|
type Entry struct {
|
||||||
Section string
|
Key string
|
||||||
Key string
|
Value string
|
||||||
Value string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns the last error that occured during parsing.
|
// Returns the last error that occured during parsing.
|
||||||
|
@ -87,9 +86,8 @@ func (parser *Parser) Parse() Entry {
|
||||||
if assignmentIndex := strings.Index(line, "="); assignmentIndex > -1 {
|
if assignmentIndex := strings.Index(line, "="); assignmentIndex > -1 {
|
||||||
// Key with value.
|
// Key with value.
|
||||||
return Entry{
|
return Entry{
|
||||||
Section: parser.section,
|
Key: unquote(strings.TrimSpace(line[0:assignmentIndex])),
|
||||||
Key: unquote(strings.TrimSpace(line[0:assignmentIndex])),
|
Value: unquote(strings.TrimSpace(line[assignmentIndex+1:])),
|
||||||
Value: unquote(strings.TrimSpace(line[assignmentIndex+1:])),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,9 +95,8 @@ func (parser *Parser) Parse() Entry {
|
||||||
var keyValue = unquote(line[1:lineTail])
|
var keyValue = unquote(line[1:lineTail])
|
||||||
|
|
||||||
return Entry{
|
return Entry{
|
||||||
Section: parser.section,
|
Key: keyValue,
|
||||||
Key: keyValue,
|
Value: keyValue,
|
||||||
Value: keyValue,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,6 +114,12 @@ type Parser struct {
|
||||||
isEnd bool
|
isEnd bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns the name of the section last parsed, which will an empty string if currently in the
|
||||||
|
// default section.
|
||||||
|
func (parser *Parser) Section() string {
|
||||||
|
return parser.section
|
||||||
|
}
|
||||||
|
|
||||||
// Appends a new section titled `name` in the `builder`.
|
// Appends a new section titled `name` in the `builder`.
|
||||||
func (builder *Builder) Section(name string) error {
|
func (builder *Builder) Section(name string) error {
|
||||||
var _, printError = fmt.Fprintf(builder.writer, "[%s]\n", name)
|
var _, printError = fmt.Fprintf(builder.writer, "[%s]\n", name)
|
||||||
|
|
Loading…
Reference in New Issue