vscode-kanata
![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/rszyma/vscode-kanata/rust.yml)
A VS Code extension that adds language support for kanata configuration files.
Available at
This extension aims to stay up-to-date with latest kanata git.
Whenever something changes in parser
folder in kanata repository, at the end of the day,
Github Actions will automatically build a new version of this extension with updated parser.
Features
Kanata config files are detected by .kbd
file extension.
Syntax highlighting
keywords, action identifiers, alias handles etc.
![](https://github.com/rszyma/vscode-kanata/raw/HEAD/assets/syntax-highlighting-showcase.png)
Checking for config errors
Config will be parsed and validated, when saving document.
![](https://github.com/rszyma/vscode-kanata/raw/HEAD/assets/config-parsing-showcase.gif)
Support for including other files
If you use include
configuration items in your kanata config, make sure to adjust the following settings:
vscode-kanata.includesAndWorkspaces
vscode-kanata.mainConfigFile
Important: Absolute paths in include
blocks that point outside the opened workspace aren't supported.
Also, if you work with multiple main files, and find yourself switching mainConfigFile
often,
there's a handy command palette entry:
Kanata: Set current file as main
This is enabled by default, because I've seen a lot of kanata configs, and it seems like
majority of users prefer to align their deflayer
s according to spacial layout of defsrc
.
If you have "Auto format on save enabled" and don't want this feature, you can disable
it in settings (search for "kanata.format").
Goto definition
- CTRL+Click on an identifier to go to definition
- CTRL+Click on a definition to reveal references.
Implemented for aliases, variables, layers, virtualkeys, templates and includes.
Supported in both single-mode and workspace (includes-enabled)
mode.
Contributing
If you have an idea what could be improved, feel free to open an issue or a PR.
Bug reports
If you encounter a bug, please report it here: https://github.com/rszyma/vscode-kanata/issues
Building
See this document for build instructions.
Release notes
See the change log.
Credits