4 releases

0.0.3 Aug 6, 2024
0.0.2 Jul 10, 2024
0.0.1 Jun 6, 2024
0.0.0 Jun 6, 2024

#486 in Development tools

Download history 280/week @ 2024-06-03 10/week @ 2024-06-10 3/week @ 2024-06-17 28/week @ 2024-07-01 105/week @ 2024-07-08 3/week @ 2024-07-15 18/week @ 2024-07-22 44/week @ 2024-07-29 130/week @ 2024-08-05 9/week @ 2024-08-12 22/week @ 2024-08-26

161 downloads per month

MIT license

18KB
367 lines

kdlfmt

A formatter for kdl documents.

kdlfmt is a thin cli wrapper built on-top of the official kdl parser for Rust (kdl-rs), so any formatting/parsing issues should be reported there.

A code formatter for kdl documents.

Usage: kdlfmt <COMMAND>

Commands:
  format       Format kdl files
  check        Validate files are formatted
  completions  Generate shell completions
  help         Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Installation

kdlfmt can be installed using Cargo, the package manager for Rust (crates.io).

cargo install kdlfmt

If you do not have/want Rust installed on your device you can find precompiled binaries on the release page.

Usage

Once installed the formatted can be invoked by running kdlfmt format.

kdlfmt format PATH
Format kdl files

Usage: kdlfmt format [OPTIONS] <INPUT>

Arguments:
  <INPUT>  Path to file OR directory. Use "-" to read from stdin

Options:
      --log-level <LOG_LEVEL>  [possible values: trace, debug, info, warn, error, off]
  -h, --help                   Print help
  -V, --version                Print version

Validating files are formatted

kdlfmt also support validating if files are formatted using the kdlfmt check command.

kdlfmt check PATH
Validate files are formatted

Usage: kdlfmt check [OPTIONS] <INPUT>

Arguments:
  <INPUT>  Path to file OR directory. Use "-" to read from stdin

Options:
      --log-level <LOG_LEVEL>  [possible values: trace, debug, info, warn, error, off]
  -h, --help                   Print help
  -V, --version                Print version

Ignoring files

.kdlfmtignore files are used to ignore files/directories.

It uses the same syntax as .gitignore files.

Shell completion

Shell completion can be generated using the kdl completions command.

Generate shell completions

Usage: kdlfmt completions <SHELL>

Arguments:
  <SHELL>  [possible values: bash, elvish, fish, powershell, zsh]

Options:
  -h, --help     Print help
  -V, --version  Print version

Bash

Add the following to your .bashrc.

eval "$(kdlfmt completions bash)"

Bash

Add the following to your .zshrc:

eval "$(kdlfmt completions zsh)"

Fish

Add the following to ~/.config/fish/config.fish.

kdlfmt completions fish | source

PowerShell

Add the following to your PowerShell configuration (Can be found by running $PROFILE).

Invoke-Expression (&kdlfmt completions powershell)

Elvish

Add the following to ~/.elvish/rc.elv.

eval (kdlfmt completions elvish)

Dependencies

~7–16MB
~191K SLoC