diff --git a/dotfiles/kakoune/rc/tree-grepper.kak b/dotfiles/kakoune/rc/tree-grepper.kak index 13ffd29..3f7aee2 100644 --- a/dotfiles/kakoune/rc/tree-grepper.kak +++ b/dotfiles/kakoune/rc/tree-grepper.kak @@ -40,7 +40,7 @@ define-command -override -docstring "jump somewhere in an Haskell file's definit } define-command -override -docstring "jump somewhere in an Rust file's definition outline" -params 0..1 outline-jump-rust %{ - outline-jump rust "(use_declaration (_)@use) (function_item (identifier)@function) (function_signature_item (identifier)@function) (struct_item (type_identifier)@struct) (field_declaration)@field (impl_item (type_identifier)@impl) (parameter)@arg (self_parameter)@arg (let_declaration (identifier)@let) (enum_item (type_identifier)@enum) (enum_variant (identifier)@enum)" + outline-jump rust "(use_declaration (_)@use) (function_item (identifier)@function) (function_signature_item (identifier)@function) (struct_item (type_identifier)@struct) (field_declaration)@field (impl_item (type_identifier)@impl) (parameter)@arg (self_parameter)@arg (let_declaration (identifier)@let) (let_declaration (tuple_pattern (identifier)@let)) (enum_item (type_identifier)@enum) (enum_variant (identifier)@enum)" } define-command -override -docstring "jump somewhere in a Markdown file's outline" -params 0..1 outline-jump-markdown %{ diff --git a/sample-projects/rust/src/main.rs b/sample-projects/rust/src/main.rs index c9df18d..06010a2 100644 --- a/sample-projects/rust/src/main.rs +++ b/sample-projects/rust/src/main.rs @@ -22,6 +22,20 @@ impl Foo { let to_add = 1; self.count += to_add } + + fn returns_tuple(&self) -> (int, bool) { + (1, true) + } + + fn consumes_tuple(&self) -> bool { + let (base, should_double) = self.returns_tuple(); + + if should_double { + base * 2 + } else { + base + } + } } impl Drop for Foo {