aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries
diff options
context:
space:
mode:
authorLennard Hofmann2022-11-26 16:17:10 +0000
committerGitHub2022-11-26 16:17:10 +0000
commitfc811726e0e74dd6597f1ebbbd095901b8a78a3e (patch)
tree8b556487ee8afef327226b73385eb783b3c09467 /runtime/queries
parent8529d756fad2eeea543b487e1ff5253857bc2e16 (diff)
Update tree-sitter-java and add Java textobjects (#4886)
Diffstat (limited to 'runtime/queries')
-rw-r--r--runtime/queries/java/highlights.scm19
-rw-r--r--runtime/queries/java/injections.scm2
-rw-r--r--runtime/queries/java/textobjects.scm35
3 files changed, 53 insertions, 3 deletions
diff --git a/runtime/queries/java/highlights.scm b/runtime/queries/java/highlights.scm
index 77902fce..f049b8d2 100644
--- a/runtime/queries/java/highlights.scm
+++ b/runtime/queries/java/highlights.scm
@@ -21,6 +21,8 @@
name: (identifier) @type)
(class_declaration
name: (identifier) @type)
+(record_declaration
+ name: (identifier) @type)
(enum_declaration
name: (identifier) @type)
@@ -33,6 +35,8 @@
(constructor_declaration
name: (identifier) @type)
+(compact_constructor_declaration
+ name: (identifier) @type)
(type_identifier) @type
@@ -59,6 +63,7 @@
(hex_integer_literal)
(decimal_integer_literal)
(octal_integer_literal)
+ (binary_integer_literal)
] @constant.numeric.integer
[
@@ -67,7 +72,11 @@
] @constant.numeric.float
(character_literal) @constant.character
-(string_literal) @string
+
+[
+ (string_literal)
+ (text_block)
+] @string
[
(true)
@@ -75,7 +84,8 @@
(null_literal)
] @constant.builtin
-(comment) @comment
+(line_comment) @comment
+(block_comment) @comment
; Keywords
@@ -104,15 +114,19 @@
"module"
"native"
"new"
+ "non-sealed"
"open"
"opens"
"package"
+ "permits"
"private"
"protected"
"provides"
"public"
"requires"
+ "record"
"return"
+ "sealed"
"static"
"strictfp"
"switch"
@@ -127,4 +141,5 @@
"volatile"
"while"
"with"
+ "yield"
] @keyword
diff --git a/runtime/queries/java/injections.scm b/runtime/queries/java/injections.scm
index 321c90ad..e4509a5f 100644
--- a/runtime/queries/java/injections.scm
+++ b/runtime/queries/java/injections.scm
@@ -1,2 +1,2 @@
-((comment) @injection.content
+([(line_comment) (block_comment)] @injection.content
(#set! injection.language "comment"))
diff --git a/runtime/queries/java/textobjects.scm b/runtime/queries/java/textobjects.scm
new file mode 100644
index 00000000..a932c793
--- /dev/null
+++ b/runtime/queries/java/textobjects.scm
@@ -0,0 +1,35 @@
+(method_declaration
+ body: (_) @function.inside) @function.around
+
+(interface_declaration
+ body: (_) @class.inside) @class.around
+
+(class_declaration
+ body: (_) @class.inside) @class.around
+
+(record_declaration
+ body: (_) @class.inside) @class.around
+
+(enum_declaration
+ body: (_) @class.inside) @class.around
+
+(formal_parameters
+ ((_) @parameter.inside . ","? @parameter.around) @parameter.around)
+
+(type_parameters
+ ((_) @parameter.inside . ","? @parameter.around) @parameter.around)
+
+(type_arguments
+ ((_) @parameter.inside . ","? @parameter.around) @parameter.around)
+
+(argument_list
+ ((_) @parameter.inside . ","? @parameter.around) @parameter.around)
+
+[
+ (line_comment)
+ (block_comment)
+] @comment.inside
+
+(line_comment)+ @comment.around
+
+(block_comment) @comment.around