Update `--init` subcommand to rely upon the same platform-detection
intelligence that was previously implemented by the "installer".
The installer and `--init` should now produce identical config files.
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
Squashed commit of the following:
commit 8b74d50f1f
Author: Chris Lane <chris@chris-allen-lane.com>
Date: Sun Feb 2 14:40:23 2020 -0500
chore: updates README
Edits the `README` to provid updated information regarding the shell
autocompletion scripts and `fzf` integration.
commit 9868ba2d68
Author: Chris Lane <chris@chris-allen-lane.com>
Date: Sun Feb 2 14:39:04 2020 -0500
chore: modifies envvar check
Modifies the `CHEAT_USE_FZF` envvar check within the bash autocompletion
script for clarity.
commit ac1012f743
Author: Chris Lane <chris@chris-allen-lane.com>
Date: Sun Feb 2 14:25:34 2020 -0500
chore: renames autocompletion scripts
Renames autocompletion scripts to conform with the conventions
established in `scop/bash-completion`.
commit c8747bd91d
Author: Chris Lane <chris@chris-allen-lane.com>
Date: Sun Feb 2 14:23:03 2020 -0500
feat: improved bash autocompletions
- Dramatically improves quality of bash autocompletions
- Provides optional integration with `fzf`
commit 825bd0139d
Author: Chris Lane <chris@chris-allen-lane.com>
Date: Sun Feb 2 09:19:46 2020 -0500
chore: deletes `fzf.bash`
Deletes `fzf.bash`, which was always intended to be a temporary
placeholder anticipating future improvements.
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`.
- Generally reduces the complexity demonstrated in the example configs.
The prior complexity appears to have confused some new users.
- Removes the `dotfiles` references in the example configs. This idiom
likewise appears to have confused some new users.
- Adds some instruction regarding how to download and configure the
"community" cheatsheets (`cheat/cheatsheets`).
Previously, `build-release` would produce `.gz` files which had the
execute permission set. This modifies the `Makefile` to `chmod -x` the
`.gz` files after compression.
* chore: trivial Makefile changes
Trivial `Makefile` changes regarding file pathing.
* chore: build flags
- Passes `-trimpath` flag to build tasks
- Creates `make ci` task and modifies `travis.yml` to use it
- Bumps version to `3.3.2`
* makefile wip
* feat: adds Makefile
Adds a `Makefile` for managing build-related tasks.
* chore: updates dependencies
* chore: updates dependencies
* chore: updates bin scripts
- Removes `build_release.sh`
- Places deprecation notice in `build_devel.sh`, as its purpose has been
superceded by the `Makefile`.
* chore: updates bin scripts
- Removes `build_release.sh`
- Places deprecation notice in `build_devel.sh`, as its purpose has been
superceded by the `Makefile`.
* fix: Makefile
Makes several corrections and improvements to the `Makefile`:
- Previously, the `ifeq` rules were not behaving as intended, due to
false assumptions regarding how `make` fundamentally behaves.
Malfunctioning imperative-style programming has been replaced with
declarative rules to repair this issue.
- Previously, all release executables were zipped after compilation. In
order to spare non-Windows users from (possibly) needing to install a
package to unzip the executables, all non-Windows binaries are now
compressed with `gzip`. (Windows executables are still compressed with
`zip`.)
- Removes a bit of needlessly verbosity in several rules and paths.
* chore: updates dependencies
* chore: bumps version to 3.3.1
* 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`.