diff --git a/Cargo.lock b/Cargo.lock index 4f5c18e14c03a97619ea1c59c9880eeae45cbcbd..f5abe2d4df9f346c35dcb952e231951cd503c5e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17594,9 +17594,9 @@ dependencies = [ [[package]] name = "tree-sitter-c" -version = "0.23.4" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afd2b1bf1585dc2ef6d69e87d01db8adb059006649dd5f96f31aa789ee6e9c71" +checksum = "1a3aad8f0129083a59fe8596157552d2bb7148c492d44c21558d68ca1c722707" dependencies = [ "cc", "tree-sitter-language", diff --git a/Cargo.toml b/Cargo.toml index d8f2b1cdf7d7327bd7aee30466c34f0a712c6ecc..038ccf0e823f8e321f1ea815b843983e56e8714c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -685,7 +685,7 @@ toml_edit = { version = "0.22", default-features = false, features = ["display", tower-http = "0.4.4" tree-sitter = { version = "0.26", features = ["wasm"] } tree-sitter-bash = "0.25.1" -tree-sitter-c = "0.23" +tree-sitter-c = "0.24.1" 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" diff --git a/crates/languages/src/c/highlights.scm b/crates/languages/src/c/highlights.scm index 578ef7aedda304f0e7e0b0ffee61e2761d62b918..0ba43f2f7c6422271d476ba415bea5a42beb9c41 100644 --- a/crates/languages/src/c/highlights.scm +++ b/crates/languages/src/c/highlights.scm @@ -136,3 +136,15 @@ (primitive_type) (sized_type_specifier) ] @type + +; GNU __attribute__ +(attribute_specifier) @attribute +(attribute_specifier + (argument_list + (identifier) @attribute)) + +; C23 [[attributes]] +(attribute + prefix: (identifier) @attribute) +(attribute + name: (identifier) @attribute)