#language-server #lsp #hierarchy

app wat_server

WebAssembly Text Format language server

5 unstable releases

new 0.4.0 Mar 30, 2025
0.3.2 Feb 7, 2025
0.3.1 Feb 6, 2025
0.3.0 Feb 5, 2025
0.2.0 Jan 5, 2025

#39 in Text editors

Download history 140/week @ 2025-01-05 4/week @ 2025-01-12 350/week @ 2025-02-02 48/week @ 2025-02-09 9/week @ 2025-02-16

417 downloads per month

MIT license

455KB
13K SLoC

WebAssembly Language Tools

WebAssembly Language Tools aims to provide and improve the editing experience of WebAssembly Text Format. It also provides an out-of-the-box formatter (a.k.a. pretty printer) for WebAssembly Text Format.

📌 Features

Code Completion
Go to Definition
Find References
Hover
Rename
Document Symbols
Diagnostics
Inlay Hint
Code Action
Formatting
Semantic Highlighting
Call Hierarchy
Signature Help

🍵 Usage

We've provided pre-built binaries on GitHub Releases. You can download it according to your platform, then extract it from the compressed file.

Or, if you've installed Rust, you can run Cargo to install it globally:

cargo install wat_server

Editor Support

  • Visual Studio Code: Install the WebAssembly Language Tools extension.
  • Neovim: Built-in support in nvim-lspconfig:
    require("lspconfig").wasm_language_tools.setup({
      -- `settings` section is optional
      settings = { format = {}, lint = {} },
    })
    
  • Zed: Install the WebAssembly Text Format extension.
  • Helix: Add the following lines to <config_dir>/helix/languages.toml:
    [language-server.wasm-language-tools]
    command = "wat_server" # or the absolute path to the binary
    args = []
    config = { format = {}, lint = { unused = "warn" } } # this section is optional
    
    [[language]]
    name = "wat"
    language-servers = ["wasm-language-tools"]
    

📜 License

MIT License

Copyright (c) 2024-present Pig Fang

Dependencies

~11MB
~192K SLoC