Ⅰ. 插件描述
deoplete.nvim source for Assembly base by google/EXEgesisⅡ. 基本信息
|
Ⅲ. 安装方法
使用Vundle管理器安装
在你的.vimrc下添加:Plugin 'deoplete-plugins/deoplete-asm'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall
对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。
使用NeoBundle管理器安装
在你的.vimrc下添加:NeoBundle 'deoplete-plugins/deoplete-asm'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall
使用VimPlug管理器安装
在你的.vimrc下添加:Plug 'deoplete-plugins/deoplete-asm'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall
使用Pathogen管理器安装
在终端中运行以下命令:cd ~/.vim/bundle
git clone https://github.com/deoplete-plugins/deoplete-asm
Ⅳ. 文档说明
# deoplete-asm
deoplete.nvim source for Assembly based by google/EXEgesis.
Overview
deoplete-asm
deoplete-asm provides the Assembly code completion for deoplete.nvim.
The completion candidate is acquired from protobuf binary data. That human-readable text is instructions_transformed.pbtxt.
google/EXEgesis
Google's EXEgesis project aims to improve code generation in compilers, via:
- Providing machine-readable lists of instructions for hardware vendors and microarchitectures.
- Inferring latencies and µOps scheduling for each instruction/microarchitecture pair.
- Providing tools for debugging the performance of code based on this data.
EXEgesis parses and dump protobuf format binary from Intel x86-64 instruction set reference manual:
Support architectures
See google/EXEgesis/README.md#whats-next
- Intel x86-64
Config
g:deoplete#sources#asm#go_mode
If set 1, Use Go Plan9 assembly mode.
Let's try test edit testdata/cpuid_amd64.s with 1.
Update protobuf binary
just make dump_protobuf.
Required docker engine. See also Dockerfile.
TODO
- Support registers