+
Skip to content

jfernandez/commitfmt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

commitfmt

A git commit message formatter written in Rust.

Features

  • Enforces subject line length (default: 50 chars)
  • Wraps body lines (default: 72 chars)
  • Preserves git comments and diffs
  • Works seamlessly with editors like nvim
  • Configurable via .commitfmt.toml

Installation

cargo install commitfmt

Or build from source:

cargo install --path .

Usage

Format from stdin

cat commit.txt | commitfmt

Format a file in-place

commitfmt COMMIT_EDITMSG

Use with nvim

Add to your git config:

git config --global core.editor "nvim"

Then use with a git hook in .git/hooks/commit-msg:

#!/bin/sh
commitfmt "$1"

Custom config

Create .commitfmt.toml in your project:

subject_max_length = 50
body_max_line_length = 72

How it works

  • Subject lines longer than the max length have overflow words moved to the body
  • Body lines longer than max are wrapped at word boundaries
  • Lines starting with # (git comments/diffs) are preserved
  • Intentional line breaks in the body are maintained

License

MIT

About

A git commit message formatter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载