ruby lib/irb/easter-egg.rb

2020-07-12 16:27:18

*[ruby/reline]排序完成列表#旧模式:`console$IRB--旧IRB(Main):001:0>;l[TAB][TAB]lambda LOAD LOAD LOCAL_Variables循环`#此修补程序之前:``console$IRB IRB(Main):001:0>;l[TAB][TAB]LOCAL_Variables循环lambda load`#在此修补程序之后:``。l[Tab][Tab]lambda load LOCAL_VARIABLES循环``‘ruby/reline@6074069*删除无效字符,因为utf-8*add test_completion_with_indent_and_completer_quote_charactersThis适用于8a70524。*[ruby/irb]添加RubyLexSet_AUTO_INDENT方法计算用于缩进一行的正确空格数量。我们认为此方法中可能存在一些错误,因此我们正在测试当前功能,以确保在我们解决这些错误时不会中断。例如,测试失败:``1)失败:TestIRB::TestRubyLex#TEST_AUTO_INDINT[/Users/Ben/Projects/irb/test/irb/test_ruby_lex.rb:75]:Calculated空格数错误:def each_top_level_Statement initialize_input catch(:TERM_INPUT)DO LOOP DO BEGIN PROMPT,除非l=lex抛出:TERM_INPUT IF@LINE==';';10>;应为10>;,但实际为<;12>;.``ruby/irb@752d559*[ruby/reline]如果未知,则将终端大小退化为[$line,$column]这是拼音/irb#50 ruby/reline@5725677*[ruby/irb]使用多个大括号修复换行行深度此提交将check_newline_Depth_Difference方法修复为一个上的多个左大括号。在此更改之前,我们从每个左大括号的CHECK_NEWLINE_Depth_Difference中减去深度。如果开始和结束大括号在同一条线上,那么这样做是正确的。例如,在方法定义中,我们有一个左括号和右括号,我们希望在深度上加1,然后将其删除。`def foo()end`然而,当大括号跨越多行时,这不是正确的行为。如果大括号跨越多行,我们不希望从check_newline_Depth_Difference中减去,而希望以与处理`end`相同的方式处理大括号,并允许check_对应_Token_Depth弹出校正深度。不良行为示例:``def Foo()[]put';bar&39;end``所需行为的示例:``def Foo()[]put'。end`ruby/irb@7dc8af0*text/readline/test_readline.rb-修复重新行上的跳过(#2743)TestRelineAsReadline#test_input_metachar在MinGW*ADD";需要';Openstruct';";忘记什么*[ruby/irb]修复OpenStruct ruby/irb@1f3a84a*添加加载路径并需要Ruby/ruby*Rescue EOFErrorIf。.upca[TAB]这将完成为:def foo;';.upcase缩进已消失。此提交修复了错误。*[ruby/irb]修复了每行多个左花括号时的崩溃ruby/irb#55如果我们在一行上放置了多个左花括号,则没有右花括号的嵌套数组会不断地添加';0';。这意味着当我们弹出这个数组时,我们说的是我们应该在下一行的位置0。这是一个问题,因为我们不希望在右大括号之后始终处于位置0。例如:`[]`在上面的示例中,输入第一行后的';space_of_nest';数组如下所示:[0,0,0]。我们真的希望第一个闭合大括号缩进4个空格,第二个缩进2个空格,第三个缩进0个空格。也就是说,我们希望它是:[0,2,4]。我们还在数组中看到了这个问题,其中包含一个herdoc。`[<;<;foo]helloFOO``ruby/irb@80c69c8*正确支持.inputrc中的历史记录大小*介绍有关Reline编码的抽象结构Windows上的命令提示符始终使用Unicode进行输入和打印输出,但大多数Relline实现依赖于Encoding.default_External。此提交引入了有关relline编码的抽象结构。*删除未使用的设置变量*如果存在,请使用Reline.coding_system_nesids*添加vi_insert和vi的测试。next_char ruby/reline@066ecb0*[ruby/reline]实现vi_prev_char和vi_to_prev_char ruby/reline@0ad3ee6*[ruby/readline-ext]在ruby/ruby.h中包含ruby/assert.h,以便断言可以存在ruby/readline-ext@4d44c12*停止使用最小的依赖方法*如果出现以下情况,则跳过使用assert_ruby_status的测试。t eXIST*使用OMIT而不是SKIP*CHECK NOT_RUN_RELINE_TEST envvar*[ruby/irb]add newline_BEFORE_MULTLINE_OUTPUT ruby/irb@9eb1801*[ruby/irb]修复5.2版本之前的Rails与Rails的兼容性添加5.2版本之前的Rails#添加Array#作为别名追加到Array#<;<;,因此它只需要一个参数。但是,ruby-2.5添加了Array#作为别名添加到Array。";)失败,错误为:irb/Completion.rb:206:in`<;<;';:使用Arra的参数数目错误(给定3个,预期为1个)(ArgumentError