 	
 	supportType:
 		name: "support.type.viml"
-		match: "<.*?>"
+		match: "(<).*?(>)"
+		captures:
+			1: name: "punctuation.definition.bracket.angle.begin.viml"
+			2: name: "punctuation.definition.bracket.angle.end.viml"
 	
 	supportVariable:
 		name: "support.variable.viml"

			3: name: "punctuation.assignment.parameter.viml"

	expr:
		name: "storage.function.viml"
		match: '(\\|\\||&&|==(\\?|#)?|(!|>|<)=(#|\\?)?|(=|!)~(?!\\/)(#|\\?)?|(>|<)(#|\\?)is|isnot|\\.|\\*|\\\\|%)'
	
	keyword:
		patterns: [{
			name: "keyword.control.viml"
			match: "\\b(if|while|for|unlet|return|end(if|for|while)?|au(g|group)|else(if)?|do|in|:)\\b"
		}, {
			name: "storage.type.let.viml"
			match: "\\blet\\b"

			{include: "#hashbang"}
			{include: "#numbers"}
			{include: "#funcDef"}
			{include: "#augGroup"}
			{include: "#parameter"}
			{include: "#expr"}
			{include: "#keyword"}
