diff --git a/.github/workflows/languages.toml b/.github/workflows/languages.toml index 18cf71cf5ff7..b883ba1ad78d 100644 --- a/.github/workflows/languages.toml +++ b/.github/workflows/languages.toml @@ -11,7 +11,7 @@ indent = { tab-width = 4, unit = " " } [[grammar]] name = "rust" -source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "a360da0a29a19c281d08295a35ecd0544d2da211" } +source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9" } [[language]] name = "nix" diff --git a/helix-core/tests/data/indent/languages.toml b/helix-core/tests/data/indent/languages.toml index f9cef4942824..3206f124dab0 100644 --- a/helix-core/tests/data/indent/languages.toml +++ b/helix-core/tests/data/indent/languages.toml @@ -10,4 +10,4 @@ indent = { tab-width = 4, unit = " " } [[grammar]] name = "rust" -source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "a360da0a29a19c281d08295a35ecd0544d2da211" } +source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9" } diff --git a/languages.toml b/languages.toml index 4013adb668c4..839b6223af99 100644 --- a/languages.toml +++ b/languages.toml @@ -50,7 +50,7 @@ args = { attachCommands = [ "platform select remote-gdb-server", "platform conne [[grammar]] name = "rust" -source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "41e23b454f503e6fe63ec4b6d9f7f2cf7788ab8e" } +source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "0431a2c60828731f27491ee9fdefe25e250ce9c9" } [[language]] name = "toml" diff --git a/runtime/queries/rust/highlights.scm b/runtime/queries/rust/highlights.scm index 42fc96814786..5606e93d3007 100644 --- a/runtime/queries/rust/highlights.scm +++ b/runtime/queries/rust/highlights.scm @@ -271,9 +271,9 @@ ; --- ; Macros ; --- -(meta_item +(attribute (identifier) @function.macro) -(attr_item +(attribute [ (identifier) @function.macro (scoped_identifier diff --git a/runtime/queries/rust/indents.scm b/runtime/queries/rust/indents.scm index 600c77a32cd3..5c2c70d0c1f1 100644 --- a/runtime/queries/rust/indents.scm +++ b/runtime/queries/rust/indents.scm @@ -51,13 +51,14 @@ . (_) @expr-start value: (_) @indent + alternative: (_)? @indent (#not-same-line? @indent @expr-start) (#set! "scope" "all") ) -(if_let_expression +(if_expression . (_) @expr-start - value: (_) @indent + condition: (_) @indent (#not-same-line? @indent @expr-start) (#set! "scope" "all") ) diff --git a/runtime/queries/rust/textobjects.scm b/runtime/queries/rust/textobjects.scm index 7005d9c73a05..496f752ecd39 100644 --- a/runtime/queries/rust/textobjects.scm +++ b/runtime/queries/rust/textobjects.scm @@ -42,7 +42,7 @@ (; #[test] (attribute_item - (meta_item + (attribute (identifier) @_test_attribute)) ; allow other attributes like #[should_panic] and comments [