Commit graph

764 commits

Author SHA1 Message Date
aycabta
8c3efa4940 Use Reline.encoding_system_needs if exists 2020-01-14 15:40:38 +09:00
aycabta
a2638c0d87 Remove an unused setting variable 2020-01-14 15:40:38 +09:00
Ben
c94025b630 [ruby/irb] Fix crashing when multiple open braces per line
https://github.com/ruby/irb/issues/55

If we had put multiple open braces on a line the with no closing brace
spaces_of_nest array keeps getting '0' added to it. This means that when
we pop off of this array we are saying that we should be in position zero
for the next line. This is an issue because we don't always want to be
in position 0 after a closing brace.

Example:
```
[[[
]
]
]
```
In the above example the 'spaces_of_nest' array looks like this after
the first line is entered: [0,0,0]. We really want to be indented 4
spaces for the 1st closing brace 2 for the 2nd and 0 for the 3rd. i.e.
we want it to be: [0,2,4].

We also saw this issue with a heredoc inside of an array.

```
[<<FOO]
hello
FOO
```

80c69c8272
2020-01-14 15:40:38 +09:00
Ben
9994eb8a5e [ruby/irb] Fix newline depth with multiple braces
This commit fixes the check_newline_depth_difference method to multiple
open braces on one line into account. Before this change we were
subtracting from the depth in check_newline_depth_difference on
every open brace. This is the right thing to do if the opening and
closing brace are on the same line. For example in a method definition we
have an opening and closing parentheses we want to add 1 to our depth,
and then remove it.

```
def foo()
end
```

However this isn't the correct behavior when the brace spans multiple
lines. If a brace spans multiple lines we don't want to subtract from
check_newline_depth_difference and we want to treat the braces the same
way as we do `end` and allow check_corresponding_token_depth to pop the
correct depth.

Example of bad behavior:

```
def foo()
  [
  ]
puts 'bar'
end
```

Example of desired behavior:

```
def foo()
  [
  ]
  puts 'bar'
end
```

7dc8af01e0
2020-01-14 15:40:38 +09:00
aycabta
8316b330fb [ruby/irb] Version 1.2.1
8da0c74640
2019-12-24 09:56:40 +09:00
aycabta
0e528ae9cb [ruby/irb] Remove warning message to bundle on Ruby 2.7.0
d9a7844f50
2019-12-24 09:56:40 +09:00
Yusuke Endoh
616f1357c3 [ruby/irb] Make nesting level up for 1.times do
Follow up of the previous commit

ab207353d3
2019-12-22 01:57:35 +09:00
Yusuke Endoh
a3cc2a2fbd [ruby/irb] Fix auto-indent for 1.times do
Fixes #47

6b8eca4635
2019-12-22 01:57:35 +09:00
Nobuyoshi Nakada
e68999c82c
Fixed misspellings
Fixed misspellings reported at [Bug #16437], for default gems.
2019-12-20 12:19:45 +09:00
aycabta
0ff84eda4e [ruby/irb] Version 1.2.0
da6577a88c
2019-12-07 21:56:23 +09:00
aycabta
2e595c2d78 [ruby/irb] New IRB needs Ruby 2.5 or later
4be3158358
2019-12-07 21:56:06 +09:00
aycabta
ad6837dd60 [ruby/irb] Revert "Reidline mode needs Reline what needs String#grapheme_clusters"
This reverts commit 2b0b19b87c60d2cdb329979acbb96e12a1f940e7.

New IRB parser needs new Ripper what has lex_state too. The new Ripper is
adopted by Ruby 2.5 or later.

9ab6e35a2c
2019-12-07 21:55:31 +09:00
aycabta
c2afddccb3 [ruby/irb] Reidline mode needs Reline what needs String#grapheme_clusters
2b0b19b87c
2019-12-07 20:01:53 +09:00
aycabta
027e847cd2 Fix auto-indent behavior correctly 2019-12-03 13:02:50 +09:00
aycabta
f8cc05dec3 Use @eof variable for ReidlineInputMethod#eof?
"IRB::InputMethod#eof?" requires eof status each user input but
"ReidlineInputMethod#eof?" used "Reline.eof?" what is singleton data.
"ReidlineInputMethod#eof?" is changed to use the result of user input.
2019-11-30 11:20:39 +09:00
aycabta
c4686b9235 Revert "Treat :@1, :@@1, @1, and @@1 correctly to check termination"
This reverts commit 5e275dd2af.

...The @1 type numberd parameter is reverted from Ruby syntax.
2019-11-29 17:38:18 +09:00
aycabta
7d75e94ea9 Fix regexp to complete complex literal
IRB completion logic always needed exponential notation for complex literal
such as 3e6i but it's bug. I fixed to support complex literal without
exponential notation such as 3i.
2019-11-28 15:22:38 +09:00
aycabta
7769975c3c Remove two removed constants 2019-11-28 08:26:10 +09:00
aycabta
8b20829396 Remove an unnecessary variable 2019-11-26 19:22:38 +09:00
Takashi Kokubun
1fe31737d8
Slightly fix the warning message [ci skip]
I'm not sure, but maybe it was gramatically incorrect?
2019-11-26 01:20:29 -08:00
Takashi Kokubun
958641d991
Suggest an alternative to suppress the irb warning 2019-11-26 01:18:07 -08:00
aycabta
fd956c72ea Cache loaded module to suppress method redefined warnings 2019-11-25 07:27:15 +09:00
aycabta
51ea1abb5f Remove e2mmap dependency 2019-11-25 05:38:09 +09:00
aycabta
efbca15116 Remove lib/irb/slex.rb 2019-11-25 03:10:35 +09:00
aycabta
1aeb201d28 Remove debug code... 2019-11-24 23:29:09 +09:00
aycabta
745ab16818 Disable tracer ext of IRB when tracer doesn't found 2019-11-24 22:42:08 +09:00
Kazuhiro NISHIYAMA
88d6009d91
Use more strict regexp to avoid to match naninanirb.rb 2019-11-21 23:10:30 +09:00
aycabta
e4127cdd3e Version 1.1.0 2019-11-21 07:04:40 +09:00
aycabta
eee70b41d4 Add a warning message and --legacy of an alias of --singleline 2019-11-21 02:44:35 +09:00
Y. Ushiki
9d6f78822c Refactor filter_backtrace 2019-11-21 02:44:35 +09:00
Y. Ushiki
04d0d93ebf Fix filter_backtrace for context-mode 0 2019-11-21 02:44:35 +09:00
aycabta
91bf3b7a77 Use singleline/multiline instead of readline/reidline 2019-11-21 02:44:35 +09:00
aycabta
9306602f24 Replace typo "bock" with "block" 2019-11-20 09:58:33 +09:00
aycabta
19a310b0ac A preceding token of "do" of block has EXPR_CMDARG or EXPR_ENDFN
meth do # the preceding token of "do" has EXPR_CMDARG
  end

  meth() do # the preceding token of "do" has EXPR_ENDFN
  end
2019-11-20 09:56:13 +09:00
aycabta
49b4507fd3 Number sign comment (# bla bla) is a kind of newline character 2019-11-20 08:39:43 +09:00
aycabta
bc0da8e3ff Generate history file path correctly when $HOME/.irbrc doesn't exist 2019-11-20 08:19:58 +09:00
aycabta
e7c5c60095 [ruby/irb] Remove ruby-token.rb from spec.files
0180dc74bc
2019-11-17 23:32:10 +09:00
aycabta
be95d59160 [ruby/irb] Version 1.1.0.pre.4
4945d0e676
2019-11-17 23:32:10 +09:00
aycabta
a5b6d7bca8 Suppress warnings except for when last evaluation
Co-authored-by: Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
2019-11-13 15:15:28 +09:00
aycabta
45bb6f28db Remove ruby-token.rb 2019-11-11 22:56:06 +09:00
Takashi Kokubun
fcd9bc28e3
qsymbols and symbols should be colored as Symbol 2019-11-10 13:54:44 -08:00
Takashi Kokubun
25c53a8eec
Colorize on_symbols_beg (%I) 2019-11-10 13:41:41 -08:00
Takashi Kokubun
b5996b25ae
Colorize string quotes as bold
like pry
2019-11-10 13:33:23 -08:00
zverok
4fe06f4667 IRB: Document command evaluation history. 2019-10-26 10:24:20 -07:00
Jeremy Evans
1fb4584825 Remove unsused output_method argument
Fixes Ruby Bug 9876.
2019-10-24 23:47:50 +09:00
Nobuyoshi Nakada
c01df7e58f
Fixed the key to delete [Bug #16250]
f94202fcc2 (commitcomment-35505076)

Co-Authored-By: Ary Borenszweig <asterite@gmail.com>
2019-10-15 23:16:24 +09:00
Nobuyoshi Nakada
f94202fcc2
Use compare_by_identity hash [Bug #16250] 2019-10-15 19:41:16 +09:00
Takashi Kokubun
c800967acd
Simplify circular reference check of IRB::Color 2019-10-14 21:58:13 -07:00
Ary Borenszweig
96617ad1d5 IRB colorize: take into account recursive arrays and hashes (#2555)
[Bug #16250]
2019-10-14 21:25:05 -07:00
Nobuyoshi Nakada
3bb1162cac
Folded files in gemspec 2019-09-16 21:51:48 +09:00