summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/main.ml20
1 files changed, 16 insertions, 4 deletions
diff --git a/bin/main.ml b/bin/main.ml
index c915255..a7120ad 100644
--- a/bin/main.ml
+++ b/bin/main.ml
@@ -1974,8 +1974,8 @@ let lang_check path =
language code or path, not a closed set, and [config --show] does not
validate [lang] either (that only happens when a command actually loads
it via [load_lang]). *)
-let config_show ~lang_flag ~template_flag ~format_flag ~overlays_flag ~sigla_style_flag ~sigla_book_flag
- ~sigla_tradition_flag config =
+let config_show ~lang_flag ~template_flag ~format_flag ~flavour_flag ~overlays_flag ~sigla_style_flag
+ ~sigla_book_flag ~sigla_tradition_flag config =
(* VALIDATE BEFORE PRINTING ANYTHING. A usage error used to surface
halfway down the table, so `config --show --sigla-book bogus` exited 2
having already written five rows to stdout -- a caller redirecting
@@ -2001,6 +2001,9 @@ let config_show ~lang_flag ~template_flag ~format_flag ~overlays_flag ~sigla_sty
let lang_value = scalar "lang" lang_flag (Colitur_naming.Config.lang config) "la" in
let _ = scalar "template" template_flag (Colitur_naming.Config.template config) "(none)" in
let _ = scalar "format" format_flag (Colitur_naming.Config.format config) "(none)" in
+ (* "(infer)" rather than "(none)": an unset flavour is not an absence, it
+ means the flavour comes from the template's own extension. *)
+ let _ = scalar "flavour" flavour_flag (Colitur_naming.Config.flavour config) "(infer)" in
(* Default is the resolved LANGUAGE, not a literal "la": a booklet that
asked for --lang fr and named no --sigla-style of its own gets French
citations too, not a silent switch back to Latin punctuation. *)
@@ -2244,7 +2247,8 @@ let () =
Printf.eprintf "colitur: config requires --show\n";
exit 2
end;
- config_show ~lang_flag:lang ~template_flag:template ~format_flag:format ~overlays_flag:overlays
+ config_show ~lang_flag:lang ~template_flag:template ~format_flag:format
+ ~flavour_flag:flavour ~overlays_flag:overlays
~sigla_style_flag:sigla_style ~sigla_book_flag:sigla_book ~sigla_tradition_flag:sigla_tradition
config
| [ "day"; ys ] ->
@@ -2308,7 +2312,15 @@ let () =
~sigla_tradition_flag:sigla_tradition ~config
in
with_year ys (fun y ->
- table_report ~lang:lang_t ~sigla ~template ~flavour_opt:flavour
+ table_report ~lang:lang_t ~sigla ~template
+ (* flag > config > infer from the template's own
+ extension. None here still means "infer", which is
+ the usual case, so this is an option-or rather than
+ a Config.resolve with a default. *)
+ ~flavour_opt:
+ (match flavour with
+ | Some _ -> flavour
+ | None -> Colitur_naming.Config.flavour config)
~overlays:effective_overlays y)
))
| [ "publish" ] -> (