aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/ruby/injections.scm12
-rw-r--r--tests/query/injections/ruby/test-ruby-debugger.rb11
2 files changed, 23 insertions, 0 deletions
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