Peter Jones
e0bfdb23af
[ruby/irb] Ensure stdout is a TTY before calling winsize
...
When outputting a (possibly truncated) value, IRB will query the
window size. However, if IRB was piped to another process, stdout
will no longer be a TTY and will not support the `winsize` method.
This fix ensure that stdout is a TTY.
125de5eeea
2022-06-26 14:40:48 +09:00
Samuel Williams
e4cd319f3d
[ruby/irb] Prefer IO#wait_readable
over IO#select
. ( https://github.com/ruby/irb/pull/323 )
...
1c03bd3373
2021-12-29 09:37:05 +09:00
aycabta
ddf0cdee4f
[ruby/irb] Support showing doc by dialog in iTerm2
...
a4b95d6634
2021-12-25 12:56:40 +09:00
ima1zumi
d486286f1d
[ruby/irb] Add Alt+d keycode when convert-meta isn't used
...
I pushed reline#389 for when convert-meta is not turned on in .inputrc.
Alt+D in irb also needs to be set to the keycode for not using convert-meta.
328eddf851
2021-12-03 00:51:41 +09:00
aycabta
866a09dd9e
[ruby/irb] Add --extra-doc-dir option to show doc dialog
...
3f79cb506f
2021-10-11 21:12:57 +09:00
aycabta
1507cb084c
[ruby/irb] Determine left and right when the width of either side is zero correctly
...
5df6e1f027
2021-10-08 10:34:06 +09:00
aycabta
576eccf76d
[ruby/irb] Calculate right side doc dialog width correctly
...
f34da7fa04
2021-10-08 10:33:56 +09:00
aycabta
374efa8e30
[ruby/irb] Specify whether to show the doc dialog on the left or right side by using variable names
...
a23a88b8c9
2021-10-08 10:33:47 +09:00
aycabta
5c02df8296
[ruby/irb] Display doc dialog in gaps on narrow screen
...
4d7cefcaa4
2021-10-08 10:33:39 +09:00
Kaíque Kandy Koga
80e2242da6
[ruby/irb] Update descriptions of methods
...
From Reidline to Reline
Update description used in take_corresponding_syntax_to_kw_do and is_the_in_correspond_to_a_for methods
Use possessive noun correctly
Second element
4fa9714d6f
2021-10-07 23:55:54 +09:00
Masataka Pocke Kuwabara
853ca5cceb
[ruby/irb] Remove require
in signal handler to avoid ThreadError
...
`rdoc` has been required so it looks unnecessary
5f749c613c
2021-10-03 21:51:54 +09:00
aycabta
2a4bacce8c
[ruby/irb] Add comments for Alt+d key sequences
...
4cb5f7e546
2021-09-06 06:39:02 +09:00
aycabta
991eb4894d
[ruby/irb] Use multiple trap_key
...
416abe2524
2021-09-06 05:24:41 +09:00
aycabta
5f771f4f02
[ruby/irb] Remove commeted out code
...
7dda1f803e
2021-09-04 21:59:39 +09:00
aycabta
c8bf45f23c
[ruby/irb] Show doc at the same height as the autocompletion dialog
...
a9db71e6bc
2021-09-04 21:57:11 +09:00
aycabta
f7d9dd2e4c
[ruby/irb] Render properly if both autocomplete and show doc dialogs are left of the cursor
...
0090203107
2021-09-04 21:55:55 +09:00
aycabta
3d6a475587
[ruby/irb] Use Reline::Key for trap_key in dialog callback
...
b05ce3c72d
2021-09-03 04:28:53 +09:00
aycabta
eb92d7c732
[ruby/irb] Add message to show full doc
...
6370a5d974
2021-09-03 04:28:32 +09:00
aycabta
f793f68264
[ruby/irb] Add Alt+d trap from show doc dialog to show full doc
...
368327b082
2021-09-03 04:28:27 +09:00
aycabta
817694481c
[ruby/irb] Set the dialog width to render with a fixed width
...
80c4329643
2021-08-31 15:20:34 +09:00
aycabta
077bc98ce4
[ruby/irb] Follow that Dialog#contents_width has been renamed to #width
...
49a73d929e
2021-08-31 15:20:27 +09:00
aycabta
a8e6a850d5
[ruby/irb] Make show doc dialog appears on the left at the right edge
...
6480eddd31
2021-08-31 15:20:22 +09:00
aycabta
cf0ece810a
[ruby/irb] Rename a variable "dialog" with "autocomplete_dialog"
...
Because it's just used to receive data from the autocomplete dialog, not
for show doc dialog.
f8b752bd98
2021-08-31 15:20:17 +09:00
aycabta
c63d98b401
[ruby/irb] Use DialogRenderInfo
...
5bc3a72ca3
2021-08-31 05:24:55 +09:00
aycabta
b30be9f222
[ruby/irb] Take dialog to get scroll_top
...
7209082a11
2021-08-31 05:24:45 +09:00
aycabta
16cf2ef6f2
[ruby/irb] Don't show doc when pointer is negative
...
48af34bfc2
2021-08-31 05:24:36 +09:00
aycabta
aeec02d7f3
[ruby/irb] [].name to display the doc for Array.name
...
7c2abc14d8
2021-08-30 11:58:56 +09:00
aycabta
1e2f10e8aa
[ruby/irb] Rescue unknown error to quash crashing
...
92cce941cb
2021-08-30 11:58:51 +09:00
aycabta
ece4ed0da7
Add --autocomplete / --noautocomplete options
2021-08-30 02:45:13 +09:00
aycabta
cde84a5baa
[ruby/irb] Rescue NotFoundError of RDoc::RI::Driver#expand_name
...
c5f13b23d7
2021-08-29 20:30:01 +09:00
aycabta
ae4e301d5d
[ruby/irb] Add show doc dialog for Reline
...
026700499d
2021-08-29 20:29:54 +09:00
aycabta
ab89c45b90
[ruby/irb] Evaluate each toplevel statement
...
bc1b1d8bc3
2021-04-03 01:17:08 +09:00
Cody Cutrer
3cab8c087f
[ruby/irb] process multi-line pastes as a single entity
...
this allows pasting leading-dot chained methods correctly:
```ruby
class A
def a; self; end
def b; true; end
end
a = A.new
a
.a
.b
```
will properly return `true` instead of erroring on the `.a` line:
```
irb(main):001:1* class A
irb(main):002:1* def a; self; end
irb(main):003:0> end
irb(main):004:0*
irb(main):005:0> a = A.new
irb(main):006:0*
irb(main):007:0> a
irb(main):008:0> .a
irb(main):009:0> .a
=> #<A:0x00007f984211fbe8>
```
45aeb52575
2021-04-03 00:49:29 +09:00
aycabta
0927756e58
[ruby/irb] Complete require and require_relative
...
1c61178b4c
2021-03-24 15:11:41 +09:00
Nobuhiro IMAI
5b05b85d85
[ruby/irb] add IRB::FileInputMethod.open
to ensure closing associated File
...
* tweak some methods not to raise exception after `#close`
* use it in `IRB::IrbLoader#{source_file,load_file}
ec2947acbd
2021-01-27 15:01:57 +09:00
aycabta
28e9344fa4
[ruby/irb] Change StdioInputMethod#eof? to non-blocking
...
This fixes --inf-ruby-mode.
0e4a818955
2020-12-23 22:08:30 +09:00
aycabta
e468d9f49c
[ruby/irb] Add OMIT_ON_ASSIGNMENT
...
Omit the results evaluated at assignment if they are too long.
The behavior of ECHO_ON_ASSIGNMENT being on by default is hard to understand,
so I change it to off by default. Instead, we turn OMIT_ON_ASSIGNMENT on by
default. The result is displayed on assignment, but it will always be short
and within one line of the screen.
c5ea79d5ce
2020-09-14 02:13:11 +09:00
aycabta
b3f84b4a5b
[ruby/irb] Expand path to run separated test correctly
...
be2937abd5
2020-08-18 14:38:01 +09:00
Nobuyoshi Nakada
6aa786b8a3
[ruby/irb] Get rid of loading readline unnecessarily
...
420e7d2270
2020-08-18 14:38:01 +09:00
aycabta
3864fbc6d8
[ruby/irb] Check existence of rc files in irb_info command
...
cdbb9dfc9f
2020-04-29 19:13:14 +09:00
aycabta
98a346d065
[ruby/irb] Add irb_info command
...
a6fe58e916
2020-04-29 19:13:14 +09:00
aycabta
8c3efa4940
Use Reline.encoding_system_needs if exists
2020-01-14 15:40:38 +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
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
8b20829396
Remove an unnecessary variable
2019-11-26 19:22:38 +09:00
aycabta
51ea1abb5f
Remove e2mmap dependency
2019-11-25 05:38:09 +09:00
aycabta
d009e321a0
Use IRB.conf[:AUTO_INDENT] setting in multiline mode
2019-06-19 09:19:41 +09:00
aycabta
235e72f17e
Implement auto indent for multiline
2019-06-18 20:58:18 +09:00
aycabta
f80771f0a9
Use Reline.prompt_proc in IRB
2019-06-14 08:26:06 +09:00