Ctrl K
ComunidadGuías…

interfaces/semgrep_interfaces/Language.ml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
(* Generated file. Do not edit. *)

(* All the programming languages for which Semgrep has dedicated support. *)
type t =
| Apex
| Bash
| C
| Cairo
| Circom
| Clojure
| Cpp
| Crystal
| Csharp
| Dart
| Dockerfile
| Elixir
| Go
| Hack
| Html
| Java
| Js
| Json
| Jsonnet
| Julia
| Kotlin
| Lisp
| Lua
| Move_on_sui
| Move_on_aptos
| Ocaml
| Php
| Promql
| Protobuf
| Python2
| Python3
| Python
| Ql
| R
| Ruby
| Rust
| Scala
| Scheme
| Solidity
| Swift
| Terraform
| Ts
| Vb
| Vue
| Xml
| Yaml

(*
   Maturity of the support for the programming language as shown to the
   public. The constructors are sorted by increasing maturity, allowing
   meaningful sorting using the default 'compare'.
*)
type maturity =
| Develop
| Alpha
| Beta
| Ga

(*
   Information about a supported programming language for which we have
   a dedicated parser (target analyzer). Some of this information can also be
   used for the purpose of target selection.
*)
type info = {
  id: t;
  id_string: string;
  name: string;
  keys: string list;
  exts: string list;
  maturity: maturity;
  example_ext: string option;
  excluded_exts: string list;
  reverse_exts: string list option;
  shebangs: string list;
  tags: string list;
}

let list = [
{
  id = Apex;
  id_string = "apex";
  name = "Apex";
  keys = [{|apex|}];
  exts = [{|.cls|}; {|.trigger|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Bash;
  id_string = "bash";
  name = "Bash";
  keys = [{|bash|}; {|sh|}];
  exts = [{|.bash|}; {|.sh|}];
  maturity = Alpha;
  example_ext = Some {|.sh|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|bash|}; {|sh|}];
  tags = [];
};
{
  id = C;
  id_string = "c";
  name = "C";
  keys = [{|c|}];
  exts = [{|.c|}; {|.h|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Cairo;
  id_string = "cairo";
  name = "Cairo";
  keys = [{|cairo|}];
  exts = [{|.cairo|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Circom;
  id_string = "circom";
  name = "Circom";
  keys = [{|circom|}];
  exts = [{|.circom|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Clojure;
  id_string = "clojure";
  name = "Clojure";
  keys = [{|clojure|}];
  exts = [{|.clj|}; {|.cljs|}; {|.cljc|}; {|.edn|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Cpp;
  id_string = "cpp";
  name = "C++";
  keys = [{|cpp|}; {|c++|}];
  exts = [{|.cc|}; {|.cpp|}; {|.cxx|}; {|.c++|}; {|.pcc|}; {|.tpp|}; {|.C|}; {|.h|}; {|.hh|}; {|.hpp|}; {|.hxx|}; {|.inl|}; {|.ipp|}];
  maturity = Alpha;
  example_ext = Some {|.cpp|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Crystal;
  id_string = "crystal";
  name = "Crystal";
  keys = [{|crystal|}];
  exts = [{|.cr|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|crystal|}];
  tags = [];
};
{
  id = Csharp;
  id_string = "csharp";
  name = "C#";
  keys = [{|csharp|}; {|c#|}];
  exts = [{|.cs|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Dart;
  id_string = "dart";
  name = "Dart";
  keys = [{|dart|}];
  exts = [{|.dart|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
(*
  'Dockerfile' is the only standard name for Dockerfiles.
  The extension '.Dockerfile' is cited in the official documentation as
  a popular extension. Whatever naming scheme is used in practice and is
  not ambiguous is welcome here.
*)
{
  id = Dockerfile;
  id_string = "dockerfile";
  name = "Dockerfile";
  keys = [{|dockerfile|}; {|docker|}];
  exts = [{|.dockerfile|}; {|.Dockerfile|}; {|Dockerfile|}; {|dockerfile|}];
  maturity = Alpha;
  example_ext = Some {|.dockerfile|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Elixir;
  id_string = "elixir";
  name = "Elixir";
  keys = [{|ex|}; {|elixir|}];
  exts = [{|.ex|}; {|.exs|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [{|is_proprietary|}];
};
{
  id = Go;
  id_string = "go";
  name = "Go";
  keys = [{|go|}; {|golang|}];
  exts = [{|.go|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Hack;
  id_string = "hack";
  name = "Hack";
  keys = [{|hack|}];
  exts = [{|.hack|}; {|.hck|}; {|.hh|}];
  maturity = Develop;
  example_ext = Some {|.hack|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|hhvm|}];
  tags = [];
};
{
  id = Html;
  id_string = "html";
  name = "HTML";
  keys = [{|html|}];
  exts = [{|.htm|}; {|.html|}];
  maturity = Alpha;
  example_ext = Some {|.html|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Java;
  id_string = "java";
  name = "Java";
  keys = [{|java|}];
  exts = [{|.java|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Js;
  id_string = "js";
  name = "JavaScript";
  keys = [{|js|}; {|javascript|}];
  exts = [{|.cjs|}; {|.js|}; {|.jsx|}; {|.mjs|}];
  maturity = Ga;
  example_ext = Some {|.jsx|};
  excluded_exts = [{|.min.js|}];
  reverse_exts = None;
  shebangs = [{|node|}; {|js|}; {|nodejs|}];
  tags = [{|is_js|}];
};
{
  id = Json;
  id_string = "json";
  name = "JSON";
  keys = [{|json|}];
  exts = [{|.json|}; {|.ipynb|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Jsonnet;
  id_string = "jsonnet";
  name = "Jsonnet";
  keys = [{|jsonnet|}];
  exts = [{|.jsonnet|}; {|.libsonnet|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Julia;
  id_string = "julia";
  name = "Julia";
  keys = [{|julia|}];
  exts = [{|.jl|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Kotlin;
  id_string = "kotlin";
  name = "Kotlin";
  keys = [{|kt|}; {|kotlin|}];
  exts = [{|.kt|}; {|.kts|}; {|.ktm|}];
  maturity = Beta;
  example_ext = Some {|.kt|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Lisp;
  id_string = "lisp";
  name = "Lisp";
  keys = [{|lisp|}];
  exts = [{|.lisp|}; {|.cl|}; {|.el|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Lua;
  id_string = "lua";
  name = "Lua";
  keys = [{|lua|}];
  exts = [{|.lua|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|lua|}];
  tags = [];
};
(*
  Move language with SUI flavor
*)
{
  id = Move_on_sui;
  id_string = "move_on_sui";
  name = "Move on Sui";
  keys = [{|move_on_sui|}];
  exts = [{|.move|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
(*
  Move language with Aptos flavor
*)
{
  id = Move_on_aptos;
  id_string = "move_on_aptos";
  name = "Move on Aptos";
  keys = [{|move_on_aptos|}];
  exts = [{|.move|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Ocaml;
  id_string = "ocaml";
  name = "OCaml";
  keys = [{|ocaml|}];
  exts = [{|.ml|}; {|.mli|}];
  maturity = Alpha;
  example_ext = Some {|.ml|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|ocaml|}; {|ocamlscript|}];
  tags = [];
};
{
  id = Php;
  id_string = "php";
  name = "PHP";
  keys = [{|php|}];
  exts = [{|.php|}; {|.tpl|}; {|.phtml|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|php|}];
  tags = [];
};
{
  id = Promql;
  id_string = "promql";
  name = "Prometheus Query Language";
  keys = [{|promql|}];
  exts = [{|.promql|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Protobuf;
  id_string = "protobuf";
  name = "Protocol Buffers";
  keys = [{|proto|}; {|protobuf|}; {|proto3|}];
  exts = [{|.proto|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Python2;
  id_string = "python2";
  name = "Python 2";
  keys = [{|python2|}];
  exts = [{|.py|}; {|.pyi|}];
  maturity = Develop;
  example_ext = Some {|.py|};
  excluded_exts = [];
  reverse_exts = Some [];
  shebangs = [{|python|}; {|python2|}];
  tags = [{|is_python|}];
};
{
  id = Python3;
  id_string = "python3";
  name = "Python 3";
  keys = [{|python3|}];
  exts = [{|.py|}; {|.pyi|}];
  maturity = Develop;
  example_ext = Some {|.py|};
  excluded_exts = [];
  reverse_exts = Some [];
  shebangs = [{|python|}; {|python3|}];
  tags = [{|is_python|}];
};
{
  id = Python;
  id_string = "python";
  name = "Python";
  keys = [{|py|}; {|python|}];
  exts = [{|.py|}; {|.pyi|}];
  maturity = Ga;
  example_ext = Some {|.py|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|python|}; {|python2|}; {|python3|}];
  tags = [{|is_python|}];
};
{
  id = Ql;
  id_string = "ql";
  name = "QL";
  keys = [{|ql|}];
  exts = [{|.ql|}; {|.qll|}];
  maturity = Alpha;
  example_ext = Some {|.ql|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = R;
  id_string = "r";
  name = "R";
  keys = [{|r|}];
  exts = [{|.r|}; {|.R|}];
  maturity = Alpha;
  example_ext = Some {|.R|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Ruby;
  id_string = "ruby";
  name = "Ruby";
  keys = [{|ruby|}];
  exts = [{|.rb|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|ruby|}];
  tags = [];
};
{
  id = Rust;
  id_string = "rust";
  name = "Rust";
  keys = [{|rust|}];
  exts = [{|.rs|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|run-cargo-script|}];
  tags = [];
};
{
  id = Scala;
  id_string = "scala";
  name = "Scala";
  keys = [{|scala|}];
  exts = [{|.scala|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [{|scala|}];
  tags = [];
};
{
  id = Scheme;
  id_string = "scheme";
  name = "Scheme";
  keys = [{|scheme|}];
  exts = [{|.scm|}; {|.ss|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Solidity;
  id_string = "solidity";
  name = "Solidity";
  keys = [{|solidity|}; {|sol|}];
  exts = [{|.sol|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Swift;
  id_string = "swift";
  name = "Swift";
  keys = [{|swift|}];
  exts = [{|.swift|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Terraform;
  id_string = "terraform";
  name = "Terraform";
  keys = [{|tf|}; {|hcl|}; {|terraform|}];
  exts = [{|.tf|}; {|.hcl|}; {|.tfvars|}];
  maturity = Ga;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Ts;
  id_string = "ts";
  name = "TypeScript";
  keys = [{|ts|}; {|typescript|}];
  exts = [{|.ts|}; {|.tsx|}; {|.mts|}; {|.cts|}];
  maturity = Ga;
  example_ext = Some {|.tsx|};
  excluded_exts = [{|.d.ts|}];
  reverse_exts = None;
  shebangs = [{|ts-node|}];
  tags = [{|is_js|}];
};
{
  id = Vb;
  id_string = "vb";
  name = "Vb";
  keys = [{|vb|}];
  exts = [{|.vb|}];
  maturity = Alpha;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Vue;
  id_string = "vue";
  name = "Vue";
  keys = [{|vue|}];
  exts = [{|.vue|}];
  maturity = Develop;
  example_ext = None;
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Xml;
  id_string = "xml";
  name = "XML";
  keys = [{|xml|}];
  exts = [{|.xml|}; {|.plist|}];
  maturity = Alpha;
  example_ext = Some {|.xml|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
{
  id = Yaml;
  id_string = "yaml";
  name = "YAML";
  keys = [{|yaml|}];
  exts = [{|.yml|}; {|.yaml|}];
  maturity = Alpha;
  example_ext = Some {|.yaml|};
  excluded_exts = [];
  reverse_exts = None;
  shebangs = [];
  tags = [];
};
]