normalize-languages 0.3.2

Tree-sitter language support and dynamic grammar loading
Documentation
[package]
name = "normalize-languages"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Tree-sitter language support and dynamic grammar loading"

[features]
default = ["langs-all"]

# All languages
langs-all = [
    "langs-core",
    "langs-functional",
    "langs-config",
    "langs-data",
    "langs-markup",
    "langs-hardware",
    "langs-misc",
]

# Core/common languages (~25)
langs-core = [
    "lang-python", "lang-javascript", "lang-typescript", "lang-rust", "lang-go",
    "lang-java", "lang-c", "lang-cpp", "lang-ruby", "lang-php",
    "lang-csharp", "lang-swift", "lang-kotlin", "lang-lua", "lang-bash",
    "lang-json", "lang-yaml", "lang-toml", "lang-html", "lang-css",
    "lang-markdown", "lang-dockerfile", "lang-sql", "lang-xml", "lang-scala",
]

# Functional languages
langs-functional = [
    "lang-haskell", "lang-ocaml", "lang-fsharp", "lang-elixir", "lang-erlang",
    "lang-elm", "lang-gleam", "lang-rescript", "lang-lean", "lang-idris",
    "lang-agda", "lang-commonlisp", "lang-elisp", "lang-scheme", "lang-prolog",
    "lang-clojure",
]

# Config/build files
langs-config = [
    "lang-ini", "lang-hcl", "lang-kdl", "lang-ron", "lang-cmake", "lang-meson",
    "lang-ninja", "lang-nginx", "lang-caddy", "lang-starlark", "lang-nix",
    "lang-sshconfig", "lang-textproto", "lang-capnp", "lang-thrift",
]

# Data/query languages
langs-data = [
    "lang-graphql", "lang-sparql", "lang-jq",
]

# Markup languages
langs-markup = [
    "lang-asciidoc", "lang-typst", "lang-jinja2",
]

# Hardware description languages
langs-hardware = [
    "lang-verilog", "lang-vhdl", "lang-devicetree",
]

# Miscellaneous languages
langs-misc = [
    "lang-ada", "lang-d", "lang-dart", "lang-julia", "lang-matlab", "lang-r",
    "lang-zig", "lang-objc", "lang-groovy", "lang-perl",
    "lang-zsh", "lang-fish", "lang-powershell", "lang-awk", "lang-batch",
    "lang-glsl", "lang-hlsl", "lang-vim", "lang-vb",
    "lang-diff", "lang-dot", "lang-postscript", "lang-query", "lang-tlaplus",
    "lang-uiua", "lang-wit", "lang-x86asm", "lang-asm", "lang-yuri",
    "lang-scss", "lang-vue", "lang-svelte",
]

# Individual language features
lang-ada = []
lang-agda = []
lang-asm = []
lang-asciidoc = []
lang-awk = []
lang-bash = []
lang-batch = []
lang-c = []
lang-caddy = []
lang-capnp = []
lang-clojure = []
lang-cmake = []
lang-commonlisp = []
lang-cpp = []
lang-csharp = []
lang-css = []
lang-d = []
lang-dart = []
lang-devicetree = []
lang-diff = []
lang-dockerfile = []
lang-dot = []
lang-elisp = []
lang-elixir = []
lang-elm = []
lang-erlang = []
lang-fish = []
lang-fsharp = []
lang-gleam = []
lang-glsl = []
lang-go = []
lang-graphql = []
lang-groovy = []
lang-haskell = []
lang-hcl = []
lang-hlsl = []
lang-html = []
lang-idris = []
lang-ini = []
lang-java = []
lang-javascript = []
lang-jinja2 = []
lang-jq = []
lang-json = []
lang-julia = []
lang-kdl = []
lang-kotlin = []
lang-lean = []
lang-lua = []
lang-markdown = []
lang-matlab = []
lang-meson = []
lang-nginx = []
lang-ninja = []
lang-nix = []
lang-objc = []
lang-ocaml = []
lang-perl = []
lang-php = []
lang-postscript = []
lang-powershell = []
lang-prolog = []
lang-python = []
lang-query = []
lang-r = []
lang-rescript = []
lang-ron = []
lang-ruby = []
lang-rust = []
lang-scala = []
lang-scheme = []
lang-scss = []
lang-sparql = []
lang-sql = []
lang-sshconfig = []
lang-starlark = []
lang-svelte = []
lang-swift = []
lang-textproto = []
lang-thrift = []
lang-tlaplus = []
lang-toml = []
lang-typescript = []
lang-typst = []
lang-uiua = []
lang-vb = []
lang-verilog = []
lang-vhdl = []
lang-vim = []
lang-vue = []
lang-wit = []
lang-x86asm = []
lang-xml = []
lang-yaml = []
lang-yuri = []
lang-zig = []
lang-zsh = []

[dependencies]
globset = "0.4"
tree-sitter = "0.26"
tree-sitter-language = "0.1"
libloading.workspace = true
dirs = "5"
libsql = { workspace = true }
log = "0.4"
serde_json = { workspace = true }
thiserror = "2"
ast-grep-core = "0.40.5"
normalize-facts-core = { path = "../normalize-facts-core", version = "0.3.2" }
normalize-language-meta = { path = "../normalize-language-meta", version = "0.3.2" }
regex = "1"
toml = { workspace = true }

[dev-dependencies]
tokio = { workspace = true }