12 个不稳定版本 (5 个破坏性更新)
| 0.7.4 | 2024年7月30日 |
|---|---|
| 0.7.1 | 2024年6月29日 |
| 0.6.0 | 2023年11月26日 |
| 0.3.2 | 2023年3月30日 |
| 0.2.0 | 2020年7月27日 |
#209 在 开发工具
每月下载量 2,786
1.5MB
5K SLoC
适用于 GAS/GO 汇编的语言服务器
目标
为 GAS/NASM 或 GO 汇编风格编写的汇编文件提供悬停、自动完成、签名帮助、转到定义和查看引用。它支持 x86、x86_64 和 z80 指令集的汇编文件。
此工具在阅读程序的汇编输出时可作为参考。这样您可以查询每个命令的确切功能,并思考编译器是否生成了所需的输出,或者是否需要调整代码以进行优化。
安装
使用 cargo
使用 cargo 包管理器安装,无论是从 crates.io 还是 GitHub
cargo install asm-lsp
# or to get the latest version from github
cargo install --git https://github.com/bergercookie/asm-lsp
设置为语言服务器
在您的 settings.json 文件中添加以下部分
"asm-lsp": {
"command": "asm-lsp",
"filetypes": [
"asm", "s", "S"
]
}
[可选] 通过 .asm-lsp.toml 进行配置
在您的项目根目录和/或 ~/.config/asm-lsp/ (项目配置将覆盖全局配置) 中添加如下 .asm-lsp.toml 文件,以选择性地针对特定的汇编器和/或指令集。
version = "0.1"
[assemblers]
gas = true
go = false
z80 = false
[instruction_sets]
x86 = false
x86_64 = true
z80 = false
[可选] 通过 compile_commands.json/compile_flags.txt 扩展功能
将 compile_commands.json 或 compile_flags.txt 文件添加到项目的 build 目录中,以启用内联诊断功能,以及指定用于悬停功能的其他包含目录。
VSCode 支持
该项目尚未发布任何VSCode扩展包。然而,在 editors/code 目录中有一个开发扩展,其中包含设置说明。
根目录必须包含 .git
LSP会在你的项目根目录中搜索.git目录。请确保你的项目已经配置为git仓库,如果不是,请运行git init。
演示/功能文档
悬停/文档支持

自动补全

诊断

转到定义

查看引用

签名帮助

- 触发签名帮助取决于你的编辑器和LSP客户端。
- 使用Neovim的内置LSP客户端,可以通过命令
:lua vim.lsp.buf.signature_help()来实现。 - 使用coc, 这个评论 建议将
inoremap <silent> ,s <C-r>=CocActionAsync('showSignatureHelp')<CR>映射到插入模式以触发签名帮助。
- 使用Neovim的内置LSP客户端,可以通过命令
致谢
当前的rust包建立在 opcodes python包 之上
依赖
~12–25MB
~405K SLoC