From a295ba13d27684e8904e8e51876b84ee85135cf1 Mon Sep 17 00:00:00 2001 From: Derek Stride Date: Mon, 30 Dec 2024 05:14:03 -0500 Subject: [PATCH] feat(ruby): add injection for debugger command strings (#7480) --- queries/ruby/injections.scm | 12 ++++++++++++ tests/query/injections/ruby/test-ruby-debugger.rb | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100644 tests/query/injections/ruby/test-ruby-debugger.rb diff --git a/queries/ruby/injections.scm b/queries/ruby/injections.scm index 7d8be5b23..12b2c32a5 100644 --- a/queries/ruby/injections.scm +++ b/queries/ruby/injections.scm @@ -9,3 +9,15 @@ (regex (string_content) @injection.content (#set! injection.language "regex")) + +((call + receiver: (identifier) @_receiver + method: (identifier) @_method + arguments: (argument_list + (pair + key: (hash_key_symbol) + value: (string + (string_content) @injection.content)))) + (#eq? @_receiver "binding") + (#any-of? @_method "b" "break") + (#set! injection.self)) diff --git a/tests/query/injections/ruby/test-ruby-debugger.rb b/tests/query/injections/ruby/test-ruby-debugger.rb new file mode 100644 index 000000000..1dd8632c3 --- /dev/null +++ b/tests/query/injections/ruby/test-ruby-debugger.rb @@ -0,0 +1,11 @@ +binding.b(do: "puts 'Hello, world!'") +# ^ @ruby + +binding.b(pre: "pp [1, 2, 3]") +# ^ @ruby + +binding.break(do: "puts 'Hello, world!'") +# ^ @ruby + +binding.break(pre: "pp [1, 2, 3]") +# ^ @ruby