diff --git a/lib/runner/connection/buffer.rb b/lib/runner/connection/buffer.rb index a9a67806..55f138d3 100644 --- a/lib/runner/connection/buffer.rb +++ b/lib/runner/connection/buffer.rb @@ -6,7 +6,7 @@ class Runner::Connection::Buffer # substring either in single or double quotes (e.g., within a JSON). Originally, each line break consists of `\r\n`. # We keep the `\r` at the end of the line (keeping "empty" lines) and replace it after buffering. # Inspired by https://stackoverflow.com/questions/13040585/split-string-by-spaces-properly-accounting-for-quotes-and-backslashes-ruby - SPLIT_INDIVIDUAL_LINES = /(?:"""(?:\\"|[^"])*"""|"(?!"")(?:\\"|[^"])*"|''(?:\\'|[^'])*'''|'(?!'')(?:\\'|[^'])*'|[#\\][^\r\n]*|(?:[^\r\n]|\r(?=\n)))+/ + SPLIT_INDIVIDUAL_LINES = /(?:"""(?:\\"|(?!\r\n +\^\r\n)[^"])*"""|"(?!"")(?:\\"|(?!\r\n +\^\r\n)[^"])*"|''(?:\\'|(?!\r\n +\^\r\n)[^'])*'''|'(?!'')(?:\\'|(?!\r\n +\^\r\n)[^'])*'|[#\\][^\r\n]*|(?:[^\r\n]|\r(?=\n)))+/ def initialize @global_buffer = +''