mirror of https://github.com/cheat/cheat.git
feat: add the `--conf` command
Add the `--conf` command, which dipslay's the current `cheat` configuration file path.
This commit is contained in:
parent
d598d96fce
commit
ddbe710881
|
@ -0,0 +1,11 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/cheat/cheat/internal/config"
|
||||||
|
)
|
||||||
|
|
||||||
|
func cmdConf(opts map[string]interface{}, conf config.Config) {
|
||||||
|
fmt.Println(conf.Path)
|
||||||
|
}
|
|
@ -15,6 +15,7 @@ Options:
|
||||||
-T --tags List all tags in use
|
-T --tags List all tags in use
|
||||||
-v --version Print the version number
|
-v --version Print the version number
|
||||||
--rm=<cheatsheet> Remove (delete) <cheatsheet>
|
--rm=<cheatsheet> Remove (delete) <cheatsheet>
|
||||||
|
--conf Display the config file path
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
@ -53,3 +54,6 @@ Examples:
|
||||||
|
|
||||||
To remove (delete) the foo/bar cheatsheet:
|
To remove (delete) the foo/bar cheatsheet:
|
||||||
cheat --rm foo/bar
|
cheat --rm foo/bar
|
||||||
|
|
||||||
|
To view the configuration file path:
|
||||||
|
cheat --conf
|
||||||
|
|
|
@ -120,6 +120,9 @@ func main() {
|
||||||
var cmd func(map[string]interface{}, config.Config)
|
var cmd func(map[string]interface{}, config.Config)
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
|
case opts["--conf"].(bool):
|
||||||
|
cmd = cmdConf
|
||||||
|
|
||||||
case opts["--directories"].(bool):
|
case opts["--directories"].(bool):
|
||||||
cmd = cmdDirectories
|
cmd = cmdDirectories
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ Options:
|
||||||
-T --tags List all tags in use
|
-T --tags List all tags in use
|
||||||
-v --version Print the version number
|
-v --version Print the version number
|
||||||
--rm=<cheatsheet> Remove (delete) <cheatsheet>
|
--rm=<cheatsheet> Remove (delete) <cheatsheet>
|
||||||
|
--conf Display the config file path
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
@ -62,5 +63,8 @@ Examples:
|
||||||
|
|
||||||
To remove (delete) the foo/bar cheatsheet:
|
To remove (delete) the foo/bar cheatsheet:
|
||||||
cheat --rm foo/bar
|
cheat --rm foo/bar
|
||||||
|
|
||||||
|
To view the configuration file path:
|
||||||
|
cheat --conf
|
||||||
`)
|
`)
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ type Config struct {
|
||||||
Style string `yaml:"style"`
|
Style string `yaml:"style"`
|
||||||
Formatter string `yaml:"formatter"`
|
Formatter string `yaml:"formatter"`
|
||||||
Pager string `yaml:"pager"`
|
Pager string `yaml:"pager"`
|
||||||
|
Path string
|
||||||
}
|
}
|
||||||
|
|
||||||
// New returns a new Config struct
|
// New returns a new Config struct
|
||||||
|
@ -34,6 +35,9 @@ func New(opts map[string]interface{}, confPath string, resolve bool) (Config, er
|
||||||
// initialize a config object
|
// initialize a config object
|
||||||
conf := Config{}
|
conf := Config{}
|
||||||
|
|
||||||
|
// store the config path
|
||||||
|
conf.Path = confPath
|
||||||
|
|
||||||
// unmarshal the yaml
|
// unmarshal the yaml
|
||||||
err = yaml.UnmarshalStrict(buf, &conf)
|
err = yaml.UnmarshalStrict(buf, &conf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue