README.md
January 31, 2023 ยท View on GitHub
Ebitengine Kage support for Vim
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.
Installation
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'
Other editors
Features
Basic syntax highlighting
This plugin provides basic Kage language support for Ebitengine. It includes keywords, types, literals and snippets.

Quick start
To quickly start writing a shader, you can type "fragment" or "package".

Short documentation
The plugin provides a short help for each feature in Kage.

List of all built-in functions
You can see a list of all built-in functions by typing "kage".

Known Issues
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).