code: func (c *config) Sync() error {
  	if err := c.opts.Loader.Sync(); err != nil {
  		return err
  	}
  
  	snap, err := c.opts.Loader.Snapshot()
  	if err != nil {
  		return err
  	}
  
  	c.Lock()
  	defer c.Unlock()
  
  	c.snap = snap
  	vals, err := c.opts.Reader.Values(snap.ChangeSet)
  	if err != nil {
  		return err
  	}
  	c.vals = vals
  
  	return nil
  }
docs: // sync loads all the sources, calls the parser and updates the config