Skip to content

Commit 0d1a97c

Browse files
fix(syntax): add datatype, direction, include and correct module
1 parent 5d1ea7c commit 0d1a97c

File tree

2 files changed

+31
-19
lines changed

2 files changed

+31
-19
lines changed

plugin/verilog_systemverilog.vim

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ let g:verilog_syntax = {
8787
\ 'match_start' : '[^><=!]\zs<\?=\%(=\)\@!',
8888
\ 'match_end' : '[;,]',
8989
\ 'highlight' : 'verilogOperator',
90-
\ 'syn_argument': 'transparent contains=@verilogBaseCluster',
90+
\ 'syn_argument': 'transparent contains=@verilogBaseCluster,verilogParameter,verilogDataType',
9191
\ }],
9292
\ 'attribute' : [{
9393
\ 'match_start' : '\%(@\s*\)\@<!(\*',
@@ -150,7 +150,7 @@ let g:verilog_syntax = {
150150
\ 'match_start' : '(',
151151
\ 'match_end' : ')',
152152
\ 'highlight' : 'verilogOperator',
153-
\ 'syn_argument': 'transparent contains=@verilogBaseCluster,verilogExpression,verilogStatement',
153+
\ 'syn_argument': 'transparent contains=@verilogBaseCluster,verilogExpression,verilogStatement,verilogDataType,verilogDirection,verilogParameter',
154154
\ 'no_fold' : '1',
155155
\ }],
156156
\ 'function' : [{

syntax/verilog_systemverilog.vim

+29-17
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,22 @@ syn keyword verilogStatement endprimitive endtable
3838
syn keyword verilogStatement event force fork join
3939
syn keyword verilogStatement join_any join_none forkjoin
4040
syn keyword verilogStatement generate genvar highz0 highz1 ifnone
41-
syn keyword verilogStatement incdir include initial inout input
42-
syn keyword verilogStatement instance integer large liblist
43-
syn keyword verilogStatement library localparam macromodule medium
41+
syn keyword verilogStatement initial
42+
syn keyword verilogStatement instance large liblist
43+
syn keyword verilogStatement library macromodule medium
4444
syn keyword verilogStatement nand negedge nmos nor
4545
syn keyword verilogStatement noshowcancelled not notif0 notif1 or
46-
syn keyword verilogStatement output parameter pmos posedge primitive
46+
syn keyword verilogStatement pmos posedge primitive
4747
syn keyword verilogStatement pull0 pull1 pulldown pullup
4848
syn keyword verilogStatement pulsestyle_onevent pulsestyle_ondetect
49-
syn keyword verilogStatement rcmos real realtime reg release
49+
syn keyword verilogStatement rcmos release
5050
syn keyword verilogStatement rnmos rpmos rtran rtranif0 rtranif1
5151
syn keyword verilogStatement scalared showcancelled signed small
5252
syn keyword verilogStatement specparam strong0 strong1
53-
syn keyword verilogStatement supply0 supply1 table time tran
54-
syn keyword verilogStatement tranif0 tranif1 tri tri0 tri1 triand
53+
syn keyword verilogStatement supply0 supply1 table tran
54+
syn keyword verilogStatement tranif0 tranif1 tri0 tri1 triand
5555
syn keyword verilogStatement trior trireg unsigned use vectored wait
56-
syn keyword verilogStatement wand weak0 weak1 wire wor xnor xor
56+
syn keyword verilogStatement wand weak0 weak1 wor xnor xor
5757
syn keyword verilogStatement semaphore mailbox
5858

5959
syn keyword verilogStatement always_comb always_ff always_latch
@@ -66,13 +66,10 @@ syn keyword verilogStatement randcase
6666
syn keyword verilogStatement randsequence
6767
syn keyword verilogStatement get_randstate set_randstate
6868
syn keyword verilogStatement srandom
69-
syn keyword verilogStatement logic bit byte time
70-
syn keyword verilogStatement int longint shortint
71-
syn keyword verilogStatement struct packed
69+
syn keyword verilogStatement packed
7270
syn keyword verilogStatement final
7371
syn keyword verilogStatement import
7472
syn keyword verilogStatement context pure
75-
syn keyword verilogStatement void shortreal chandle string
7673
syn keyword verilogStatement modport
7774
syn keyword verilogStatement cover coverpoint
7875
syn keyword verilogStatement program endprogram
@@ -92,7 +89,11 @@ syn keyword verilogStatement s_always s_eventually s_nexttime s_until s_until_
9289
syn keyword verilogStatement strong sync_accept_on sync_reject_on unique unique0
9390
syn keyword verilogStatement until until_with untyped weak
9491

95-
syn keyword verilogTypeDef enum
92+
syn keyword verilogDataType reg wire integer real time realtime
93+
syn keyword verilogDataType logic bit byte shortint int longint shortreal tri
94+
syn keyword verilogDataType void string chandle
95+
96+
syn keyword verilogTypeDef enum struct
9697

9798
syn keyword verilogConditional iff
9899
syn keyword verilogConditional if else case casex casez default endcase
@@ -101,11 +102,19 @@ syn keyword verilogRepeat forever repeat while for
101102
syn keyword verilogRepeat return break continue
102103
syn keyword verilogRepeat do while foreach
103104

105+
syn keyword verilogDirection input output inout
106+
107+
syn keyword verilogParameter parameter localparam
108+
109+
syn keyword verilogInclude incdir include
110+
104111
syn match verilogGlobal "`[a-zA-Z_][a-zA-Z0-9_$]\+"
105112
syn match verilogGlobal "$[a-zA-Z0-9_$]\+"
106113

114+
syn match verilogInclude "`include"
115+
107116
if !exists('g:verilog_disable_constant_highlight')
108-
syn match verilogConstant "\<[A-Z][A-Z0-9_$]*\>"
117+
syn match verilogConstant "\(^\|[^.]\)\zs\<[A-Z][A-Z0-9_$]*\>"
109118
endif
110119

111120
syn match verilogNumber "\(\d\+\)\?'[sS]\?[bB]\s*[0-1_xXzZ?]\+"
@@ -126,9 +135,9 @@ syn match verilogEscape "\\\o\o\=\o\=" contained
126135

127136
syn keyword verilogMethod new
128137
if v:version >= 704
129-
syn match verilogMethod "\(\(\s\|[(/]\|^\)\.\)\@2<!\<\w\+\ze#\?("
138+
syn match verilogMethod "\(\(\s\|[(/]\|^\)\.\)\@2<!\<\w\+\ze#\? *("
130139
else
131-
syn match verilogMethod "\(\(\s\|[(/]\|^\)\.\)\@<!\<\w\+\ze#\?("
140+
syn match verilogMethod "\(\(\s\|[(/]\|^\)\.\)\@<!\<\w\+\ze#\? *("
132141
endif
133142

134143
syn match verilogLabel "\<\k\+\>\ze\s*:\s*\<\(assert\|assume\|cover\(point\)\?\|cross\)\>"
@@ -391,8 +400,11 @@ if version >= 508 || !exists("did_verilog_syn_inits")
391400
HiLink verilogEscape Special
392401
HiLink verilogMethod Function
393402
HiLink verilogTypeDef TypeDef
403+
HiLink verilogDataType Type
394404
HiLink verilogObject Type
395-
405+
HiLink verilogInclude Include
406+
HiLink verilogDirection StorageClass
407+
HiLink verilogParameter StorageClass
396408
delcommand HiLink
397409
endif
398410

0 commit comments

Comments
 (0)