aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzegervdv <zegervdv@me.com>2020-11-18 21:38:58 +0100
committerStephan Seitz <stephan.lauf@yahoo.de>2020-11-21 14:43:08 +0100
commit6731bcbf7b69501746f1c98bd471695b83c59754 (patch)
treeba0f75052e30ef8cd0aeeca702cb7c4b73931dae
parentAdd missing verilog keywords (diff)
downloadnvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.tar
nvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.tar.gz
nvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.tar.bz2
nvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.tar.lz
nvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.tar.xz
nvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.tar.zst
nvim-treesitter-6731bcbf7b69501746f1c98bd471695b83c59754.zip
Add locals for verilog
-rw-r--r--queries/verilog/highlights.scm44
-rw-r--r--queries/verilog/locals.scm60
2 files changed, 91 insertions, 13 deletions
diff --git a/queries/verilog/highlights.scm b/queries/verilog/highlights.scm
index 4e2b437e5..bc5ea98d1 100644
--- a/queries/verilog/highlights.scm
+++ b/queries/verilog/highlights.scm
@@ -19,15 +19,28 @@
"interface"
"endinterface"
"modport"
+ "package"
+ "endpackage"
+ "fork"
+ "join"
+ "join_none"
+ "join_any"
+ "assert"
] @keyword
[
+ "begin"
+ "end"
+] @label
+
+[
(always_keyword)
"generate"
"for"
"foreach"
"repeat"
"forever"
+ "initial"
"while"
] @repeat
@@ -38,15 +51,6 @@
"endcase"
] @conditional
-[
- "begin"
- "end"
- "fork"
- "join"
- "join_none"
- "join_any"
-] @label
-
(comment) @comment
(include_compiler_directive) @constant.macro
@@ -65,9 +69,12 @@
(package_identifier
(simple_identifier) @constant))
-(module_ansi_header
- (parameter_port_list
- "#" @constructor))
+(package_declaration
+ (package_identifier
+ (simple_identifier) @constant))
+
+(parameter_port_list
+ "#" @constructor)
[
"="
@@ -140,7 +147,10 @@
(net_port_type1
(simple_identifier) @type)
-(double_quoted_string) @string
+[
+ (double_quoted_string)
+ (string_literal)
+] @string
[
(include_compiler_directive)
@@ -228,6 +238,14 @@
(struct_union) @type
+[
+ "enum"
+] @type
+
+(enum_name_declaration
+ (enum_identifier
+ (simple_identifier) @constant))
+
(type_declaration
(simple_identifier) @type)
diff --git a/queries/verilog/locals.scm b/queries/verilog/locals.scm
new file mode 100644
index 000000000..a00a6e95a
--- /dev/null
+++ b/queries/verilog/locals.scm
@@ -0,0 +1,60 @@
+[
+ (loop_generate_construct)
+ (loop_statement)
+ (conditional_statement)
+ (case_item)
+ (function_declaration)
+ (always_construct)
+ (module_declaration)
+] @scope
+
+(data_declaration
+ (list_of_variable_decl_assignments
+ (variable_decl_assignment
+ (simple_identifier) @definition.var)))
+
+(genvar_initialization
+ (genvar_identifier
+ (simple_identifier) @definition.var))
+
+(for_initialization
+ (for_variable_declaration
+ (simple_identifier) @definition.var))
+
+(net_declaration
+ (list_of_net_decl_assignments
+ (net_decl_assignment
+ (simple_identifier) @definition.var)))
+
+(ansi_port_declaration
+ (port_identifier
+ (simple_identifier) @definition.var))
+
+(parameter_declaration
+ (list_of_param_assignments
+ (param_assignment
+ (parameter_identifier
+ (simple_identifier) @definition.parameter))))
+
+(local_parameter_declaration
+ (list_of_param_assignments
+ (param_assignment
+ (parameter_identifier
+ (simple_identifier) @definition.parameter))))
+
+(function_declaration
+ (function_identifier
+ (simple_identifier) @definition.function))
+
+(function_declaration
+ (function_body_declaration
+ (function_identifier
+ (function_identifier
+ (simple_identifier) @definition.function))))
+
+(tf_port_item1
+ (port_identifier
+ (simple_identifier) @definition.parameter))
+
+; too broad, now includes types etc
+(simple_identifier) @reference