diff --git a/Syntaxes/Zig.YAML-tmLanguage b/Syntaxes/Zig.YAML-tmLanguage
index 39a0509..ccce12c 100644
--- a/Syntaxes/Zig.YAML-tmLanguage
+++ b/Syntaxes/Zig.YAML-tmLanguage
@@ -347,6 +347,21 @@ repository:
match: '(?])'
name: constant.language.enum
+ variables:
+ name: meta.variable.zig
+ patterns:
+ - match: '\b[_A-Z][_A-Z0-9]+\b'
+ name: variable.constant.zig
+
+ - match: '\b[_a-zA-Z][_a-zA-Z0-9]*_t\b'
+ name: entity.name.type.zig
+
+ - match: '\b[A-Z][a-zA-Z0-9]*\b'
+ name: entity.name.type.zig
+
+ - match: '\b[_a-zA-Z][_a-zA-Z0-9]*\b'
+ name: variable.zig
+
dummy_main:
patterns:
- include: '#label'
@@ -366,3 +381,4 @@ repository:
- include: '#function_def'
- include: '#function_call'
- include: '#enum_literal'
+ - include: '#variables'
diff --git a/Syntaxes/Zig.sublime-syntax b/Syntaxes/Zig.sublime-syntax
index 5133a1e..1fa40fe 100644
--- a/Syntaxes/Zig.sublime-syntax
+++ b/Syntaxes/Zig.sublime-syntax
@@ -99,6 +99,7 @@ contexts:
- include: function_def
- include: function_call
- include: enum_literal
+ - include: variables
enum_literal:
- match: '(^|\s+)(\.(?:[a-zA-Z_]\w*\b|@\"[^\"]*\"))(?!\(|\s*=[^=>])'
scope: constant.language.enum
@@ -270,3 +271,16 @@ contexts:
support:
- match: '@[^\"\d][a-zA-Z_]\w*\b'
scope: support.function.zig
+ variables:
+ - match: '\b[_A-Z][_A-Z0-9]+\b'
+ scope: variable.constant.zig
+
+ - match: '\b[_a-zA-Z][_a-zA-Z0-9]*_t\b'
+ scope: entity.name.type.zig
+
+ - match: '\b[A-Z][a-zA-Z0-9]*\b'
+ scope: entity.name.type.zig
+
+ - match: '\b[_a-zA-Z][_a-zA-Z0-9]*\b'
+ scope: variable.zig
+
diff --git a/Syntaxes/Zig.tmLanguage b/Syntaxes/Zig.tmLanguage
index 42bc1ae..5245d69 100644
--- a/Syntaxes/Zig.tmLanguage
+++ b/Syntaxes/Zig.tmLanguage
@@ -310,6 +310,10 @@
include
#enum_literal
+
+ include
+ #variables
+
enum_literal
@@ -837,6 +841,38 @@
name
support.function.zig
+ variables
+
+ name
+ meta.variable.zig
+ patterns
+
+
+ match
+ \b[_A-Z][_A-Z0-9]+\b
+ name
+ variable.constant.zig
+
+
+ match
+ \b[_a-zA-Z][_a-zA-Z0-9]*_t\b
+ name
+ entity.name.type.zig
+
+
+ match
+ \b[A-Z][a-zA-Z0-9]*\b
+ name
+ entity.name.type.zig
+
+
+ match
+ \b[_a-zA-Z][_a-zA-Z0-9]*\b
+ name
+ variable.zig
+
+
+
scopeName
source.zig