Themes
Ki comes with a default set of inbuilt themes. These can be viewed here.
Ki can import themes made for Zed Editor, examples of imported themes1:
- Gruvbox
- Ayu
- One
The user can drop-in zed themes fetched from the internet into the config folder's theme directory, specifically this mean any of the following locations:
- Global
~/.config/ki/themes/ - Workspace
.ki/themes/
Refer to Space Menu to pick and change a theme from within Ki.
To change your default theme refer to Configuration.
User may refer to zed-themes.com to download their preffered themes.
Syntax highlighting
Syntax highlighting is powered by Tree-sitter, and for that to work it needs:
- Tree-sitter grammar (for generating the parser)
- Highlight queries (for determining code sections to highlight)
Tree-sitter grammars is not usually the problem, because there are many open-source tree-sitter grammars out there.
However, the highlight queries are the problem, the grammar author usually provides only barebone highlight queries for their language, and the maintenance of highlight queries is delegated to editor-specific community.
I think this is a tragedy because these highlight queries should not be editor-specific, why should every editor maintain their highlight queries? These wheels should not be reinvented over and over.
Currently, the largest of such communities are Neovim and Helix.
To avoid further fragmentation, Ki currently downloads highlight queries from nvim-treesitter2, until there's a standardized editor-agnostic highlight queries repository.
Footnotes
-
See more at Zed default themes ↩
-
Why not from Helix? Because Helix precedence ordering is not compatible with the tree-sitter-highlight library yet. ↩