Files
go-highlite/syntax/1entry.go
T

26 lines
406 B
Go

package syntax
import "sync"
var syntaxMap = make(map[string]*lazySyntax)
type lazySyntax struct {
once sync.Once
syntaxLayer []byte
init func() []byte
}
func (ls *lazySyntax) get() []byte {
ls.once.Do(func() {
ls.syntaxLayer = ls.init()
})
return ls.syntaxLayer
}
func Get(id string) []byte {
if syntax, exists := syntaxMap[id]; exists {
return syntax.get()
}
return nil
}