mirror of
https://github.com/Luzifer/mondash.git
synced 2024-12-23 20:41:17 +00:00
Knut Ahlers
f3c31476b4
* Update dependencies * Improve code quality * Apply linter advices * Add gzip compression to all requests * Rework frontend * Apply bootswatch theme * Hide historic details when not requested * Remove debugging header * Apply auto-migration of meta fields * Fix broken "last update" time * Pre-sort metrics for frontend / API * Add tooltip with absolute time * Some design fixes * Add tooltip with absolute date to last ok * Implement filters * Apply eslint --fix * Remove unused var * Remove remains of old template engine * Update baked in assets * Update Dockerfile for new version Signed-off-by: Knut Ahlers <knut@ahlers.me>
45 lines
772 B
Go
45 lines
772 B
Go
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 {
|
|
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
|
|
s.prevTok = emptyToken
|
|
}
|
|
|
|
func (s *skipper) Continue() {
|
|
s.shouldSkip = false
|
|
s.prevTok = emptyToken
|
|
}
|