IntelliJ
IntelliJ IDEA uses a native JetBrains plugin — kona-idea — the same approach as other first-class JetBrains language plugins. Crema is a real file type with an HTML-layered highlighter, completion, and navigation. There is no language server in the IntelliJ path.
| Repository | konaframework/kona-idea |
| Plugin id | org.konaframework.idea |
| Releases | GitHub Releases (.zip) |
| Products | IntelliJ IDEA Community and Ultimate (2024.2+) |
| Current line | v0.3.0 |
Installing, updating, or removing the plugin requires an IDE restart.
Install
Section titled “Install”- Download the latest
kona-idea-*.zipfrom Releases (current line: v0.3.0). - Settings → Plugins → ⚙ → Install Plugin from Disk… and choose the zip.
- Restart when prompted.
- Open a Crema view (
src/main/resources/views/….crema.htmlor*.crema.kt). Confirm the language chip shows Crema (not HTML). - Open the Kona tool window on the right side of the IDE for grind shortcuts and docs links.
What you get
Section titled “What you get”- Native Crema lexer: HTML colors plus
@directives,{{ }},{!! !!},{{-- --}} @directive completion — type@in a Crema view (autopopup); also Ctrl+Space- Warnings for unknown
@nametokens (emails likehi@example.comare ignored) {{auto-closes as{{ }}with the caret in the middle- View name autocomplete in
Crema.view,Brew.view,engine.make/render,@extends,@include, and similar call sites - Go to view file: place the caret on a view name string and use Ctrl+B or Ctrl+Click (macOS: ⌘B / ⌘Click). Same as Navigate → Declaration.
- DB column completion from Cadence migrations and, when
.envhas a reachableDB_URL, from JDBC metadata - Kona tool window (RIGHT):
./grind serve, migrate, queue/schedule, New Crema View, help, docs - Official Kona brand icons on the tool window, Crema files, scaffold folders, and Grind run configs
- Grind run configuration type for
./grind …(Netty serve, default port4000) - Kona menu: layout, routing, Maven modules, view navigation help
View navigation shortcuts
Section titled “View navigation shortcuts”| Action | Windows / Linux | macOS |
|---|---|---|
| Go to Declaration (open the Crema file) | Ctrl+B or Ctrl+Click | ⌘B or ⌘Click |
Basic completion (view name / @ directive) |
Ctrl+Space | Ctrl+Space |
DB column sources
Section titled “DB column sources”Column suggestions merge two sources when available:
- Migrations — parses
schema.create/schema.tablestubs undersrc/main/{kotlin|java}/database/migrations(id(),string("…"),timestamps(),morphs,dropColumn, …). - JDBC — reads
DB_URL,DB_USERNAME,DB_PASSWORD, and optionalDB_DRIVERfrom the project.envand, if a driver can connect, loads columns fromDatabaseMetaData.
Use them in Cadence / query call sites such as where("…"), select("…"), and orderBy("…").
Develop the plugin
Section titled “Develop the plugin”git clone https://github.com/konaframework/kona-idea.gitcd kona-idea./gradlew test./gradlew buildPlugin # → build/distributions/*.zip./gradlew runIde # sandboxed IntelliJ with the plugin loadedKeep CremaDirectives in the plugin aligned with Crema’s directive set in this repository when you add template directives. Agent resume notes for the plugin live in that repo’s HANDOFF.md.
Other editors
Section titled “Other editors”For VS Code / Cursor or a stdio language server used by other tooling, see Language server and VS Code & Cursor. IntelliJ should use the native plugin above — not an LSP client.