{"id":29618717,"url":"https://github.com/bytecodealliance/tree-sitter-wit","last_synced_at":"2026-01-12T06:34:58.212Z","repository":{"id":230880233,"uuid":"780329266","full_name":"bytecodealliance/tree-sitter-wit","owner":"bytecodealliance","description":"Tree Sitter grammar for Web Assembly Interface Types","archived":false,"fork":false,"pushed_at":"2025-06-30T20:32:31.000Z","size":467,"stargazers_count":14,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-19T06:33:00.923Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytecodealliance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-04-01T08:36:42.000Z","updated_at":"2025-07-17T18:32:09.000Z","dependencies_parsed_at":"2025-06-24T20:22:25.190Z","dependency_job_id":"0df901e5-ce88-4655-8b6c-3bad397ae74d","html_url":"https://github.com/bytecodealliance/tree-sitter-wit","commit_stats":null,"previous_names":["liamwh/tree-sitter-wit","bytecodealliance/tree-sitter-wit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bytecodealliance/tree-sitter-wit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecodealliance%2Ftree-sitter-wit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecodealliance%2Ftree-sitter-wit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecodealliance%2Ftree-sitter-wit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecodealliance%2Ftree-sitter-wit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytecodealliance","download_url":"https://codeload.github.com/bytecodealliance/tree-sitter-wit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytecodealliance%2Ftree-sitter-wit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266229672,"owners_count":23896312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-21T02:32:35.627Z","updated_at":"2026-01-12T06:34:58.180Z","avatar_url":"https://github.com/bytecodealliance.png","language":"JavaScript","readme":"# tree-sitter-wit\n\n[![CI][ci]](https://github.com/liamwh/tree-sitter-wit/actions/workflows/ci.yml)\n[![discord][discord]](https://discord.gg/w7nTvsVJhm)\n[![matrix][matrix]](https://matrix.to/#/#tree-sitter-chat:matrix.org)\n\nWebAssembly Interface Types (WIT) grammar for [tree-sitter](https://github.com/tree-sitter/tree-sitter).\n\nFor an infographic of the [WIT spec](https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md), please see the [WIT Cheatsheet](https://cosmonic.com/downloads/WIT-Cheatsheet-v1.2.pdf) by [Cosmonic](https://cosmonic.com/).\n\n## Example\n\n![Example](./docs/images/highlighting-example.png)\n\n## Installation\n\n### Neovim\n\nNeovim users can use the [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) plugin to install the grammar.\n\n#### Using [Lazy.nvim](https://github.com/folke/lazy.nvim) package manager\n\n1. Add the following to your Lua configuration:\n\n    ```lua\n    return {\n      \"nvim-treesitter/nvim-treesitter\",\n      opts = {\n          ensure_installed = {\n              \"wit\",\n          }\n      }\n    }\n    ```\n\n#### Manual Installation\n\n1. Add the following to your init.lua:\n\n    ```lua\n    local parser_config = require \"nvim-treesitter.parsers\".get_parser_configs()\n    parser_config.wit = {\n      install_info = {\n        url = \"https://github.com/liamwh/tree-sitter-wit\",\n        files = { \"src/parser.c\" },\n        maintainers = { \"@liamwh\" },\n        branch = \"main\",\n      }\n    }\n    ```\n\n1. Clone the repo\n1. Ensure you have just installed\n1. Then run `just install-local` from the root of the repo; this will copy the queries into the directory used by Neovim\n1. Then in Neovim run `TSInstall wit`\n1. And you should enjoy the syntax highlighting! Please let me know if this works for you 😊\n\n## Contributing\n\nPlease see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.\n\n[ci]: https://img.shields.io/github/actions/workflow/status/liamwh/tree-sitter-wit/ci.yml?logo=github\u0026label=CI\n[discord]: https://img.shields.io/discord/1063097320771698699?logo=discord\u0026label=discord\n[matrix]: https://img.shields.io/matrix/tree-sitter-chat%3Amatrix.org?logo=matrix\u0026label=matrix\n\u003c!-- [npm]: https://img.shields.io/npm/v/tree-sitter-wit?logo=npm --\u003e\n\u003c!-- [crates]: https://img.shields.io/crates/v/tree-sitter-wit?logo=rust --\u003e\n\u003c!-- [pypi]: https://img.shields.io/pypi/v/tree-sitter-wit?logo=pypi\u0026logoColor=ffd242 --\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytecodealliance%2Ftree-sitter-wit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytecodealliance%2Ftree-sitter-wit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytecodealliance%2Ftree-sitter-wit/lists"}