Mercurial > yakumo_izuru > aya
view vendor/github.com/yosssi/gcss/element.go @ 74:d8727551f403 draft
The Empress (III)
* Change the way how versions are handled in version.go (to ease `go
install`)
* Upgrade yaml.v2 to yaml.v3
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Mon, 04 Dec 2023 00:54:29 +0000 |
parents | 787b5ee0289d |
children |
line wrap: on
line source
package gcss import "io" // element represents an element of GCSS source codes. type element interface { io.WriterTo AppendChild(child element) Base() *elementBase SetContext(*context) Context() *context } // newElement creates and returns an element. func newElement(ln *line, parent element) (element, error) { var e element var err error switch { case ln.isComment(): e = newComment(ln, parent) case ln.isAtRule(): e = newAtRule(ln, parent) case ln.isMixinDeclaration(): // error can be ignored becuase the line is checked beforehand // by calling `ln.isMixinDeclaration()`. e, _ = newMixinDeclaration(ln, parent) case ln.isMixinInvocation(): // error can be ignored becuase the line is checked beforehand // by calling `ln.isMixinInvocation()`. e, _ = newMixinInvocation(ln, parent) case ln.isVariable(): e, err = newVariable(ln, parent) case ln.isDeclaration(): e, err = newDeclaration(ln, parent) default: e, err = newSelector(ln, parent) } return e, err }