cli/src/extract/extract library

Extract command implementation for shard_i18n CLI.

This module provides the extract command that scans Dart source files for i18n API usage and compares with JSON translation files.

Classes

AutoFixer
Fixes discrepancies between code and JSON translation files.
ComparisonResult
Result of comparing code keys against JSON translation files.
DiffReporter
Git-style diff output reporter.
ExtractedKey
Represents a single extracted i18n key from source code.
ExtractionResult
Result of scanning source files for i18n keys.
ExtractReporter
Base class for extract reporters.
FixResult
Result of an auto-fix operation.
I18nKeyExtractor
Extracts i18n keys from Dart source files.
JsonComparator
Compares code keys against JSON translation files.
JsonReporter
Machine-readable JSON output reporter.
PlaceholderMismatch
Mismatch between placeholders in code vs JSON.
PluralFormIssue
Issue with plural form definition.
ScanError
An error encountered during source file scanning.
Statistics
Summary statistics for the comparison.
TextReporter
Human-readable text output reporter.

Enums

I18nCallType
The type of i18n API call detected in source code.
OutputFormat
Output format for the extract command.

Functions

findDartFiles(String path, {List<String>? exclude}) Future<List<String>>
Find all Dart files in a directory (recursively).