Christopher Allen Lane
cc85a4bdb1
chore: bump version to 4.5.0
...
Bug fixes:
- Fix inverted pager detection logic (returned error instead of path)
- Fix repo.Clone ignoring destination directory parameter
- Fix sheet loading using append on pre-sized slices
- Clean up partial files on copy failure
- Trim whitespace from editor config
Security:
- Add path traversal protection for cheatsheet names
Performance:
- Move regex compilation outside search loop
- Replace string concatenation with strings.Join in search
Build:
- Remove go:generate; embed config and usage as string literals
- Parallelize release builds
- Add fuzz testing infrastructure
Testing:
- Improve test coverage from 38.9% to 50.2%
- Add fuzz tests for search, filter, tags, and validation
Documentation:
- Fix inaccurate code examples in HACKING.md
- Add missing --conf and --all options to man page
- Add ADRs for path traversal, env parsing, and search parallelization
- Update CONTRIBUTING.md to reflect project policy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-14 19:56:19 -05:00
Christopher Allen Lane
1790aec85d
chore(deps): bump chroma to v2 #735
...
Bump `alecthomas/chroma` to `v2`:
https://github.com/cheat/cheat/issues/735
2023-12-13 12:54:32 -05:00
Mikel Olasagasti Uranga
6bf51e758f
Use yaml.v3 rather than .v2 and .v1
2023-12-13 09:57:58 -05:00
Christopher Allen Lane
bfb071c0b2
chore(lint): various changes to appease revive
...
- Add `package` comments
- Rename `opts` to `_` where unused
2023-12-13 09:10:20 -05:00
Christopher Allen Lane
c9ccefa607
chore(deps): remove yaml.v1
...
Remove errant `yaml.v1` dependency, and use `yaml.v2` everywhere.
2022-11-05 11:39:48 -04:00
Christopher Allen Lane
2d635293c5
refactor(Sheet): create parse method
...
Move `Frontmatter.Parse` to `Sheet.parse`, and delete the `frontmatter`
package. `Sheet.parse` more accurately describes the parser's behavior.
2022-08-26 13:55:09 -04:00
Christopher Allen Lane
f0bfeda47a
fix(frontmatter): do not trim whitespace ( #663 )
...
Do not strip leading or trailing newlines. Doing so had interferred with
users' intended cheatsheet layouts.
2022-08-26 13:55:09 -04:00
Chris Allen Lane
85f5ae8ec7
chore: various lint corrections
...
Make various lint corrections in order to appease `staticcheck`.
2022-08-04 20:43:50 -04:00
Christopher Allen Lane
def8985dcd
fix: Windows support
...
Fix an issue whereby the installer installed cheatsheets into the wrong
directory on Windows. This occurred because previously `path.Join` was
used where `path/filepath.Join` should have been used.
This matters, because the former always uses `/` as the path separator,
whereas the latter will use `/` or `\` as is appropriate for the
runtime environment.
This should resolve bullet point 4 in #665 .
2022-07-04 16:55:57 -04:00
Chris Lane
233a9de1aa
feat: implement --all flag
...
Implement an `--all` flag that can be used to view cheatsheets on all
chaetpaths. (Resolves #548 )
2020-11-27 16:39:34 -05:00
Chris Lane
0b21ccf6f8
feat(tests): improve test coverage
2020-11-03 17:29:49 -05:00
Chris Lane
87cba04ff2
chore: DRY out colorization code
...
Creates a `sheet.Colorize` method that DRYs out code that was duplicated
among `cmd_search` and `cmd_view`.
2020-02-15 16:11:15 -05:00
Chris Lane
bc623da74b
feat: issue #260
...
Dramatically improves the usefulness of `--search` by outputting
"chunked" results. This removes the need (usually) to search and then
manually open a cheatsheet.
2020-02-15 15:56:25 -05:00
Chris Lane
a6c25d4b9c
feat: --search improvements
...
- 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
2020-02-15 14:42:06 -05:00
Chris Lane
e24ac2b385
chore: deprecates line numbers in search
...
Removes line numbers from search result output as part of the
refactoring effort.
2020-02-15 10:11:25 -05:00
Chris Lane
e0c35a74d4
chore: removes colorization from search
...
Deprecates `mgutz/ansi` and removes colorization from search as a first
step toward improving the functionality.
2020-02-15 10:01:44 -05:00
Chris Lane
51aaaf3423
chore: removes the tj/front dependency
...
Removes the `tj/front` dependency due to licensing concerns. See #490 .
2019-11-07 06:46:34 -05:00
Chris Lane
e5114a3e76
Re-wrote from scratch in Golang
...
- Re-implemented the project in Golang, and deprecated Python entirely
- Implemented several new, long-requested features
- Refactored cheatsheets into a separate repository
2019-10-20 10:02:28 -04:00