code: func SaveWith(path string, v interface{}, m MarshalFunc) error {
  	if applicationName == "" {
  		panic("store: application name not defined")
  	}
  
  	var b bytes.Buffer
  
  	if data, err := m(v); err == nil {
  		b.Write(data)
  	} else {
  		return fmt.Errorf("store: failed to marshal %s: %v", path, err)
  	}
  
  	b.WriteRune('\n')
  
  	globalPath := buildPlatformPath(path)
  	if err := os.MkdirAll(filepath.Dir(globalPath), os.ModePerm); err != nil {
  		return err
  	}
  
  	if err := ioutil.WriteFile(globalPath, b.Bytes(), os.ModePerm); err != nil {
  		return err
  	}
  
  	return nil
  }
docs: // SaveWith saves the configuration using any marshaler at all.