-
Notifications
You must be signed in to change notification settings - Fork 94
Improve pasting long text #242
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
irb q=<<~Q (enter) (paste) query { organization(slug: "test") { pipelines(last: 10) { edges { node { id name builds(createdAtFrom: "2020-01-01") { count } metrics { edges { node { label value } } } } } } } } Then this line fail
irb q = <<~Q (enter) (paste) query { organization(slug: "test") { pipelines(last: 10) { edges { node { id name builds(createdAtFrom: "2020-01-01") { count } metrics { edges { node { label value } } } } } } } } (left) Then this line fail.
@aycabta I dont know how to fix the delete character issue in this PR, could you take a look? 🙏 Thank you! |
Thank you for your reporting. For now, I created a minimal reproduction code.
I'll look into it in detail. |
@aycabta Thank you. It is not urgent. Can wait after the new year when you have time. |
Use the start token as the indentation criteria so that it works properly in heredoc. ref. ruby/reline#242
Use the start token as the indentation criteria so that it works properly in heredoc. ref. ruby/reline#242 ruby/irb@9704808dfd
This problem was caused by a number of bugs in IRB and Reline. First, IRB was returning broken information by callbacks, and it's fixed by ruby/irb#161 and ruby/irb#163. Second, Reline was crashing when takes broken information from callbacks, and it's fixed by #244. I believe your reporting was very important and your research has been extremely helpful in clarifying the issue. I added you to co-author to commits of #244. Thank you so much! |
Use the start token as the indentation criteria so that it works properly in heredoc. ref. ruby/reline#242 ruby/irb@9704808dfd
* Get rid of inconsistent dll linkages against vcpkg readline * [ruby/irb] Enhance colored inspect output ruby/irb@dffcdb5269 * [ruby/irb] Add color_printer.rb to gemspec ruby/irb@b4df0fd8b2 * [ruby/irb] Fix failing tests ruby/irb@7723ade899 * irb: add more syntax errors colorizing support (#3967) * [ruby/irb] Do not colorize partially-correct inspect This is to prevent a yellow-mixed output for ActiveSupport::TimeWithZone. Follows up ruby/irb#159 and #3967. ruby/irb@a5804c3 * [ruby/irb] Remove unnecessary ignore_error in dispatch_seq Just forgotten in ruby/irb@a5804c3 ruby/irb@e42e548793 * Increase timeout for reline with --jit-wait for failures like: http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-130509 http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201229-165132 http://ci.rvm.jp/logfiles/brlog.trunk-mjit-wait.20201228-015519 * [ruby/irb] Stringify when a non-object is passed to PP#text If a nested object is passed to #pp, it may be sometimes passed to the #text method as an object without being stringified. This is fixed on the Ruby main repository; 433a3be but it was a bug of Ripper so still needs this workaround for using irb as a gem on Ruby 3.0.0 or earlier. Co-authored-by: k0kubun <takashikkbn@gmail.com> ruby/irb@8d13df22ee * [ruby/irb] Newline in oneliner def doesn't reset indent This closes ruby/irb#132. ruby/irb@43456dcf5e * [ruby/irb] Escape invalid byte sequence in Exception This fixes ruby/irb#141. ruby/irb@0815317d42 * [ruby/irb] Handle indentations related to keyword "do" correctly This fixes ruby/irb#158. ruby/irb@964643400b * [ruby/irb] Heredoc may contain multiple newlines in a single token Use the start token as the indentation criteria so that it works properly in heredoc. ref. ruby/reline#242 ruby/irb@9704808dfd * [ruby/irb] Use Ripper::Lexer#scan to take broken tokens ref. ruby/reline#242 ruby/irb@54f90cb6c9 * [ruby/irb] Use error tokens if there are no correct tokens in the same place For example, the broken code "%www" will result in only one error token. ruby/irb@9fa39a7cf3 * [ruby/irb] Ensure to restore $VERBOSE ruby/irb@cef474a76a * 600x larger timeout for Reline I didn't notice it's msec. 2.5s is too short. http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3311385 * [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence` ruby/irb@d09d3c3d68 * [ruby/irb] do not escape a predicate method for doc namespace * Fixes #88 ruby/irb@d431a30af4 * [ruby/irb] refactoring an error handling in `IRB::Inspector` * moved rescue clause to `#inspect_value` to catch all failures in inspectors * test with all (currently five kind of) inspect modes - tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject` ruby/irb@9d112fab8e * [ruby/irb] Use Exception#full_message to show backtrace in the correct order [Bug #17466] ruby/irb@1c76845cca * [ruby/irb] Fix BACK_TRACE_LIMIT logic ruby/irb@30dc5d43fe * irb: Drop lines from backtrace for tests in Ruby repository * [ruby/reline] Update cursor correctly when just cursor moving This fixes ruby/reline#236 and ruby/reline#239. ruby/reline@3e3c89d00b * [ruby/reline] Correct var names in Reline were different from vi-*-mode-string ruby/reline@8255fc93b9 * [ruby/reline] Remove debug print ruby/reline@d7fbaedc6a * [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent info Co-authored-by: Juanito Fatas <me@juanitofatas.com> ruby/reline@7c24276275 * [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken prompt list Co-authored-by: Juanito Fatas <me@juanitofatas.com> ruby/reline@558f7be168 * [ruby/reline] Suppress auto indent for adding newlines in pasting Co-authored-by: Juanito Fatas <me@juanitofatas.com> ruby/reline@074bb017a7 * [ruby/reline] Add acknowledgments and license for rb-readline ruby/reline@19df59b916 * [ruby/irb] Fix comment, irb gem supports 2.5.0 or older ruby/irb@36118015ba * should use `assert_include` here. Random ordering test can introduce antoher candidate so it should be `assert_include`. * [ruby/irb] Add missing require This is useful if you want to use IRB::ColorPrinter as a library like: ``` begin require 'irb/color_printer' IRB::ColorPrinter.pp(obj) rescue LoadError pp(obj) end ``` ruby/irb@f8461691c7 * [ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.pp The incompatible interface is not helpful, again if you want to use it as a standalone library, falling it back to PP. Original PP.pp also ends with `out << "\n"`. ruby/irb@4c74c7d84c * Suppress constant redefinition warnings * Fix the failing test with XDG_CONFIG_HOME * [ruby/irb] Version 1.3.1 ruby/irb@ 74BA c230d08911 * [ruby/reline] Handle ed_search_{prev,next}_history in multiline correctly The current line was being handled incorrectly when displaying the hit history, so it has been fixed to be correct. ruby/reline@a3df4343b3 * [ruby/reline] Move the cursor correctly when deleting at eol This fixes ruby/reline#246. ruby/reline@07a73ba601 * [ruby/reline] Version 0.2.1 ruby/reline@a3b3c6ee60 * [ruby/reline] Initialize a variable just in case ruby/reline@29b10f6e98 * [ruby/reline] Tests with yamatanooroti don't need chdir Because of chdir, log files ware created in temporary directries on Windows. ruby/reline@200b469a68 * [ruby/reline] Windows needs more times to wait rendering ruby/reline@53ff2b09c7 * [ruby/reline] Support for change in Windows-specific behavior at eol The behavior of automatically moving the cursor to the next line when displaying a char at the eol on Windows suddenly disappeared. ruby/reline@cad4de6ee8 * [ruby/reline] Reline::Windows.erase_after_cursor erases attributes too ruby/reline@68b961dfc7 * [ruby/irb] [ruby/irb] [ruby/reline] Version 0.2.2 ruby/reline@dfb710946f ruby/irb@1a1cdf9628 ruby/irb@fe99faf8bd * [ruby/irb] handle `__ENCODING__` as a keyword as well ruby/irb@a6a33d908f * [ruby/irb] handle repeated exception separately ruby/irb@fcf6b34bc5 * [ruby/irb] skip a failling test on TruffleRuby * due to the difference of backtrace pointed out by @aycabta ruby/irb@5e00a0ae61 * [ruby/irb] Version 1.3.2 ruby/irb@a7699026cc Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org> Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> Co-authored-by: Nobuhiro IMAI <nov@yo.rim.or.jp> Co-authored-by: Koichi Sasada <ko1@atdot.net> Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
I was trying to paste this long piece of text and play around new reline using Ruby 3.0.0 (reline 0.2.0) on macOS. Steps to reproduce:
irb crashed and
exit(1)
with various scenariosWhen I pasted it, hit enter -> Fixed by 58e7f3e
Backtrace
When I pasted it, use ← or → arrow keys (↑ or ↓ work fine) -> Fixed by 34d253d
Backtrace
When I pasted it, use ← Backspace
The problem with this is that pasted text added an extra space which the line is just
"}"
(irb 024 below), so the calculation went wrong.Backtrace
I would love some tips on improving these and adding tests for these. Thanks.
Feel free to push changes to this branch if you want.