Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
e7c0f4a
numfmt: support explicit --unit-separator for suffix parsing
sylvestre Mar 10, 2026
be6d56f
tests: skip unsupported GNU numfmt cases and force symlink refresh
sylvestre Mar 10, 2026
802c9f1
numfmt: add --grouping flag, debug diagnostics, and stricter number v…
sylvestre Mar 10, 2026
4763dac
numfmt: buffer output in non-abort invalid modes and re-enable GNU tests
sylvestre Mar 10, 2026
dc001f2
numfmt: replace double-reverse with forward pass in apply_grouping
sylvestre Mar 19, 2026
bcd1659
numfmt: inline next_field_index into split_next_field
sylvestre Mar 19, 2026
8e81d3c
numfmt: deduplicate suffix validation in split_mergeable_suffix
sylvestre Mar 19, 2026
7160adb
numfmt: simplify write_line buffering logic
sylvestre Mar 19, 2026
d7c53d4
numfmt: use consistent debug warning format
sylvestre Mar 19, 2026
2d48e98
numfmt: adjust the import
sylvestre Mar 19, 2026
ff3998d
numfmt: fix clippy errors, remove ---debug alias, rename write_line t…
sylvestre Mar 19, 2026
834e5ee
numfmt: fix panic on large format widths
sylvestre Mar 19, 2026
dbc95cb
numfmt: fix error message with unit separator and trailing garbage
sylvestre Mar 19, 2026
5e98d8b
numfmt: add GNU test patch for devdebug, help-1, and field-range errors
sylvestre Mar 19, 2026
abd86f6
numfmt: add unit tests for detailed_error_message, parse_number_part,…
sylvestre Mar 20, 2026
9adc4a5
numfmt: address review feedback - rename valid_part, fix dot check, f…
sylvestre Apr 3, 2026
98b222e
numfmt: use repeat_n for padding and simplify suffix validation
sylvestre Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion src/uu/numfmt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,12 @@ path = "src/numfmt.rs"

[dependencies]
clap = { workspace = true }
uucore = { workspace = true, features = ["parser", "ranges"] }
uucore = { workspace = true, features = [
"parser",
"ranges",
"i18n-common",
"i18n-decimal",
] }
thiserror = { workspace = true }
fluent = { workspace = true }
memchr = { workspace = true }
Expand Down
4 changes: 4 additions & 0 deletions src/uu/numfmt/locales/en-US.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ numfmt-help-field = replace the numbers in these input fields; see FIELDS below
numfmt-help-format = use printf style floating-point FORMAT; see FORMAT below for details
numfmt-help-from = auto-scale input numbers to UNITs; see UNIT below
numfmt-help-from-unit = specify the input unit size
numfmt-help-grouping = use locale-defined grouping of digits, for example 1,000,000 (which means it has no effect in the C/POSIX locale)
numfmt-help-to = auto-scale output numbers to UNITs; see UNIT below
numfmt-help-to-unit = the output unit size
numfmt-help-padding = pad the output to N characters; positive N will right-align; negative N will left-align; padding is ignored if the output is wider than N; the default is to automatically pad if a whitespace is found
Expand All @@ -57,6 +58,7 @@ numfmt-error-unsupported-unit = Unsupported unit is specified
numfmt-error-invalid-unit-size = invalid unit size: { $size }
numfmt-error-invalid-padding = invalid padding value { $value }
numfmt-error-invalid-header = invalid header value { $value }
numfmt-error-grouping-cannot-be-combined-with-format = --grouping cannot be combined with --format
numfmt-error-grouping-cannot-be-combined-with-to = grouping cannot be combined with --to
numfmt-error-delimiter-must-be-single-character = the delimiter must be a single character
numfmt-error-invalid-number-empty = invalid number: ''
Expand All @@ -78,4 +80,6 @@ numfmt-error-unknown-invalid-mode = Unknown invalid mode: { $mode }

# Debug messages
numfmt-debug-no-conversion = no conversion option specified
numfmt-debug-grouping-no-effect = grouping has no effect in this locale
numfmt-debug-failed-to-convert = failed to convert some of the input numbers
numfmt-debug-header-ignored = --header ignored with command-line input
9 changes: 9 additions & 0 deletions src/uu/numfmt/locales/fr-FR.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,13 @@ numfmt-after-help = Options d'UNITÉ :
Une précision optionnelle (%.1f) remplacera la précision déterminée par l'entrée.

# Messages d'aide
numfmt-help-debug = afficher des avertissements sur les entrées invalides
numfmt-help-delimiter = utiliser X au lieu d'espaces pour le délimiteur de champ
numfmt-help-field = remplacer les nombres dans ces champs d'entrée ; voir FIELDS ci-dessous
numfmt-help-format = utiliser le FORMAT à virgule flottante de style printf ; voir FORMAT ci-dessous pour les détails
numfmt-help-from = mettre automatiquement à l'échelle les nombres d'entrée vers les UNITÉs ; voir UNIT ci-dessous
numfmt-help-from-unit = spécifier la taille de l'unité d'entrée
numfmt-help-grouping = utiliser le groupement des chiffres défini par la locale, par exemple 1 000 000 (ce qui n'a aucun effet dans la locale C/POSIX)
numfmt-help-to = mettre automatiquement à l'échelle les nombres de sortie vers les UNITÉs ; voir UNIT ci-dessous
numfmt-help-to-unit = la taille de l'unité de sortie
numfmt-help-padding = remplir la sortie à N caractères ; N positif alignera à droite ; N négatif alignera à gauche ; le remplissage est ignoré si la sortie est plus large que N ; la valeur par défaut est de remplir automatiquement si un espace est trouvé
Expand All @@ -55,6 +57,7 @@ numfmt-error-unsupported-unit = Une unité non supportée est spécifiée
numfmt-error-invalid-unit-size = taille d'unité invalide : { $size }
numfmt-error-invalid-padding = valeur de remplissage invalide { $value }
numfmt-error-invalid-header = valeur d'en-tête invalide { $value }
numfmt-error-grouping-cannot-be-combined-with-format = --grouping ne peut pas être combiné avec --format
numfmt-error-grouping-cannot-be-combined-with-to = le groupement ne peut pas être combiné avec --to
numfmt-error-delimiter-must-be-single-character = le délimiteur doit être un seul caractère
numfmt-error-invalid-number-empty = nombre invalide : ''
Expand All @@ -73,3 +76,9 @@ numfmt-error-invalid-format-width-overflow = format invalide '{ $format }' (déb
numfmt-error-invalid-precision = précision invalide dans le format '{ $format }'
numfmt-error-format-too-many-percent = le format '{ $format }' a trop de directives %
numfmt-error-unknown-invalid-mode = Mode invalide inconnu : { $mode }

# Messages de débogage
numfmt-debug-no-conversion = aucune option de conversion spécifiée
numfmt-debug-grouping-no-effect = le groupement n'a aucun effet dans cette locale
numfmt-debug-failed-to-convert = échec de conversion d'une partie des nombres en entrée
numfmt-debug-header-ignored = --header ignoré avec une entrée en ligne de commande
Loading
Loading