normalize_languages/
lib.rs1pub mod ast_grep;
38mod body;
39mod component;
40mod docstring;
41pub mod ecmascript;
42pub mod external_packages;
43pub mod ffi;
44mod grammar_loader;
45pub mod parsers;
46pub mod query_predicates;
47mod registry;
48mod traits;
49
50#[cfg(feature = "lang-ada")]
52pub mod ada;
53#[cfg(feature = "lang-agda")]
54pub mod agda;
55#[cfg(feature = "lang-asciidoc")]
56pub mod asciidoc;
57#[cfg(feature = "lang-asm")]
58pub mod asm;
59#[cfg(feature = "lang-awk")]
60pub mod awk;
61#[cfg(feature = "lang-bash")]
62pub mod bash;
63#[cfg(feature = "lang-batch")]
64pub mod batch;
65#[cfg(feature = "lang-c")]
66pub mod c;
67#[cfg(feature = "lang-caddy")]
68pub mod caddy;
69#[cfg(feature = "lang-capnp")]
70pub mod capnp;
71#[cfg(feature = "lang-clojure")]
72pub mod clojure;
73#[cfg(feature = "lang-cmake")]
74pub mod cmake;
75#[cfg(feature = "lang-commonlisp")]
76pub mod commonlisp;
77#[cfg(feature = "lang-cpp")]
78pub mod cpp;
79#[cfg(feature = "lang-csharp")]
80pub mod csharp;
81#[cfg(feature = "lang-css")]
82pub mod css;
83#[cfg(feature = "lang-d")]
84pub mod d;
85#[cfg(feature = "lang-dart")]
86pub mod dart;
87#[cfg(feature = "lang-devicetree")]
88pub mod devicetree;
89#[cfg(feature = "lang-diff")]
90pub mod diff;
91#[cfg(feature = "lang-dockerfile")]
92pub mod dockerfile;
93#[cfg(feature = "lang-dot")]
94pub mod dot;
95#[cfg(feature = "lang-elisp")]
96pub mod elisp;
97#[cfg(feature = "lang-elixir")]
98pub mod elixir;
99#[cfg(feature = "lang-elm")]
100pub mod elm;
101#[cfg(feature = "lang-erlang")]
102pub mod erlang;
103#[cfg(feature = "lang-fish")]
104pub mod fish;
105#[cfg(feature = "lang-fsharp")]
106pub mod fsharp;
107#[cfg(feature = "lang-gleam")]
108pub mod gleam;
109#[cfg(feature = "lang-glsl")]
110pub mod glsl;
111#[cfg(feature = "lang-go")]
112pub mod go;
113#[cfg(feature = "lang-graphql")]
114pub mod graphql;
115#[cfg(feature = "lang-groovy")]
116pub mod groovy;
117#[cfg(feature = "lang-haskell")]
118pub mod haskell;
119#[cfg(feature = "lang-hcl")]
120pub mod hcl;
121#[cfg(feature = "lang-hlsl")]
122pub mod hlsl;
123#[cfg(feature = "lang-html")]
124pub mod html;
125#[cfg(feature = "lang-idris")]
126pub mod idris;
127#[cfg(feature = "lang-ini")]
128pub mod ini;
129#[cfg(feature = "lang-java")]
130pub mod java;
131#[cfg(feature = "lang-javascript")]
132pub mod javascript;
133#[cfg(feature = "lang-jinja2")]
134pub mod jinja2;
135#[cfg(feature = "lang-jq")]
136pub mod jq;
137#[cfg(feature = "lang-json")]
138pub mod json;
139#[cfg(feature = "lang-julia")]
140pub mod julia;
141#[cfg(feature = "lang-kdl")]
142pub mod kdl;
143#[cfg(feature = "lang-kotlin")]
144pub mod kotlin;
145#[cfg(feature = "lang-lean")]
146pub mod lean;
147#[cfg(feature = "lang-lua")]
148pub mod lua;
149#[cfg(feature = "lang-markdown")]
150pub mod markdown;
151#[cfg(feature = "lang-matlab")]
152pub mod matlab;
153#[cfg(feature = "lang-meson")]
154pub mod meson;
155#[cfg(feature = "lang-nginx")]
156pub mod nginx;
157#[cfg(feature = "lang-ninja")]
158pub mod ninja;
159#[cfg(feature = "lang-nix")]
160pub mod nix;
161#[cfg(feature = "lang-objc")]
162pub mod objc;
163#[cfg(feature = "lang-ocaml")]
164pub mod ocaml;
165#[cfg(feature = "lang-perl")]
166pub mod perl;
167#[cfg(feature = "lang-php")]
168pub mod php;
169#[cfg(feature = "lang-postscript")]
170pub mod postscript;
171#[cfg(feature = "lang-powershell")]
172pub mod powershell;
173#[cfg(feature = "lang-prolog")]
174pub mod prolog;
175#[cfg(feature = "lang-python")]
176pub mod python;
177#[cfg(feature = "lang-query")]
178pub mod query;
179#[cfg(feature = "lang-r")]
180pub mod r;
181#[cfg(feature = "lang-rescript")]
182pub mod rescript;
183#[cfg(feature = "lang-ron")]
184pub mod ron;
185#[cfg(feature = "lang-ruby")]
186pub mod ruby;
187#[cfg(feature = "lang-rust")]
188pub mod rust;
189#[cfg(feature = "lang-scala")]
190pub mod scala;
191#[cfg(feature = "lang-scheme")]
192pub mod scheme;
193#[cfg(feature = "lang-scss")]
194pub mod scss;
195#[cfg(feature = "lang-sparql")]
196pub mod sparql;
197#[cfg(feature = "lang-sql")]
198pub mod sql;
199#[cfg(feature = "lang-sshconfig")]
200pub mod sshconfig;
201#[cfg(feature = "lang-starlark")]
202pub mod starlark;
203#[cfg(feature = "lang-svelte")]
204pub mod svelte;
205#[cfg(feature = "lang-swift")]
206pub mod swift;
207#[cfg(feature = "lang-textproto")]
208pub mod textproto;
209#[cfg(feature = "lang-thrift")]
210pub mod thrift;
211#[cfg(feature = "lang-tlaplus")]
212pub mod tlaplus;
213#[cfg(feature = "lang-toml")]
214pub mod toml;
215#[cfg(feature = "lang-typescript")]
216pub mod typescript;
217#[cfg(feature = "lang-typst")]
218pub mod typst;
219#[cfg(feature = "lang-uiua")]
220pub mod uiua;
221#[cfg(feature = "lang-vb")]
222pub mod vb;
223#[cfg(feature = "lang-verilog")]
224pub mod verilog;
225#[cfg(feature = "lang-vhdl")]
226pub mod vhdl;
227#[cfg(feature = "lang-vim")]
228pub mod vim;
229#[cfg(feature = "lang-vue")]
230pub mod vue;
231#[cfg(feature = "lang-wit")]
232pub mod wit;
233#[cfg(feature = "lang-x86asm")]
234pub mod x86asm;
235#[cfg(feature = "lang-xml")]
236pub mod xml;
237#[cfg(feature = "lang-yaml")]
238pub mod yaml;
239#[cfg(feature = "lang-yuri")]
240pub mod yuri;
241#[cfg(feature = "lang-zig")]
242pub mod zig;
243#[cfg(feature = "lang-zsh")]
244pub mod zsh;
245
246pub use grammar_loader::{GrammarLoadError, GrammarLoader};
248pub use normalize_facts_core::Export;
249pub use query_predicates::satisfies_predicates;
250pub use registry::{
251 is_programming_language, is_test_path, register, support_for_extension, support_for_grammar,
252 support_for_path, supported_languages, test_file_globs_for_path, validate_unused_kinds_audit,
253};
254pub use traits::{
255 ContainerBody, EmbeddedBlock, ImplementsInfo, Import, ImportSpec, Language, LanguageEmbedded,
256 LanguageSymbols, ModuleId, ModuleResolver, Resolution, ResolverConfig, Symbol, SymbolKind,
257 Visibility, simple_function_symbol, simple_symbol,
258};
259
260#[cfg(feature = "lang-ada")]
262pub use ada::Ada;
263#[cfg(feature = "lang-agda")]
264pub use agda::Agda;
265#[cfg(feature = "lang-asciidoc")]
266pub use asciidoc::AsciiDoc;
267#[cfg(feature = "lang-asm")]
268pub use asm::Asm;
269#[cfg(feature = "lang-awk")]
270pub use awk::Awk;
271#[cfg(feature = "lang-bash")]
272pub use bash::Bash;
273#[cfg(feature = "lang-batch")]
274pub use batch::Batch;
275#[cfg(feature = "lang-c")]
276pub use c::C;
277#[cfg(feature = "lang-caddy")]
278pub use caddy::Caddy;
279#[cfg(feature = "lang-capnp")]
280pub use capnp::Capnp;
281#[cfg(feature = "lang-clojure")]
282pub use clojure::Clojure;
283#[cfg(feature = "lang-cmake")]
284pub use cmake::CMake;
285#[cfg(feature = "lang-commonlisp")]
286pub use commonlisp::CommonLisp;
287#[cfg(feature = "lang-cpp")]
288pub use cpp::Cpp;
289#[cfg(feature = "lang-csharp")]
290pub use csharp::CSharp;
291#[cfg(feature = "lang-css")]
292pub use css::Css;
293#[cfg(feature = "lang-d")]
294pub use d::D;
295#[cfg(feature = "lang-dart")]
296pub use dart::Dart;
297#[cfg(feature = "lang-devicetree")]
298pub use devicetree::DeviceTree;
299#[cfg(feature = "lang-diff")]
300pub use diff::Diff;
301#[cfg(feature = "lang-dockerfile")]
302pub use dockerfile::Dockerfile;
303#[cfg(feature = "lang-dot")]
304pub use dot::Dot;
305#[cfg(feature = "lang-elisp")]
306pub use elisp::Elisp;
307#[cfg(feature = "lang-elixir")]
308pub use elixir::Elixir;
309#[cfg(feature = "lang-elm")]
310pub use elm::Elm;
311#[cfg(feature = "lang-erlang")]
312pub use erlang::Erlang;
313#[cfg(feature = "lang-fish")]
314pub use fish::Fish;
315#[cfg(feature = "lang-fsharp")]
316pub use fsharp::FSharp;
317#[cfg(feature = "lang-gleam")]
318pub use gleam::Gleam;
319#[cfg(feature = "lang-glsl")]
320pub use glsl::Glsl;
321#[cfg(feature = "lang-go")]
322pub use go::Go;
323#[cfg(feature = "lang-graphql")]
324pub use graphql::GraphQL;
325#[cfg(feature = "lang-groovy")]
326pub use groovy::Groovy;
327#[cfg(feature = "lang-haskell")]
328pub use haskell::Haskell;
329#[cfg(feature = "lang-hcl")]
330pub use hcl::Hcl;
331#[cfg(feature = "lang-hlsl")]
332pub use hlsl::Hlsl;
333#[cfg(feature = "lang-html")]
334pub use html::Html;
335#[cfg(feature = "lang-idris")]
336pub use idris::Idris;
337#[cfg(feature = "lang-ini")]
338pub use ini::Ini;
339#[cfg(feature = "lang-java")]
340pub use java::Java;
341#[cfg(feature = "lang-javascript")]
342pub use javascript::JavaScript;
343#[cfg(feature = "lang-jinja2")]
344pub use jinja2::Jinja2;
345#[cfg(feature = "lang-jq")]
346pub use jq::Jq;
347#[cfg(feature = "lang-json")]
348pub use json::Json;
349#[cfg(feature = "lang-julia")]
350pub use julia::Julia;
351#[cfg(feature = "lang-kdl")]
352pub use kdl::Kdl;
353#[cfg(feature = "lang-kotlin")]
354pub use kotlin::Kotlin;
355#[cfg(feature = "lang-lean")]
356pub use lean::Lean;
357#[cfg(feature = "lang-lua")]
358pub use lua::Lua;
359#[cfg(feature = "lang-markdown")]
360pub use markdown::Markdown;
361#[cfg(feature = "lang-matlab")]
362pub use matlab::Matlab;
363#[cfg(feature = "lang-meson")]
364pub use meson::Meson;
365#[cfg(feature = "lang-nginx")]
366pub use nginx::Nginx;
367#[cfg(feature = "lang-ninja")]
368pub use ninja::Ninja;
369#[cfg(feature = "lang-nix")]
370pub use nix::Nix;
371#[cfg(feature = "lang-objc")]
372pub use objc::ObjC;
373#[cfg(feature = "lang-ocaml")]
374pub use ocaml::OCaml;
375#[cfg(feature = "lang-perl")]
376pub use perl::Perl;
377#[cfg(feature = "lang-php")]
378pub use php::Php;
379#[cfg(feature = "lang-postscript")]
380pub use postscript::PostScript;
381#[cfg(feature = "lang-powershell")]
382pub use powershell::PowerShell;
383#[cfg(feature = "lang-prolog")]
384pub use prolog::Prolog;
385#[cfg(feature = "lang-python")]
386pub use python::Python;
387#[cfg(feature = "lang-query")]
388pub use query::Query;
389#[cfg(feature = "lang-r")]
390pub use r::R;
391#[cfg(feature = "lang-rescript")]
392pub use rescript::ReScript;
393#[cfg(feature = "lang-ron")]
394pub use ron::Ron;
395#[cfg(feature = "lang-ruby")]
396pub use ruby::Ruby;
397#[cfg(feature = "lang-rust")]
398pub use rust::{Rust, RustModuleResolver};
399#[cfg(feature = "lang-scala")]
400pub use scala::Scala;
401#[cfg(feature = "lang-scheme")]
402pub use scheme::Scheme;
403#[cfg(feature = "lang-scss")]
404pub use scss::Scss;
405#[cfg(feature = "lang-sparql")]
406pub use sparql::Sparql;
407#[cfg(feature = "lang-sql")]
408pub use sql::Sql;
409#[cfg(feature = "lang-sshconfig")]
410pub use sshconfig::SshConfig;
411#[cfg(feature = "lang-starlark")]
412pub use starlark::Starlark;
413#[cfg(feature = "lang-svelte")]
414pub use svelte::Svelte;
415#[cfg(feature = "lang-swift")]
416pub use swift::Swift;
417#[cfg(feature = "lang-textproto")]
418pub use textproto::TextProto;
419#[cfg(feature = "lang-thrift")]
420pub use thrift::Thrift;
421#[cfg(feature = "lang-tlaplus")]
422pub use tlaplus::TlaPlus;
423#[cfg(feature = "lang-toml")]
424pub use toml::Toml;
425#[cfg(feature = "lang-typescript")]
426pub use typescript::{Tsx, TypeScript};
427#[cfg(feature = "lang-typst")]
428pub use typst::Typst;
429#[cfg(feature = "lang-uiua")]
430pub use uiua::Uiua;
431#[cfg(feature = "lang-vb")]
432pub use vb::VB;
433#[cfg(feature = "lang-verilog")]
434pub use verilog::Verilog;
435#[cfg(feature = "lang-vhdl")]
436pub use vhdl::Vhdl;
437#[cfg(feature = "lang-vim")]
438pub use vim::Vim;
439#[cfg(feature = "lang-vue")]
440pub use vue::Vue;
441#[cfg(feature = "lang-wit")]
442pub use wit::Wit;
443#[cfg(feature = "lang-x86asm")]
444pub use x86asm::X86Asm;
445#[cfg(feature = "lang-xml")]
446pub use xml::Xml;
447#[cfg(feature = "lang-yaml")]
448pub use yaml::Yaml;
449#[cfg(feature = "lang-yuri")]
450pub use yuri::Yuri;
451#[cfg(feature = "lang-zig")]
452pub use zig::Zig;
453#[cfg(feature = "lang-zsh")]
454pub use zsh::Zsh;