From 9c6a89ab5cf762d457f759ca96fa9b6a1fe6e8d4 Mon Sep 17 00:00:00 2001 From: foxnne Date: Thu, 18 Jun 2020 01:21:32 -0500 Subject: [PATCH] add variable support from vscode syntax --- Syntaxes/Zig.YAML-tmLanguage | 16 ++++++++++++++++ Syntaxes/Zig.sublime-syntax | 14 ++++++++++++++ Syntaxes/Zig.tmLanguage | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) 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