====== How to format code ====== We use the following code formatters to maintain consistent coding styles across different programming languages. These tools automatically format source code without changing its behavior. ===== Python: Black ===== [[https://black.readthedocs.io/|Black]] is an opinionated Python code formatter with minimal configuration. **Install:** pip install black **Format:** black script.py **Check without modifying:** black --check script.py ===== R: Air ===== [[https://posit-dev.github.io/air/|Air]] is a fast R code formatter written in Rust and developed by Posit. **Install:** pip install air-formatter **Format:** air format script.R **Check without modifying:** air format --check script.R ===== Shell: shfmt ===== [[https://github.com/mvdan/sh|shfmt]] formats POSIX shell, Bash, and other supported shell scripts. **Install:** go install mvdan.cc/sh/v3/cmd/shfmt@latest **Format:** shfmt -w script.sh **Check without modifying (list files needing formatting):** shfmt -l script.sh ===== C/C++: clang-format ===== [[https://clang.llvm.org/docs/ClangFormat.html|clang-format]] automatically formats C, C++, and related languages. Formatting rules can be configured using a ''.clang-format'' file. **Install:** pip install clang-format **Format:** clang-format -i source.c **Check without modifying:** clang-format --dry-run --Werror source.c ===== JavaScript: Prettier ===== [[https://prettier.io/|Prettier]] is an opinionated formatter for JavaScript, TypeScript, JSON, HTML, CSS, and other web languages. **Install:** npm config set prefix ~/.local npm install -g prettier **Format:** prettier --write script.js **Check without modifying:** prettier --check script.js ===== Notes ===== * Formatters should be run before committing changes. * Use the default formatting rules unless project-specific requirements justify configuration. * Ensure that user-installed executable directories, such as ''~/.local/bin'', are included in ''PATH''. * Formatting checks can also be integrated into CI workflows.