diff --git a/lib/kernel/comby_kernel.mli b/lib/kernel/comby_kernel.mli index 79de29c..10d3acb 100644 --- a/lib/kernel/comby_kernel.mli +++ b/lib/kernel/comby_kernel.mli @@ -621,6 +621,7 @@ module Matchers : sig module Julia : Language.S module Fortran : Language.S module Haskell : Language.S + module HCL : Language.S module Elm : Language.S module Zig : Language.S module Coq : Language.S @@ -681,6 +682,7 @@ module Matchers : sig module Julia : Matcher.S module Fortran : Matcher.S module Haskell : Matcher.S + module HCL : Matcher.S module Elm : Matcher.S module Zig: Matcher.S module Coq: Matcher.S diff --git a/lib/kernel/matchers/engine.ml b/lib/kernel/matchers/engine.ml index ee235c2..ac0bf9b 100644 --- a/lib/kernel/matchers/engine.ml +++ b/lib/kernel/matchers/engine.ml @@ -76,6 +76,7 @@ module Make (Make : Types.Language.S -> Types.Metasyntax.S -> Types.Matcher.S) : module Julia = Make (Julia) (Metasyntax.Default) module Fortran = Make (Fortran) (Metasyntax.Default) module Haskell = Make (Haskell) (Metasyntax.Default) + module HCL = Make (HCL) (Metasyntax.Default) module Elm = Make (Elm) (Metasyntax.Default) module Zig = Make (Zig) (Metasyntax.Default) module Coq = Make (Coq) (Metasyntax.Default) @@ -101,6 +102,7 @@ module Make (Make : Types.Language.S -> Types.Metasyntax.S -> Types.Matcher.S) : ; (module Go) ; (module Html) ; (module Haskell) + ; (module HCL) ; (module Java) ; (module Javascript) ; (module Jsx) diff --git a/lib/kernel/matchers/languages.ml b/lib/kernel/matchers/languages.ml index b10ea43..bd0c050 100644 --- a/lib/kernel/matchers/languages.ml +++ b/lib/kernel/matchers/languages.ml @@ -497,6 +497,23 @@ module Php = struct end end +module HCL = struct + module Info = struct + let name = "HashiCorp Configuration Language" + let extensions = [".hcl"] + end + + module Syntax = struct + include Generic.Syntax + + let comments = + [ Multiline ("/*", "*/") + ; Until_newline "//" + ; Until_newline "#" + ] + end +end + module Go = struct module Info = struct let name = "Go" @@ -882,6 +899,7 @@ let all: (module Types.Language.S) list = ; (module Go) ; (module Html) ; (module Haskell) + ; (module HCL) ; (module Java) ; (module Javascript) ; (module Jsx) diff --git a/lib/kernel/matchers/languages.mli b/lib/kernel/matchers/languages.mli index ca7807f..0dadbee 100644 --- a/lib/kernel/matchers/languages.mli +++ b/lib/kernel/matchers/languages.mli @@ -42,6 +42,7 @@ module Fsharp : Language.S module Pascal : Language.S module Julia : Language.S module Fortran : Language.S +module HCL : Language.S module Haskell : Language.S module Elm : Language.S module Zig : Language.S diff --git a/lib/kernel/matchers/types.ml b/lib/kernel/matchers/types.ml index 6bb75e3..443c492 100644 --- a/lib/kernel/matchers/types.ml +++ b/lib/kernel/matchers/types.ml @@ -250,6 +250,7 @@ module Engine = struct module Julia : Matcher.S module Fortran : Matcher.S module Haskell : Matcher.S + module HCL : Matcher.S module Elm : Matcher.S module Zig: Matcher.S module Coq: Matcher.S diff --git a/test/common/test_cli_list.ml b/test/common/test_cli_list.ml index 192126a..e410a60 100644 --- a/test/common/test_cli_list.ml +++ b/test/common/test_cli_list.ml @@ -23,6 +23,7 @@ let%expect_test "list_languages" = -matcher .go Go -matcher .html HTML -matcher .hs Haskell + -matcher .hcl HashiCorp Configuration Language -matcher .java Java -matcher .js JavaScript -matcher .jsx JSX