Xberg

Elixir

Built with alefRustPythonNode.jsWASMJavaGoC#PHPRubyElixirDartKotlinSwiftZigC FFI
<!-- Project Info -->
<a href="https://github.com/xberg-io/tree-sitter-language-pack/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
</a>
<a href="https://docs.tree-sitter-language-pack.xberg.io">
<img src="https://img.shields.io/badge/Docs-tree--sitter--language--pack-007ec6" alt="Documentation" />
</a>
Join Discord

Pre-compiled tree-sitter grammars for 371 programming languages with Elixir bindings via Rustler NIF.

What This Package Provides

Installation

Add to mix.exs:

defp deps do
[
{:tree_sitter_language_pack, "~> 1.15.7"}
]
end

Quick Start

config_value = %TreeSitterLanguagePack.ProcessConfig{language: "python"}
result = TreeSitterLanguagePack.process("\# A comment\ndef greet(name):\n \"\"\"Say hello.\"\"\"\n return f'Hi {name}'\n\nimport os\n", config_value)
IO.inspect(result.language)
IO.inspect(result.structure)
IO.inspect(Enum.at(result.structure, 0).kind)
IO.inspect(result.imports)
IO.inspect(result.metrics.total_lines)
IO.inspect(result.metrics.error_count)

Features

Documentation

Part of Xberg

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Join our Discord community for questions and discussion.

License

MIT -- see LICENSE for details.