mirror of
https://github.com/cheat/cheat.git
synced 2025-09-04 02:58:29 +02:00
v3.3.0 (#525)
* feat: directory-scoped cheatpaths `cheat` now searches for a `.cheat` directory in the current working directory. If found, that directory is (temporarily) appended to the slice of cheatpaths. * makefile wip * fix: appeases linter Appeases linter (`go vet`) by adding quotation marks to YAML struct tags. * chore: modifies .gitignore Adds `tag` to `.gitignore` * feat: adds Makefile Adds a `Makefile` for managing build-related tasks. * chore: documents directory-local paths Adds documentation regarding the new directory-local cheatpath functionality. * chore: updates dependencies * chore: bumps version to 3.3.0 * chore: updates bin scripts - Removes `build_release.sh` - Places deprecation notice in `build_devel.sh`, as its purpose has been superceded by the `Makefile`.
This commit is contained in:
@ -2,8 +2,8 @@ package cheatpath
|
||||
|
||||
// Cheatpath encapsulates cheatsheet path information
|
||||
type Cheatpath struct {
|
||||
Name string `yaml:name`
|
||||
Path string `yaml:path`
|
||||
ReadOnly bool `yaml:readonly`
|
||||
Tags []string `yaml:tags`
|
||||
Name string `yaml:"name"`
|
||||
Path string `yaml:"path"`
|
||||
ReadOnly bool `yaml:"readonly"`
|
||||
Tags []string `yaml:"tags"`
|
||||
}
|
||||
|
@ -14,11 +14,11 @@ import (
|
||||
|
||||
// Config encapsulates configuration parameters
|
||||
type Config struct {
|
||||
Colorize bool `yaml:colorize`
|
||||
Editor string `yaml:editor`
|
||||
Cheatpaths []cp.Cheatpath `yaml:cheatpaths`
|
||||
Style string `yaml:style`
|
||||
Formatter string `yaml:formatter`
|
||||
Colorize bool `yaml:"colorize"`
|
||||
Editor string `yaml:"editor"`
|
||||
Cheatpaths []cp.Cheatpath `yaml:"cheatpaths"`
|
||||
Style string `yaml:"style"`
|
||||
Formatter string `yaml:"formatter"`
|
||||
}
|
||||
|
||||
// New returns a new Config struct
|
||||
@ -39,6 +39,24 @@ func New(opts map[string]interface{}, confPath string, resolve bool) (Config, er
|
||||
return Config{}, fmt.Errorf("could not unmarshal yaml: %v", err)
|
||||
}
|
||||
|
||||
// if a .cheat directory exists locally, append it to the cheatpaths
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return Config{}, fmt.Errorf("failed to get cwd: %v", err)
|
||||
}
|
||||
|
||||
local := filepath.Join(cwd, ".cheat")
|
||||
if _, err := os.Stat(local); err == nil {
|
||||
path := cp.Cheatpath{
|
||||
Name: "cwd",
|
||||
Path: local,
|
||||
ReadOnly: false,
|
||||
Tags: []string{},
|
||||
}
|
||||
|
||||
conf.Cheatpaths = append(conf.Cheatpaths, path)
|
||||
}
|
||||
|
||||
// process cheatpaths
|
||||
for i, cheatpath := range conf.Cheatpaths {
|
||||
|
||||
|
Reference in New Issue
Block a user