gengo (言語)

library binary CI codecov

A bit like tokei, a lot like linguist.

Comparison

| Feature/Behavior | linguist | tokei | gengo | | :--------------: | :------------------: | :------------: | :---: | | Analyze Git Revision | Yes | No | Yes | | Analyze Directory | No | Yes | No | | Requires Git Repository | Yes | No | Yes | | Detect Language by Extension | Yes | Yes | Yes | | Detect Language by Filename | Yes | Yes | Yes | | Detect by Filepath Pattern | No | No | Yes | | Detect Language with Heuristics | Yes | No | Yes | | Detect Language with Classifier | Yes | No | Not Yet ;) |

Installation

From GitHub Releases

Download the appropriate file from a release.

With cargo

The following installs the gengo binary.

shell cargo install gengo-bin

Usage

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

.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

Spaces must be replaced with hyphens. Case-insensitive.

templates/*.js gengo-language=Plain-Text ```