12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364(********************************************************************************)(* crs - A tool for managing code review comments embedded in source code *)(* Copyright (C) 2024-2025 Mathieu Barbin <mathieu.barbin@gmail.com> *)(* *)(* This file is part of crs. *)(* *)(* crs is free software; you can redistribute it and/or modify it under the *)(* terms of the GNU Lesser General Public License as published by the Free *)(* Software Foundation either version 3 of the License, or any later version, *)(* with the LGPL-3.0 Linking Exception. *)(* *)(* crs is distributed in the hope that it will be useful, but WITHOUT ANY *)(* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *)(* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License and *)(* the file `NOTICE.md` at the root of this repository for more details. *)(* *)(* You should have received a copy of the GNU Lesser General Public License *)(* and the LGPL-3.0 Linking Exception along with this library. If not, see *)(* <http://www.gnu.org/licenses/> and <https://spdx.org>, respectively. *)(********************************************************************************)typet=Text_table_ast.tletto_string_ansi=Text_table_ansi.to_stringletto_string_markdown=Text_table_markdown.to_stringmoduleStyle=structincludeText_table_ast.Styleletdefault=Defaultletfg_red =Fg_redendmoduleCell=structincludeText_table_ast.Cellletempty={style=Style.default;text=""}lettext?(style=Style.default)text={style;text}endmoduleAlign=structincludeText_table_ast.AlignendmoduleColumn=structincludeText_table_ast.Columnletmake~header?(align=Align.Left)make_cell={header;align;make_cell}endletmake~columns~rows=Text_table_ast.T{columns;rows}moduleO=structmoduleAlign=AlignmoduleCell=CellmoduleColumn=ColumnmoduleStyle=StyleendmodulePrivate=structmoduleAst=Text_table_astletto_astt=tend