From 7e2df67c0f86884f890029af971c7f297fcdc39b Mon Sep 17 00:00:00 2001 From: Martin Stadler Date: Mon, 25 Jun 2018 16:39:37 +0200 Subject: [PATCH] Fixed casex/z keyword Added enhanced literal number detection from sublime Added module header punctuation scope to prevent last line in header being recognized as module instantiation --- grammars/verilog.cson | 79 +++++++++++++++++++++++++++++++++---------- 1 file changed, 61 insertions(+), 18 deletions(-) diff --git a/grammars/verilog.cson b/grammars/verilog.cson index 50bbe9d..a39fc75 100644 --- a/grammars/verilog.cson +++ b/grammars/verilog.cson @@ -54,13 +54,9 @@ 'constants': 'patterns': [ { - 'match': '\\b[0-9]+\'[bBoOdDhH][a-fA-F0-9_xXzZ]+\\b' + 'match': '(\\b\\d+)?\'(s?[bB]\\s*[0-1xXzZ?][0-1_xXzZ?]*|s?[oO]\\s*[0-7xXzZ?][0-7_xXzZ?]*|s?[dD]\\s*[0-9xXzZ?][0-9_xXzZ?]*|s?[hH]\\s*[0-9a-fA-FxXzZ?][0-9a-fA-F_xXzZ?]*)((e|E)(\\+|-)?[0-9]+)?(?!\'|\\w)' 'name': 'constant.numeric.sized_integer.verilog' } - { - 'match': '\\s\'[bBoOdDhH][a-fA-F0-9_xXzZ]+\\b' - 'name': 'constant.numeric.unsized_integer.verilog' - } { 'captures': '1': @@ -81,35 +77,43 @@ 'name': 'constant.numeric.real.verilog' } { - 'match': '#\\d+' + 'match': '^\\s*#(\\d+|\\([a-zA-Z0-9_]*\\))' 'name': 'constant.numeric.delay.verilog' } { 'match': '\\b[01xXzZ]+\\b' 'name': 'constant.numeric.logic.verilog' } + { + 'match': "\\b([A-Z][A-Z0-9_]*)\\b" + 'name': "constant.other.net.verilog" + } ] 'instantiation_patterns': 'patterns': [ - { - 'include': '#keywords' - } { 'begin': '^\\s*([a-zA-Z][a-zA-Z0-9_]*)\\s+([a-zA-Z][a-zA-Z0-9_]*)(?|=|(!|=)?==?|!|&&?|\\|\\|?|\\^?~|~\\^?' + 'match': '\\+|-|\\*|/|%|(<|>)=?|(!|=)?==?|!|&&?|\\|\\|?|\\^?~|~\\^?' 'name': 'keyword.operator.verilog' } ]