Basic syntax and snippet support for the Ebitengine Kage shading language.
Ebitengine adopts an original shading language 'Kage'. This has a compatible syntax with Go, but the details are different. Kage has high portability. Ebitengine uses graphics libraries like OpenGL or Metal and this depends on environments, but Kage is compiled on the fly so that this works equally everywhere.
Manual installation
Make sure you are using vim > 8.0.2
with python3
support. Building the latest version of vim:
git clone https://github.com/vim/vim.git
cd vim/src/
./configure --enable-python3interp
make
sudo make install
Install vim-plug
plugin manager:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Install vim-easycomplete
and ultisnips
to support hints and snippets:
Plug 'jayli/vim-easycomplete'
Plug 'SirVer/ultisnips'
Install sedyh/ebitengine-kage-vim
to enable syntax highlighting and snippet support for Kage:
Plug 'sedyh/ebitengine-kage-vim'
This plugin provides basic Kage language support for Ebitengine. It includes keywords, types, literals and snippets.
To quickly start writing a shader, you can type "fragment" or "package".
The plugin provides a short help for each feature in Kage.
You can see a list of all built-in functions by typing "kage".
The plugin will highlight complex numbers despite the fact that, at the moment, Kage does not support them.
There are some problems with displaying scientific notation for floating point numbers (two numbers with the -+ operator without spaces will be highlighted as one).