44 releases
Uses new Rust 2024
| 0.14.2 | Jan 24, 2026 |
|---|---|
| 0.14.0 | Dec 12, 2025 |
| 0.13.1 | Jul 8, 2025 |
| 0.12.2 | Mar 5, 2025 |
| 0.8.2 | Nov 8, 2023 |
#23 in #file-source
62KB
1K
SLoC
Gengo
Installing the binary
cargo install gengo-bin
Usage
This tool has multiple file sources. Each file source can have unique usage to take advantage of its strengths and work around its weaknesses.
Directory File Source
This is a very generic file source that tries not to make many assumptions about your environment and workspace.
Ignoring Files
You can utilize a .gitignore file and/or an .ignore file to prevent files from
being scanned. See the ignore for more details.
Git File Source
The git file source is highly opinionated -- it tries to act like a git utility, and uses git tools. Its goal is to behave similarly to linguist.
Overrides
Like linguist, you can override behavior using a .gitattributes file.
Basically, just replace linguist-FOO with gengo-FOO. Unlike linguist,
gengo-detectable will always make a file be included in statistics (linguist
will still exclude them if they're generated or vendored).
# .gitattributes
# boolean attributes:
# These can be *negated* by prefixing with `-` (`-gengo-documentation`).
# Mark a file as documentation
*.html gengo-documentation
# Mark a file as generated
my-built-files/* gengo-generated
# Mark a file as vendored
deps/* gengo-vendored
# string attributes:
# Override the detected language for a file
# Use the Language enum's variant name (see docs.rs for more details)
templates/*.js gengo-language=PlainText
You will need to commit your .gitattributes file for it to take effect.
Dependencies
~23–41MB
~692K SLoC