A vim plugin for the Khronos Group's SPIR-V standard providing
rich syntax highlighting for disassembled SPIR-V assembly (.spvasm
files) and automatically disassembled binary SPIR-V modules (.spv
files) with interactive visualisation of the ID under the cursor to show, at a
glance, the source of opcode operands.
This plugin does not target the older LLVM IR based SPIR 1.2 and 2.0 specifications.
Using vim-plug.
Plug 'kbenzie/vim-spirv'
Using Vundle.
Plugin 'kbenzie/vim-spirv'
Using vim-pathogen.
git clone https://github.com/kbenzie/vim-spirv.git ~/.vim/bundle/vim-spirv
Enable automatic highlighting of all occurrences of the ID under the cursor.
This is useful for highlighting where an opcode ID is defined and used at a
glance. See g:spirv_current_id_highlight
. To disable this option.
let g:spirv_enable_current_id = 0
Specify the value of the SpirvCurrentID
highlight group, this is only set when
the g:spirv_enable_current_id
option is
enabled. To Customize the highlight group to, for example, make the current ID
bold.
let g:spirv_current_id_highlight = 'term=bold cterm=bold gui=bold'
Enable highlighting extended instruction error highlighting, enabling this
option will parse the file looking for an OpExtInstImport
instruction,
determine the imported instruction set and set the value of that instruction
sets highlight group, E.G. SpirvGlslStd450
, to linked to the
SpirvInstruction
highlight group. If no OpExtInstImport
instruction is
found, or it is commented out, the extended instruction set highlight group
will be linked to SpirvError
. When this option is disabled the extended
instruction set highlight group is set to SpirvInstruction
. To disable this
option.
let g:spirv_enable_extinst_error = 0
Enable automatic disassembly of SPIR-V binary files on :edit
and automatic
assembly on :write
enabling ease of editing. This option depends on
spirv-as
and spirv-dis
being available on the
system PATH
, to override this behavior see
g:spirv_as_path
and g:spirv_dis_path
.
To disable this option.
let g:spirv_enable_autoassemble = 1
Path to the spirv-as
tool used automatically assemble SPIR-V assembly into a
binary when g:spirv_enable_autodisassemble
is enabled. If spirv-as
is on the system PATH
this option
need not be set. Default setting.
let g:spirv_as_path = 'spirv-as'
Path to the spirv-dis
tool used automatically disassemble SPIR-V assembly into
a binary when g:spirv_enable_autodisassemble
is enabled. If spirv-dis
is on the system PATH
this option
need not be set. Default setting.
let g:spirv_dis_path = 'spirv-dis'
See license file.