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
init Initialize formatter config
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
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.
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:
--kdl-version <KDL_VERSION> kdl specification to use. By default all versions are tried [possible values: v1, v2]
--log-level <LOG_LEVEL> [possible values: trace, debug, info, warn, error, off]
-h, --help Print help
-V, --version Print version
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:
--kdl-version <KDL_VERSION> kdl specification to use. By default all versions are tried [possible values: v1, v2]
--log-level <LOG_LEVEL> [possible values: trace, debug, info, warn, error, off]
-h, --help Print help
-V, --version Print version
.kdlfmtignore
files are used to ignore files/directories.
It uses the same syntax as .gitignore
files.
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
Add the following to your .bashrc
.
eval "$(kdlfmt completions bash)"
Add the following to your .zshrc
:
eval "$(kdlfmt completions zsh)"
Add the following to ~/.config/fish/config.fish
.
kdlfmt completions fish | source
Add the following to your PowerShell configuration (Can be found by running $PROFILE
).
Invoke-Expression (&kdlfmt completions powershell)
Add the following to ~/.elvish/rc.elv
.
eval (kdlfmt completions elvish)