@@ -661,106 +661,94 @@ module Matchers : sig
661661 val select_with_extension : string -> (module Language .S ) option
662662 end
663663
664- module Engine : sig
665- module type S = sig
666- module Make (_ : Language.S ) (_ : Metasyntax.S ) (_ : External.S ) : Matcher. S
667-
668- (* * {4 Supported Matchers} *)
669- module Text : Matcher .S
670-
671- module Paren : Matcher .S
672- module Dyck : Matcher .S
673- module JSON : Matcher .S
674- module JSONC : Matcher .S
675- module GraphQL : Matcher .S
676- module Dhall : Matcher .S
677- module Latex : Matcher .S
678- module Assembly : Matcher .S
679- module Clojure : Matcher .S
680- module Lisp : Matcher .S
681- module Generic : Matcher .S
682- module Bash : Matcher .S
683- module Ruby : Matcher .S
684- module Elixir : Matcher .S
685- module Python : Matcher .S
686- module Html : Matcher .S
687- module Xml : Matcher .S
688- module SQL : Matcher .S
689- module Erlang : Matcher .S
690- module C : Matcher .S
691- module Csharp : Matcher .S
692- module Java : Matcher .S
693- module CSS : Matcher .S
694- module Kotlin : Matcher .S
695- module Scala : Matcher .S
696- module Nim : Matcher .S
697- module Matlab : Matcher .S
698- module Dart : Matcher .S
699- module Php : Matcher .S
700- module Go : Matcher .S
701- module Javascript : Matcher .S
702- module Jsx : Matcher .S
703- module Typescript : Matcher .S
704- module Tsx : Matcher .S
705- module Swift : Matcher .S
706- module Rust : Matcher .S
707- module R : Matcher .S
708- module OCaml : Matcher .S
709- module Reason : Matcher .S
710- module Fsharp : Matcher .S
711- module Pascal : Matcher .S
712- module Julia : Matcher .S
713- module Fortran : Matcher .S
714- module Haskell : Matcher .S
715- module HCL : Matcher .S
716- module Elm : Matcher .S
717- module Zig : Matcher .S
718- module Coq : Matcher .S
719- module Move : Matcher .S
720- module Solidity : Matcher .S
721- module C_nested_comments : Matcher .S
722-
723- (* * [all] returns all default matchers. *)
724- val all : (module Matcher .S ) list
725-
726- (* * [select_with_extension metasyntax external file_extension] is a
727- convenience function that returns a matcher associated with a
728- [file_extension]. E.g., use ".c" to get the C matcher. For a full list
729- of extensions associated with matchers, run comby -list. If
730- [metasyntax] is specified, the matcher will use a custom metasyntax
731- definition instead of the default. An experimental [external] callback
732- is a general callback for handling external properties in the rewrite
733- template. *)
734- val select_with_extension
735- : ?metasyntax:Metasyntax. t
736- -> ?external_handler:External. t
737- -> string
738- -> (module Matcher. S ) option
739-
740- (* * [create metasyntax external syntax] creates a matcher for a language
741- defined by [syntax]. If [metasyntax] is specified, the matcher will use
742- a custom metasyntax definition instead of the default. An experimental
743- [external] callback is a general callback for handling external
744- properties in the rewrite template. *)
745- val create
746- : ?metasyntax:metasyntax
747- -> ?external_handler:External. t
748- -> Language.Syntax. t
749- -> (module Matcher. S )
750- end
751- end
752-
753- (* * {3 Alpha Matcher}
754-
755- Alpha is the match engine that defines default matchers for languages.
756- *)
757- module Alpha : Engine .S
758-
759- (* * {3 Omega Matcher}
760-
761- Alternative, partial, experimental match engine.
762- *)
763- module Omega : Engine .S
664+ (* * {3 Matchers}
665+
666+ Default matchers for each supported language, plus helpers to construct
667+ matchers from a file extension or a custom language syntax. *)
668+ module Make (_ : Language.S ) (_ : Metasyntax.S ) (_ : External.S ) : Matcher. S
669+
670+ (* * {4 Supported Matchers} *)
671+ module Text : Matcher .S
672+
673+ module Paren : Matcher .S
674+ module Dyck : Matcher .S
675+ module JSON : Matcher .S
676+ module JSONC : Matcher .S
677+ module GraphQL : Matcher .S
678+ module Dhall : Matcher .S
679+ module Latex : Matcher .S
680+ module Assembly : Matcher .S
681+ module Clojure : Matcher .S
682+ module Lisp : Matcher .S
683+ module Generic : Matcher .S
684+ module Bash : Matcher .S
685+ module Ruby : Matcher .S
686+ module Elixir : Matcher .S
687+ module Python : Matcher .S
688+ module Html : Matcher .S
689+ module Xml : Matcher .S
690+ module SQL : Matcher .S
691+ module Erlang : Matcher .S
692+ module C : Matcher .S
693+ module Csharp : Matcher .S
694+ module Java : Matcher .S
695+ module CSS : Matcher .S
696+ module Kotlin : Matcher .S
697+ module Scala : Matcher .S
698+ module Nim : Matcher .S
699+ module Matlab : Matcher .S
700+ module Dart : Matcher .S
701+ module Php : Matcher .S
702+ module Go : Matcher .S
703+ module Javascript : Matcher .S
704+ module Jsx : Matcher .S
705+ module Typescript : Matcher .S
706+ module Tsx : Matcher .S
707+ module Swift : Matcher .S
708+ module Rust : Matcher .S
709+ module R : Matcher .S
710+ module OCaml : Matcher .S
711+ module Reason : Matcher .S
712+ module Fsharp : Matcher .S
713+ module Pascal : Matcher .S
714+ module Julia : Matcher .S
715+ module Fortran : Matcher .S
716+ module Haskell : Matcher .S
717+ module HCL : Matcher .S
718+ module Elm : Matcher .S
719+ module Zig : Matcher .S
720+ module Coq : Matcher .S
721+ module Move : Matcher .S
722+ module Solidity : Matcher .S
723+ module C_nested_comments : Matcher .S
724+
725+ (* * [all] returns all default matchers. *)
726+ val all : (module Matcher .S ) list
727+
728+ (* * [select_with_extension metasyntax external file_extension] is a
729+ convenience function that returns a matcher associated with a
730+ [file_extension]. E.g., use ".c" to get the C matcher. For a full list
731+ of extensions associated with matchers, run comby -list. If
732+ [metasyntax] is specified, the matcher will use a custom metasyntax
733+ definition instead of the default. An experimental [external] callback
734+ is a general callback for handling external properties in the rewrite
735+ template. *)
736+ val select_with_extension
737+ : ?metasyntax:Metasyntax. t
738+ -> ?external_handler:External. t
739+ -> string
740+ -> (module Matcher. S ) option
741+
742+ (* * [create metasyntax external syntax] creates a matcher for a language
743+ defined by [syntax]. If [metasyntax] is specified, the matcher will use
744+ a custom metasyntax definition instead of the default. An experimental
745+ [external] callback is a general callback for handling external
746+ properties in the rewrite template. *)
747+ val create
748+ : ?metasyntax:metasyntax
749+ -> ?external_handler:External. t
750+ -> Language.Syntax. t
751+ -> (module Matcher. S )
764752
765753 (* * {3 Rewrite}
766754
0 commit comments