diff --git a/languages.toml b/languages.toml
index 31deb990..2152633b 100644
--- a/languages.toml
+++ b/languages.toml
@@ -3967,7 +3967,7 @@ indent = { tab-width = 4, unit = "    " }
 
 [[grammar]]
 name = "spade"
-source = { git = "https://gitlab.com/spade-lang/tree-sitter-spade", rev = "4d5b141017c61fe7e168e0a5c5721ee62b0d9572" }
+source = { git = "https://gitlab.com/spade-lang/tree-sitter-spade", rev = "78bf09a88fc1d396f66b69879f908fc6bd2e6934" }
 
 [[language]]
 name = "amber"
diff --git a/runtime/queries/spade/highlights.scm b/runtime/queries/spade/highlights.scm
index 08511b85..ba5d5d73 100644
--- a/runtime/queries/spade/highlights.scm
+++ b/runtime/queries/spade/highlights.scm
@@ -56,13 +56,11 @@
 ] @keyword.import
 
 [
-    "$if"
-    "$else"
-    "$config"
+    "gen"
 ] @keyword.directive
 
-((comptime_if  ["{" "}"] @keyword.directive))
-((comptime_else  ["{" "}"] @keyword.directive))
+((gen_if_expression  ["if" "else"] @keyword.directive))
+((naked_gen_if_expression  ["if" "else"] @keyword.directive))
 
 ((attribute) ["#" "[" "]"] @punctuation.delimiter)