Search documentation of Metastatic

# mix metastatic.complexity (Metastatic v0.13.2)

View Source

Analyzes code complexity for a given file.

## Usage

    mix metastatic.complexity FILE [options]

## Options

- `--format` - Output format: text (default), json, or detailed
- `--language` - Source language: python, elixir, erlang, ruby, or haskell (auto-detected if not specified)
- `--max-cyclomatic` - Cyclomatic complexity threshold (default: 10)
- `--max-cognitive` - Cognitive complexity threshold (default: 15)
- `--max-nesting` - Nesting depth threshold (default: 3)
- `--lines` - Analyze specific line range (e.g., "10-50") - extracted code must be valid
- `--function` - Analyze specific function by name (all clauses combined for multi-clause functions)

## Examples

    # Basic complexity analysis
    mix metastatic.complexity my_file.py

    # JSON output
    mix metastatic.complexity my_file.py --format json

    # Detailed report
    mix metastatic.complexity my_file.ex --format detailed

    # Custom thresholds
    mix metastatic.complexity my_file.erl --max-cyclomatic 15 --max-cognitive 20

    # Analyze specific line range
    mix metastatic.complexity my_file.py --lines 10-50

    # Analyze specific function (all clauses combined)
    mix metastatic.complexity my_file.ex --function complex
    mix metastatic.complexity my_file.ex --function factorial

## Exit Codes

- 0 - All metrics within thresholds
- 1 - Warnings (exceeded thresholds)
- 2 - Error during analysis