Модуль Format
Модуль Format используется для моделирования и комбинирования красивых принтеров с синтаксическим расширением, которое позволяет печатать форматы, и это очень помогает, когда вы пишете что-то вроде кодаГенератор или принтер структуры данных.
Проблема
Однако существует ограничение в 78 столбцов , которое инициализируется на полях форматера и будет тянуться коставил все, что занимает больше, чем этот предел.
Я печатаю более легкую версию программы Yojson.Basic.json
с использованием модуля Format
, но когда ввод слишком велик, вывод свернут, и этона самом деле не "красиво".
Предварительный просмотр
Вот как он отформатирован, когда он короткий:
Вот как это отформатировано, когда отступ становится слишком большим
Я пытался превысить инастройте этот лимит на 120 столбцов, но безуспешно.
Что я пробовал?
- Использование
Format.pp_set_margin ppf 120
для перенастройки - Использование
Format.pp_set_max_indent
для большего значения
Но оникажется, не имеет никакого эффекта, и нет никакой доступной документации об этом пределе.Я обнаружил это только читая исходный код.
Что я делаю?
let string_of_cst program =
let ppf = Format.str_formatter in
(* I've enabled colors. *)
Format.pp_set_tags ppf colors;
Format.pp_set_formatter_tag_functions ppf with_colors;
(* [print_json] is my printer. *)
print_json ppf program;
(* Get string out of printer. *)
Format.flush_str_formatter ()
Как мне настроить больший лимит?