Binary for dprint code formatter—a pluggable and configurable code formatting platform.
pkg:cargo/dprint@0.50.x
npx @tessl/cli install tessl/cargo-dprint@0.50.0dprint is a pluggable and configurable code formatting platform that provides comprehensive code formatting capabilities through a powerful command-line interface. It supports multiple programming languages via a plugin architecture and offers advanced features like incremental formatting, LSP integration, and editor services.
cargo install dprint# Via Cargo
cargo install dprint
# Via Homebrew (macOS)
brew install dprint# Initialize configuration
dprint config init
# Format all files in current directory
dprint fmt
# Check if files are properly formatted
dprint check
# Format specific files
dprint fmt src/*.rs
# Format with diff output
dprint fmt --diffdprint is built around several key components:
Primary formatting operations for checking and applying code formatting across multiple files and languages.
# Format files (write changes)
dprint fmt [OPTIONS] [FILES...]
# Check formatting (read-only validation)
dprint check [OPTIONS] [FILES...]Tools for initializing, updating, and managing dprint configuration files and plugins.
# Initialize new configuration
dprint config init
# Add plugin to configuration
dprint config add [PLUGIN]
# Update existing plugins
dprint config update [--yes]Commands for version information, help, shell completions, and system utilities.
# Display version information
dprint version
# Show help information
dprint help
# Generate shell completions
dprint completions <SHELL>
# Clear formatting and plugin cache
dprint clear-cacheAdvanced services for integrating dprint with code editors through LSP and background services.
# Start Language Server Protocol server
dprint lsp
# Start editor service with parent process monitoring
dprint editor-service <PARENT_PID>
# Output editor integration information
dprint editor-infoCommands for analyzing file patterns, configuration resolution, and performance timing.
# Output files that would be formatted
dprint output-file-paths [OPTIONS] [FILES...]
# Output resolved configuration as JSON
dprint output-resolved-config
# Output timing information for formatting operations
dprint output-format-times [OPTIONS] [FILES...]# Specify configuration file path
--config <PATH>
# Override plugin selection
--plugins <PLUGINS>
# Control configuration discovery
# Environment: DPRINT_CONFIG_DISCOVERY=default|ignore-descendants|false# Set logging verbosity
--log-level <LEVEL> # silent, info, debug, trace
--verbose # Enable verbose logging# Include specific file patterns (glob support)
--includes <PATTERNS>
# Exclude specific file patterns (glob support)
--excludes <PATTERNS>
# Allow formatting in node_modules directories
--allow-node-modules
# Only process staged files (git integration)
--stageddprint uses specific exit codes for different error conditions:
# Exit Code Reference
10 # Argument parsing errors
11 # Configuration resolution errors
12 # Plugin resolution errors
13 # No plugins found errors
14 # No files found errors
20 # Check command failures (files not formatted)struct FilePatternArgs {
include_patterns: Vec<String>,
include_pattern_overrides: Option<Vec<String>>,
exclude_patterns: Vec<String>,
exclude_pattern_overrides: Option<Vec<String>>,
allow_node_modules: bool,
only_staged: bool,
}enum ConfigDiscovery {
Default, // Search ancestors and descendants
IgnoreDescendants, // Search ancestors only
Disabled, // No automatic discovery
}