config

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2020 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PromptsDisabled = "disabled"
	PromptsEnabled  = "enabled"
)
View Source
const (
	GITHUB_TOKEN            = "GITHUB_TOKEN"
	GITHUB_ENTERPRISE_TOKEN = "GITHUB_ENTERPRISE_TOKEN"
)

Variables

View Source
var BackupConfigFile = func(filename string) error {
	return os.Rename(filename, filename+".bak")
}
View Source
var ReadConfigFile = func(filename string) ([]byte, error) {
	f, err := os.Open(filename)
	if err != nil {
		return nil, pathError(err)
	}
	defer f.Close()

	data, err := ioutil.ReadAll(f)
	if err != nil {
		return nil, err
	}

	return data, nil
}
View Source
var WriteConfigFile = func(filename string, data []byte) error {
	err := os.MkdirAll(path.Dir(filename), 0771)
	if err != nil {
		return pathError(err)
	}

	cfgFile, err := os.OpenFile(filename, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0600)
	if err != nil {
		return err
	}
	defer cfgFile.Close()

	n, err := cfgFile.Write(data)
	if err == nil && n < len(data) {
		err = io.ErrShortWrite
	}

	return err
}

Functions

func ConfigDir

func ConfigDir() string

func ConfigFile

func ConfigFile() string

func NewBlankRoot added in v0.11.0

func NewBlankRoot() *yaml.Node

func StubBackupConfig

func StubBackupConfig() func()

func StubConfig

func StubConfig(main, hosts string) func()

func StubWriteConfig

func StubWriteConfig(wc io.Writer, wh io.Writer) func()

Types

type AliasConfig added in v0.10.0

type AliasConfig struct {
	ConfigMap
	Parent Config
}

func (*AliasConfig) Add added in v0.10.0

func (a *AliasConfig) Add(alias, expansion string) error

func (*AliasConfig) All added in v0.10.0

func (a *AliasConfig) All() map[string]string

func (*AliasConfig) Delete added in v0.10.0

func (a *AliasConfig) Delete(alias string) error

func (*AliasConfig) Get added in v0.10.0

func (a *AliasConfig) Get(alias string) (string, bool)

type Config

type Config interface {
	Get(string, string) (string, error)
	GetWithSource(string, string) (string, string, error)
	Set(string, string, string) error
	UnsetHost(string)
	Hosts() ([]string, error)
	Aliases() (*AliasConfig, error)
	CheckWriteable(string, string) error
	Write() error
}

This interface describes interacting with some persistent configuration for gh.

func InheritEnv added in v0.12.0

func InheritEnv(c Config) Config

func NewBlankConfig added in v0.10.0

func NewBlankConfig() Config

NewBlankConfig initializes a config file pre-populated with comments and default values

func NewConfig

func NewConfig(root *yaml.Node) Config

func NewFromString added in v0.12.0

func NewFromString(str string) Config

NewFromString initializes a Config from a yaml string

func ParseConfig

func ParseConfig(filename string) (Config, error)

func ParseDefaultConfig

func ParseDefaultConfig() (Config, error)

type ConfigEntry added in v0.10.0

type ConfigEntry struct {
	KeyNode   *yaml.Node
	ValueNode *yaml.Node
	Index     int
}

type ConfigMap

type ConfigMap struct {
	Root *yaml.Node
}

This type implements a low-level get/set config that is backed by an in-memory tree of Yaml nodes. It allows us to interact with a yaml-based config programmatically, preserving any comments that were present when the yaml was parsed.

func (*ConfigMap) Empty added in v0.10.0

func (cm *ConfigMap) Empty() bool

func (*ConfigMap) FindEntry

func (cm *ConfigMap) FindEntry(key string) (ce *ConfigEntry, err error)

func (*ConfigMap) GetStringValue

func (cm *ConfigMap) GetStringValue(key string) (string, error)

func (*ConfigMap) RemoveEntry added in v0.10.0

func (cm *ConfigMap) RemoveEntry(key string)

func (*ConfigMap) SetStringValue

func (cm *ConfigMap) SetStringValue(key, value string) error

type HostConfig

type HostConfig struct {
	ConfigMap
	Host string
}

type NotFoundError

type NotFoundError struct {
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL