Skip to content

trailofbits/masm-lsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

146 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MASM LSP Server

An LSP server for the Miden assembly language (MASM).

This language server can be run against any IDE that supports the language server protocol. It is installed automatically by the VS Code extension for MASM, but can also be used with other editors such as Neovim, Emacs, or Sublime Text.

The server provides the following features:

  • Go-to-definition and find-references for call targets and constants
  • Hover information for call targets and constants
    Hover documentation example
  • Diagnostics for syntax errors and undefined symbols
  • Inlay hints providing instruction descriptions, or decompilation
    Inlay hints example
  • Decompilation of individual procedures or entire files
    Inline decompilation example
  • Code lenses for instruction stack effects
  • Goto symbol definitions and find references.

It also provides diagnostics for a number of simple static analysis passes implemented in the masm-decompiler crate, such as:

  • Detecting potential type errors due to insufficient type validation (e.g. treating a Felt as an U32 value)
  • Detecting invalid procedure signatures

References

About

An LSP server for the Miden assembly language

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors