diff --git a/lockfile.json b/lockfile.json index 6e35a7187..87af984c8 100644 --- a/lockfile.json +++ b/lockfile.json @@ -33,7 +33,7 @@ "revision": "5b6c4d0d19d79b05c69ad752e11829910e3b4610" }, "capnp": { - "revision": "cb85cddfdf398530110c807ba046822dbaee6afb" + "revision": "9ed3aa8c212cddc94dca087cfe2c30d43234c867" }, "chatito": { "revision": "3baf22e7e507cedf15d1dbc03df8afa50a625586" diff --git a/queries/capnp/highlights.scm b/queries/capnp/highlights.scm index 1fe814b50..8dfb2ba91 100644 --- a/queries/capnp/highlights.scm +++ b/queries/capnp/highlights.scm @@ -1,4 +1,4 @@ -; Preproc (?) +; Preproc (unique_id) @preproc (top_level_annotation_body) @preproc @@ -13,18 +13,12 @@ (import_path) @string -; Types - -(primitive_type) @type.builtin +; Builtins [ - "annotation" - "enum" - "group" - "interface" - "struct" - "union" -] @keyword + (primitive_type) + "List" +] @type.builtin ; Typedefs @@ -52,10 +46,6 @@ (param_identifier) @parameter (return_identifier) @parameter -; Variables - -(identifier) @variable - ; Constants (const_identifier) @constant @@ -68,8 +58,6 @@ (enum_identifier) @type (extend_type) @type -(field_type) @type -(generic_identifier) @type (type_identifier) @type ; Attributes @@ -86,6 +74,16 @@ ; Keywords + +[ + "annotation" + "enum" + "group" + "interface" + "struct" + "union" +] @keyword + [ "extends" "namespace" @@ -95,11 +93,16 @@ ; Literals -(string_literal) @string -(block_text) @string +[ + (string) + (concatenated_string) + (block_text) + (namespace) +] @string + +(escape_sequence) @string.escape (data_string) @string.special -(namespace) @string.special (number) @number @@ -116,6 +119,7 @@ [ "*" "$" + ":" ] @punctuation.special ["{" "}"] @punctuation.bracket diff --git a/queries/capnp/indents.scm b/queries/capnp/indents.scm new file mode 100644 index 000000000..362cc7da0 --- /dev/null +++ b/queries/capnp/indents.scm @@ -0,0 +1,34 @@ +[ + (annotation_targets) + (const_list) + (enum) + (interface) + (implicit_generics) + (generics) + (group) + (method_parameters) + (named_return_types) + (struct) + (struct_shorthand) + (union) +] @indent + +((struct_shorthand (property)) @aligned_indent + (#set! "delimiter" "()")) + +((const_list (const_value)) @aligned_indent + (#set! "delimiter" "[]")) + +[ + "}" + ")" +] @indent_end + +[ "{" "}" ] @branch + +[ "(" ")" ] @branch + +[ + (ERROR) + (comment) +] @auto diff --git a/queries/capnp/injections.scm b/queries/capnp/injections.scm new file mode 100644 index 000000000..4bb7d675d --- /dev/null +++ b/queries/capnp/injections.scm @@ -0,0 +1 @@ +(comment) @comment diff --git a/queries/capnp/locals.scm b/queries/capnp/locals.scm new file mode 100644 index 000000000..fb436bf06 --- /dev/null +++ b/queries/capnp/locals.scm @@ -0,0 +1,90 @@ +[ + (message) + (annotation_targets) + (const_list) + (enum) + (interface) + (implicit_generics) + (generics) + (group) + (method_parameters) + (named_return_types) + (struct) + (struct_shorthand) + (union) +] @scope + +[ + (extend_type) + (field_type) +] @reference +(custom_type (type_identifier) @reference) +(custom_type + (generics + (generic_parameters + (generic_identifier) @reference))) + +(annotation_definition_identifier) @definition + +(const_identifier) @definition.constant + +(enum (enum_identifier) @definition.enum) + +[ + (enum_member) + (field_identifier) +] @definition.field + +(method_identifier) @definition.method + +(namespace) @definition.namespace + +[ + (param_identifier) + (return_identifier) +] @definition.parameter + +(group (type_identifier) @definition.type) + +(struct (type_identifier) @definition.type) + +(union (type_identifier) @definition.type) + +(interface (type_identifier) @definition.type) + +; Generics Related (don't know how to combine these) + +(struct + (generics + (generic_parameters + (generic_identifier) @definition.parameter))) + +(interface + (generics + (generic_parameters + (generic_identifier) @definition.parameter))) + +(method + (implicit_generics + (implicit_generic_parameters + (generic_identifier) @definition.parameter))) + +(method + (generics + (generic_parameters + (generic_identifier) @definition.parameter))) + +(annotation + (generics + (generic_parameters + (generic_identifier) @definition.type))) + +(replace_using + (generics + (generic_parameters + (generic_identifier) @definition.type))) + +(return_type + (generics + (generic_parameters + (generic_identifier) @definition.type)))