liamwh / tree-sitter-wit

Tree Sitter grammar for Web Assembly Interface Types

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tree-sitter-wit

CI discord matrix

WebAssembly Interface Types (WIT) grammar for tree-sitter.

For an infographic of the WIT spec, please see the WIT Cheatsheet by Cosmonic.

Example

Example

Installation

Neovim

Neovim users can use the nvim-treesitter plugin to install the grammar.

Using Lazy.nvim package manager

  1. Add the following to your Lua configuration:

    return {
      "nvim-treesitter/nvim-treesitter",
      opts = {
          ensure_installed = {
              "wit",
          }
      }
    }

Manual Installation

  1. Add the following to your init.lua:

    local parser_config = require "nvim-treesitter.parsers".get_parser_configs()
    parser_config.wit = {
      install_info = {
        url = "https://github.com/liamwh/tree-sitter-wit",
        files = { "src/parser.c" },
        maintainers = { "@liamwh" },
        branch = "main",
      }
    }
  2. Clone the repo

  3. Ensure you have just installed

  4. Then run just install-local from the root of the repo; this will copy the queries into the directory used by Neovim

  5. Then in Neovim run TSInstall wit

  6. And you should enjoy the syntax highlighting! Please let me know if this works for you 😊

Contributing

Please see the CONTRIBUTING.md file for more information.

About

Tree Sitter grammar for Web Assembly Interface Types


Languages

Language:Lua 56.7%Language:JavaScript 31.6%Language:Scheme 8.2%Language:Just 3.5%