         captures:
           "1":
             name: "support.function.marko-attribute"
-        match: "\\s(for|if|else-if|w-[a-zA-Z0-9:_-]+|marko-[a-zA-Z0-9:_.-]+lasso-[a-zA-Z0-9:_.-]+)(?=(\\s|$|[>(]|/>))"
+        match: "\\s(for|if|else-if|unless)(?=([(]))"
+      }
+      {
+        captures:
+          "1":
+            name: "support.function.marko-attribute"
+        match: "\\s(else|w-[a-zA-Z0-9:_-]+|marko-[a-zA-Z0-9:_.-]+)(?=(\\s|$|[>(]|/>))"
+      }
+      {
+        captures:
+          "1":
+            name: "support.function.marko-attribute"
+        match: "\\s(w-[a-zA-Z0-9:_-]+|lasso-[a-zA-Z0-9:_.-]+)(?=(\\s|$|[>(=]|/>))"
       }
       {
         captures:

    patterns: [
      {
        include: "#expression"
      }
    ]
  scriptlet:

        include: "#tag-html"
      }
      {
        include: "#placeholder-patterns"
      }
      {
        include: "#scriptlet"
