123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172(*********************************************************************************)(* Dunolint - A tool to lint and help manage files in dune projects *)(* Copyright (C) 2024-2025 Mathieu Barbin <mathieu.barbin@gmail.com> *)(* *)(* This file is part of Dunolint. *)(* *)(* Dunolint 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. *)(* *)(* Dunolint 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. *)(*********************************************************************************)moduleComment_handler=Comment_handlermoduleConfig_handler=Config_handlermoduleEnforce_result=Enforce_resultmoduleHandler=HandlermoduleLinter=LintermoduleLinters=LintersmoduleOrdered_set=Ordered_setmoduleSections_handler=Sections_handlermoduleSexp_handler=Sexp_handlermoduleStanza_linter=Stanza_lintermoduleStanza=structtype'at={stanza:'a;path:Relative_path.t;original_sexp:Sexp.t;sexps_rewriter:Sexps_rewriter.t;linter:Linter.t}endmoduletypeS=Dunolinter_intf.Swithtype'astanza:='aStanza.tletmatch_stanza(t:_Stanza.t)=t.stanzaletpath(t:_Stanza.t)=t.pathletoriginal_sexp(t:_Stanza.t)=t.original_sexpletsexps_rewriter(t:_Stanza.t)=t.sexps_rewriterletlinter(t:_Stanza.t)=t.linterleteval_path~path~condition=Blang.evalcondition(function|`equalsvalue->Relative_path.equalpathvalue|`globglob->Dunolint.Glob.testglob(Relative_path.to_stringpath))|>Dunolint.Trilang.const;;modulePrivate=structmoduleStanza=structmoduleFor_create=structtypenonrec'at='aStanza.t={stanza:'a;path:Relative_path.t;original_sexp:Sexp.t;sexps_rewriter:Sexps_rewriter.t;linter:Linter.t}endletcreatet=tendend