mdsf 0.0.1

Format markdown code snippets using your favorite code formatters
Documentation

mdsf

Format markdown code snippets using your favorite code formatters.

Installation

The latest version of mdsf can be downloaded directly from github.com/hougesen/mdsf/releases.

Cargo

Install using the published crate:

cargo install mdsf

or directly from source:

git clone git@github.com:hougesen/mdsf.git

cargo install --path ./mdsf --bin mdsf

Usage

mdsf format <NAME_OF_FOLDER_OR_FOLDER>

Configuration

The default configuration of mdsf aims to as sane as possible. For that reason the default formatter for each language is the one most people have installed.

If you are interested in customizing which formatter is run, you can create a new mdsf configuration file by running

mdsf init

mdsf supports running multiple formatters on the save code snippet.

{
  // Only run `ruff` on Python snippets,
  "python": "ruff",
  // Run `usort` on file and then `black`
  "python": ["usort", "black"],
  // Run `usort`, if that fails run `isort`, finally run `black`
  "python": [["usort", "isort"], "black"]
}

Supported languages & formatters

[!NOTE] mdsf is not a tool for installing formatters.

Only formatters that are already installed will be used.

Language Formatters
Blade blade-formatter
C clang-format
CSharp clang-format
Cpp clang-format
Crystal crystal_format
Css prettier
Dart dart_format
Elixir mix_format
Elm elm-format
Gleam gleam_format
Go gofmt, gofumpt
GraphQL prettier
Html prettier
Java clang-format
JavaScript biome, clang-format, deno_fmt, prettier
Json biome, clang-format, deno_fmt, prettier
Just just_fmt
Lua stylua
Markdown prettier
Nim nimpretty
OCaml ocamlformat
ObjectiveC clang-format
Protobuf clang-format
Python autopep8, black, blue, isort, ruff, usort, yapf
ReScript rescript_format
Roc roc_format
Ruby rubocop
Rust rustfmt
Shell shfmt
Sql sql-formatter, sqlfluff
Toml taplo
TypeScript biome, deno_fmt, prettier
Vue prettier
Xml xmllint
Yaml prettier
Zig zigfmt