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