Skip to content

v0.2.0

Latest

Choose a tag to compare

@evanmschultz evanmschultz released this 18 May 22:09
· 1 commit to main since this release
4df838f

Highlights

  • 30+ new language detections — programming (C#, Scala, Lua, SQL, Dart, Elixir, Zig, R, F#, Haskell), templating + frontend (templ, JSX, TSX, SCSS, Sass, LESS, Vue, Svelte, ERB, Jinja, Liquid, Mustache/Handlebars), config (INI, dotenv, EditorConfig, Properties, HCL/Terraform, Nix), data (Protobuf, GraphQL, CSV, TSV, JSONL), build/task (Bazel, Groovy/Jenkinsfile, Justfile, Earthfile, Caddyfile). Plus XML split from HTML.
  • `--files-from ` for Unix-composition piping. Use `-` for stdin:
    ```sh
    rg --files | rak --files-from -
    git ls-files '.go' | rak --files-from -
    find . -name '
    .go' | rak --files-from -
    gh pr diff 42 --name-only | rak --files-from -
    ```
  • Lockfile exclusion by default. `go.sum`, `package-lock.json`, `Cargo.lock`, `Gemfile.lock`, etc. are skipped so counts reflect code your team wrote. Pass `--include-lockfiles` to restore v0.1.x counting behavior.
  • Friendly error for non-regular paths (`rak /dev/null` → clear message).
  • GoReleaser binaries for macOS + Linux (amd64 + arm64). Download below or `go install github.com/evanmschultz/rak/cmd/rak@v0.2.0`.

Breaking changes

  • `.xml` files now report as `xml` in `total_by_lang` (was `html`).
  • Lockfiles excluded by default. `--include-lockfiles` to restore v0.1.x behavior.

Bug fixes

  • Stable sort: tie-bearing repos previously produced non-deterministic output across runs due to map randomization + unstable sort. `SortDirs` now uses `slices.SortStableFunc`.
  • Explicit single-file lockfile invocation (`rak go.sum`) is now counted, not silently filtered.

Deferred to v0.3

Parallel walk + `--workers`, `--follow` symlink traversal (covered by `find -L | rak --files-from -` composition), token counting (`--tokens`), `--include-untracked`, Windows binaries + CI, spinner/progress.

Full changelog: v0.1.4...v0.2.0