func NewEnvironmentEnv(name string, basePath string, exportVars map[string]string, vars []string) (*Env, error) {
	return NewEnv(name, basePath, exportVars, vars, "environment")
}
NewEnvironmentEnv is a factory method that properly initializes the Env struct for the env type of Environment
package sellsword
import (
	"bufio"
	"fmt"
	"github.com/fatih/color"
	"gopkg.in/yaml.v2"
	"io/ioutil"
	"os"
	"path"
	"sort"
	"strings"
)
type Env struct {
	Name            string
	Path            string
	Current         bool
	EnvType         string
	ExportVariables map[string]string
	Variables       map[string]string
}
func NewEnv(name string, basePath string, exportVars map[string]string, vars []string,
	envType string) (*Env, error) {
	env := new(Env)
	env.Name = name
	env.EnvType = envType
	env.Path = path.Join(basePath, name)
	if envType == "environment" {
		env.ExportVariables = exportVars
		if _, err := os.Stat(env.Path); err == nil {
			if env.Variables, err = env.loadYaml(); err != nil {
				return env, err
			}
		} else {
			env.Variables = arrayToEmptyMap(vars)
		}
	}
	return env, nil
}