Previously, failing other checks, on Unix and BSD systems,
`config.Paths` would attempt to compute the user's home directory by
reading the `HOME` environment variable.
This change deprecates that approach with a call to `homedir.Dir`, which
is used elsewhere throughout the application.
Dramatically improves the usefulness of `--search` by outputting
"chunked" results. This removes the need (usually) to search and then
manually open a cheatsheet.
- Deprecates the `Match` struct
- Applies syntax highlighting to search results output in a manner
consistent with the 'View' output
- Refactors search to move colorization functionality outside of its
concern
Attempts to resolve an issue regarding automatic config file generation,
as referenced in #501. This issue is believed occur when
`XDG_CONFIG_HOME` is unset.
Performs a minor refactoring on `config.Paths` to consistently use
`path.Join` when computing config directory paths. Previously, both
`path.Join` and `fmt.Sprintf` were being used, strictly due to an
oversight.
Fixes an issue whereby the error message generated when a config file
could not be loaded (due to a symlink resolution failure) would fail to
print the config file path to `stderr`.
* 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`.
- Corrects an error with `--search`. Previously, `--search` was not
aware of whether it was outputted to a TTY, and would apply colorization
at all times. This resulted in unwanted behavior when, for example,
piping search results into a paginator.
- Corrects an error with `--color`. Previously, `--color` would be
ignored if output was being written to a non-TTY. This made it
impossible, for example, to `cheat tar --color | less -R`, as
colorization would always be stripped. The behavior of `--color` has
been modified such that it now behaves similarly to `--color=always` in
other applications.
Repairs the `config` unit-tests which were broken with `3.0.4`. It does
so by providing a simple switch that allows us to disable the resolution
of filesystem symlinks when running tests.
- Re-implemented the project in Golang, and deprecated Python entirely
- Implemented several new, long-requested features
- Refactored cheatsheets into a separate repository