diff --git a/Luau.YAML-tmLanguage b/Luau.YAML-tmLanguage
index cd0de0f..3a5d725 100644
--- a/Luau.YAML-tmLanguage
+++ b/Luau.YAML-tmLanguage
@@ -270,7 +270,7 @@ repository:
end: "\\]\\1\\]"
patterns:
- name: keyword.operator.other.luau
- begin: "(```lua)\\s+"
+ begin: "(```luau?)\\s+"
end: "(```)"
beginCaptures:
"1": { name: comment.luau }
diff --git a/Luau.tmLanguage b/Luau.tmLanguage
index 9995ca8..486bbaf 100644
--- a/Luau.tmLanguage
+++ b/Luau.tmLanguage
@@ -760,7 +760,7 @@
name
keyword.operator.other.luau
begin
- (```lua)\s+
+ (```luau?)\s+
end
(```)
beginCaptures
diff --git a/Luau.tmLanguage.json b/Luau.tmLanguage.json
index 9f09ad7..1fa1417 100644
--- a/Luau.tmLanguage.json
+++ b/Luau.tmLanguage.json
@@ -500,7 +500,7 @@
"patterns": [
{
"name": "keyword.operator.other.luau",
- "begin": "(```lua)\\s+",
+ "begin": "(```luau?)\\s+",
"end": "(```)",
"beginCaptures": {
"1": {
diff --git a/tests/baselines/markdown-luau-language.baseline.txt b/tests/baselines/markdown-luau-language.baseline.txt
new file mode 100644
index 0000000..6230740
--- /dev/null
+++ b/tests/baselines/markdown-luau-language.baseline.txt
@@ -0,0 +1,108 @@
+original file
+-----------------------------------
+--[[
+```luau
+local abc: number = 1
+print(abc)
+```
+]]
+
+--[[
+```lua
+local abc: number = 1
+print(abc)
+```
+]]
+
+-----------------------------------
+
+>--[[
+ ^^^^
+ source.luau comment.block.luau
+>```luau
+ ^^^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau comment.luau
+>local abc: number = 1
+ ^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau storage.modifier.local.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^^^
+ source.luau comment.block.luau keyword.operator.other.luau variable.other.readwrite.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau keyword.operator.type.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau support.type.primitive.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau keyword.operator.assignment.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau constant.numeric.decimal.luau
+>print(abc)
+ ^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau support.function.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau punctuation.arguments.begin.luau
+ ^^^
+ source.luau comment.block.luau keyword.operator.other.luau variable.other.readwrite.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau punctuation.arguments.end.luau
+>```
+ ^^^
+ source.luau comment.block.luau keyword.operator.other.luau comment.luau
+>]]
+ ^^
+ source.luau comment.block.luau
+>
+ ^
+ source.luau
+>--[[
+ ^^^^
+ source.luau comment.block.luau
+>```lua
+ ^^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau comment.luau
+>local abc: number = 1
+ ^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau storage.modifier.local.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^^^
+ source.luau comment.block.luau keyword.operator.other.luau variable.other.readwrite.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau keyword.operator.type.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau support.type.primitive.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau keyword.operator.assignment.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau constant.numeric.decimal.luau
+>print(abc)
+ ^^^^^
+ source.luau comment.block.luau keyword.operator.other.luau support.function.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau punctuation.arguments.begin.luau
+ ^^^
+ source.luau comment.block.luau keyword.operator.other.luau variable.other.readwrite.luau
+ ^
+ source.luau comment.block.luau keyword.operator.other.luau punctuation.arguments.end.luau
+>```
+ ^^^
+ source.luau comment.block.luau keyword.operator.other.luau comment.luau
+>]]
+ ^^
+ source.luau comment.block.luau
+>
+ ^
+ source.luau
\ No newline at end of file
diff --git a/tests/cases/markdown-luau-language.luau b/tests/cases/markdown-luau-language.luau
new file mode 100644
index 0000000..02b10e8
--- /dev/null
+++ b/tests/cases/markdown-luau-language.luau
@@ -0,0 +1,13 @@
+--[[
+```luau
+local abc: number = 1
+print(abc)
+```
+]]
+
+--[[
+```lua
+local abc: number = 1
+print(abc)
+```
+]]