This commit is contained in:
Caio Piccirillo 2025-08-26 15:08:34 -03:00 committed by GitHub
commit 2f112a7e42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 56 additions and 17 deletions

3
Cargo.lock generated
View file

@ -17185,8 +17185,7 @@ dependencies = [
[[package]]
name = "tree-sitter-cpp"
version = "0.23.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df2196ea9d47b4ab4a31b9297eaa5a5d19a0b121dceb9f118f6790ad0ab94743"
source = "git+https://github.com/tree-sitter/tree-sitter-cpp?rev=5cb9b693cfd7bfacab1d9ff4acac1a4150700609#5cb9b693cfd7bfacab1d9ff4acac1a4150700609"
dependencies = [
"cc",
"tree-sitter-language",

View file

@ -624,7 +624,7 @@ tower-http = "0.4.4"
tree-sitter = { version = "0.25.6", features = ["wasm"] }
tree-sitter-bash = "0.25.0"
tree-sitter-c = "0.23"
tree-sitter-cpp = "0.23"
tree-sitter-cpp = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "5cb9b693cfd7bfacab1d9ff4acac1a4150700609" }
tree-sitter-css = "0.23"
tree-sitter-diff = "0.1.0"
tree-sitter-elixir = "0.3"

View file

@ -3,8 +3,27 @@
(namespace_identifier) @namespace
(concept_definition
(identifier) @concept)
name: (identifier) @concept)
(requires_clause
constraint: (template_type
name: (type_identifier) @concept))
(module_name
(identifier) @module)
(module_declaration
name: (module_name
(identifier) @module))
(import_declaration
name: (module_name
(identifier) @module))
(import_declaration
partition: (module_partition
(module_name
(identifier) @module)))
(call_expression
function: (qualified_identifier
@ -61,6 +80,9 @@
(operator_name
(identifier)? @operator) @function
(operator_name
"<=>" @operator.spaceship)
(destructor_name (identifier) @function)
((namespace_identifier) @type
@ -68,21 +90,17 @@
(auto) @type
(type_identifier) @type
type :(primitive_type) @type.primitive
(sized_type_specifier) @type.primitive
(requires_clause
constraint: (template_type
name: (type_identifier) @concept))
type: (primitive_type) @type.builtin
(sized_type_specifier) @type.builtin
(attribute
name: (identifier) @keyword)
name: (identifier) @attribute)
((identifier) @constant
(#match? @constant "^_*[A-Z][A-Z\\d_]*$"))
((identifier) @constant.builtin
(#match? @constant.builtin "^_*[A-Z][A-Z\\d_]*$"))
(statement_identifier) @label
(this) @variable.special
(this) @variable.builtin
("static_assert") @function.builtin
[
@ -96,7 +114,9 @@ type :(primitive_type) @type.primitive
"co_return"
"co_yield"
"concept"
"consteval"
"constexpr"
"constinit"
"continue"
"decltype"
"default"
@ -105,15 +125,20 @@ type :(primitive_type) @type.primitive
"else"
"enum"
"explicit"
"export"
"extern"
"final"
"for"
"friend"
"goto"
"if"
"import"
"inline"
"module"
"namespace"
"new"
"noexcept"
"operator"
"override"
"private"
"protected"
@ -124,6 +149,7 @@ type :(primitive_type) @type.primitive
"struct"
"switch"
"template"
"thread_local"
"throw"
"try"
"typedef"
@ -146,7 +172,7 @@ type :(primitive_type) @type.primitive
"#ifndef"
"#include"
(preproc_directive)
] @keyword
] @keyword.directive
(comment) @comment
@ -224,10 +250,24 @@ type :(primitive_type) @type.primitive
">"
"<="
">="
"<=>"
"||"
"?"
"and"
"and_eq"
"bitand"
"bitor"
"compl"
"not"
"not_eq"
"or"
"or_eq"
"xor"
"xor_eq"
] @operator
"<=>" @operator.spaceship
(binary_expression
operator: "<=>" @operator.spaceship)
(conditional_expression ":" @operator)
(user_defined_literal (literal_suffix) @operator)