Skip to content

Commit f6ab4f6

Browse files
committed
supprot added for highlighting of DPI imports
1 parent eac360e commit f6ab4f6

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

syntaxes/systemverilog.tmLanguage.yaml

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ patterns:
3030
- include: '#storage-scope'
3131
- include: '#attributes'
3232
- include: '#imports'
33+
- include: '#imports-dpi-function'
3334
- include: '#operators'
3435
- include: '#constants'
3536
- include: '#identifiers'
@@ -44,7 +45,7 @@ repository:
4445
name: storage.type.function.systemverilog
4546
'3':
4647
name: storage.modifier.systemverilog
47-
end: ;
48+
end: (;)
4849
endCaptures:
4950
'0':
5051
name: punctuation.definition.function.end.systemverilog
@@ -759,6 +760,45 @@ repository:
759760
- include: '#operators'
760761
- include: '#identifiers'
761762
name: meta.import.systemverilog
763+
imports-dpi-function:
764+
begin: '[ \t\r\n]*\b(import|export)[ \t\r\n]+(\"[a-zA-Z_][a-zA-Z0-9_$]*\")[ \t\r\n]+(function)\b'
765+
beginCaptures:
766+
'1':
767+
name: keyword.control.systemverilog
768+
'2':
769+
name: string.quoted.double.systemverilog
770+
'3':
771+
name: storage.type.function.systemverilog
772+
end: '(;)'
773+
endCaptures:
774+
'1':
775+
name: punctuation.module.instantiation.end.systemverilog
776+
patterns:
777+
- match: >-
778+
[ \t\r\n]*(?:\b([a-zA-Z_][a-zA-Z0-9_$]*)(::))?([a-zA-Z_][a-zA-Z0-9_$]*\b[ \t\r\n]+)?(?:\b(signed|unsigned)\b[ \t\r\n]*)?(?:(\[[a-zA-Z0-9_:$\.\-\+\*/%`' \t\r\n\[\]\(\)]*\])[ \t\r\n]*)?(?:\b([a-zA-Z_][a-zA-Z0-9_$]*)\b[ \t\r\n]*)(?=\(|;)
779+
captures:
780+
'1':
781+
name: support.type.scope.systemverilog
782+
'2':
783+
name: keyword.operator.scope.systemverilog
784+
'3':
785+
patterns:
786+
- include: '#built-ins'
787+
- match: '[a-zA-Z_][a-zA-Z0-9_$]*'
788+
name: storage.type.user-defined.systemverilog
789+
'4':
790+
patterns:
791+
- include: '#modifiers'
792+
'5':
793+
patterns:
794+
- include: '#selects'
795+
'6':
796+
name: entity.name.function.systemverilog
797+
- include: '#keywords'
798+
- include: '#port-net-parameter'
799+
- include: '#base-grammar'
800+
- include: '#identifiers'
801+
name: meta.import-dpi.systemverilog
762802
tables:
763803
begin: '[ \t\r\n]*\b(table)\b'
764804
beginCaptures:

0 commit comments

Comments
 (0)