Skip to content

Tree Sitter grammar for Web Assembly Interface Types

Notifications You must be signed in to change notification settings

liamwh/tree-sitter-wit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.