9 unstable releases (4 breaking)
0.6.0 | Nov 26, 2023 |
---|---|
0.4.2 | Oct 22, 2023 |
0.3.3 | Aug 29, 2023 |
0.3.2 | Mar 30, 2023 |
0.1.0 | Jul 27, 2020 |
#345 in Development tools
1,269 downloads per month
225KB
1.5K
SLoC
Language Server for GAS/GO Assembly
Goal
Provide hovering and autocompletion for assembly files written in the GAS/NASM or GO assembly flavors. It supports assembly files for the x86 or x86_64 instruction sets.
This tool can serve as reference when reading the assembly output of a program. This way you can query what each command exactly does and deliberate about whether the compiler is producing the desired output or whether you have to tweak your code for optimisation.
Installation
Using cargo
Install using the cargo package manager, either from crates.io
or from github:
cargo install asm-lsp
# or to get the latest version from github
cargo install --git https://github.com/bergercookie/asm-lsp
Set up as a language server
Add a section like the following in your settings.json
file:
"asm-lsp": {
"command": "asm-lsp",
"filetypes": [
"asm", "s", "S"
]
}
[OPTIONAL] Configure via .asm-lsp.toml
Add a .asm-lsp.toml
file like the following to your project's root directory
to selectively target specific assemblers and/or instruction sets:
version = "0.1"
[assemblers]
gas = true
go = false
[instruction_sets]
x86 = false
x86_64 = true
Demo
Hovering / Documentation support
Autocomplete
Acknowledgements
Current rust package builds on top of the opcodes python package
Dependencies
~16–31MB
~505K SLoC