diff options
author | Glenn Vriesman <glenn.vriesman@gmail.com> | 2019-11-10 13:16:17 +0100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2019-11-10 23:23:20 +1100 |
commit | 3f7e107d09a675b28783584d3643ee112206d905 (patch) | |
tree | d8622a53c93e2d89e9e3ddf1b0a647a28b6fa752 /vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go | |
parent | 22c0d79e2dbb8a6792664e1a56fa91f28592bbc0 (diff) |
Vendor: Updated dependenciesv0.10.2
* Updated go.mod
* Updated go.sum
* Updated vendor packages
Signed-off-by: Glenn Vriesman <glenn.vriesman@gmail.com>
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go')
-rw-r--r-- | vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go new file mode 100644 index 000000000..da7a4049c --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/internal/ini/skipper.go @@ -0,0 +1,45 @@ +package ini + +// skipper is used to skip certain blocks of an ini file. +// Currently skipper is used to skip nested blocks of ini +// files. See example below +// +// [ foo ] +// nested = ; this section will be skipped +// a=b +// c=d +// bar=baz ; this will be included +type skipper struct { + shouldSkip bool + TokenSet bool + prevTok Token +} + +func newSkipper() skipper { + return skipper{ + prevTok: emptyToken, + } +} + +func (s *skipper) ShouldSkip(tok Token) bool { + // should skip state will be modified only if previous token was new line (NL); + // and the current token is not WhiteSpace (WS). + if s.shouldSkip && + s.prevTok.Type() == TokenNL && + tok.Type() != TokenWS { + s.Continue() + return false + } + s.prevTok = tok + return s.shouldSkip +} + +func (s *skipper) Skip() { + s.shouldSkip = true +} + +func (s *skipper) Continue() { + s.shouldSkip = false + // empty token is assigned as we return to default state, when should skip is false + s.prevTok = emptyToken +} |