diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md
index 9131ff58..bfe6d6b1 100644
--- a/book/src/generated/lang-support.md
+++ b/book/src/generated/lang-support.md
@@ -70,6 +70,7 @@
 | hcl | ✓ |  | ✓ | `terraform-ls` |
 | heex | ✓ | ✓ |  | `elixir-ls` |
 | hocon | ✓ |  | ✓ |  |
+| hoon | ✓ |  |  |  |
 | hosts | ✓ |  |  |  |
 | html | ✓ |  |  | `vscode-html-language-server` |
 | hurl | ✓ |  | ✓ |  |
diff --git a/languages.toml b/languages.toml
index 6fc81181..d7b8e0d9 100644
--- a/languages.toml
+++ b/languages.toml
@@ -3055,6 +3055,18 @@ file-types = ["log"]
 name = "log"
 source = { git = "https://github.com/Tudyx/tree-sitter-log", rev = "62cfe307e942af3417171243b599cc7deac5eab9" }
 
+[[language]]
+name = "hoon"
+scope = "source.hoon"
+injection-regex = "hoon"
+file-types = ["hoon"]
+comment-token = "::"
+indent = {tab-width = 2, unit = "  "}
+
+[[grammar]]
+name = "hoon"
+source = { git = "https://github.com/urbit-pilled/tree-sitter-hoon", rev = "1d5df35af3e0afe592832a67b9fb3feeeba1f7b6" }
+
 [[language]]
 name = "hocon"
 scope = "source.conf"
diff --git a/runtime/queries/hoon/highlights.scm b/runtime/queries/hoon/highlights.scm
new file mode 100644
index 00000000..91e6b854
--- /dev/null
+++ b/runtime/queries/hoon/highlights.scm
@@ -0,0 +1,32 @@
+(number) @constant.numeric
+
+(string) @string
+
+[
+  "("
+  ")"
+  "["
+  "]"
+]  @punctuation.bracket
+
+[
+  (coreTerminator)
+  (seriesTerminator)
+] @punctuation.delimiter
+
+
+(rune) @keyword
+
+(term) @constant
+
+(aura) @constant.builtin
+
+(Gap) @comment
+
+(boolean) @constant.builtin
+
+(date) @constant.builtin
+(mold) @constant.builtin
+(specialIndex) @constant.builtin
+(lark) @operator
+(fullContext) @constant.builtin