Граф коммитов

79 Коммитов

Автор SHA1 Сообщение Дата
aycabta 55cc397a87 [ruby/reline] Suppress callbacks in pasting
IRB uses Reline's 3 dynamic real-time callbacks with calling Ripper;
output_modifier_proc, prompt_proc, and auto_indent_proc. These processing
times make the paste time too long.

https://github.com/ruby/reline/commit/beec3399a8
2020-12-05 02:58:58 +09:00
aycabta 172d44e809 [ruby/reline] Add require 'rbconfig' to use RbConfig
https://github.com/ruby/reline/commit/4a0d32a3d0
2020-08-18 19:10:09 +09:00
Mark Delk 44b24ab4c1 [ruby/reline] Support mode icon
Co-authored-by: aycabta <aycabta@gmail.com>

https://github.com/ruby/reline/commit/067b618123
2020-08-18 19:08:32 +09:00
aycabta 215fe54777 [ruby/reline] Check Errno::EIO
Catch Errno::EIO what will be occurred if the console terminates I/O before
Reline finishes rendering.

https://github.com/ruby/reline/commit/e51eaa6d43
2020-08-18 19:04:31 +09:00
aycabta 68a7c8ad57 Reline callbacks can take nil 2020-05-14 12:27:33 +09:00
aycabta 69cd27c98e [ruby/reline] Suppress error when check ambiguous char width in LANG=C
https://github.com/ruby/reline/commit/623dffdd75
2020-03-26 17:41:21 +09:00
aycabta f245fb1ab8 [ruby/reline] Work with wrong $/ value correctly
https://github.com/ruby/reline/commit/962ebf5a1b
2020-03-26 17:41:21 +09:00
aycabta 2efb38e766 [ruby/reline] Use IO#write instead of IO#print
IO#print always adds a string of $\ automatically.

https://github.com/ruby/reline/commit/a93119c847
2020-02-14 22:47:27 +09:00
aycabta 8f4beec152 Always refer to Reline::IOGate.encoding 2020-01-26 12:50:11 +09:00
Lars Kanis d1166c6d39 Reline: Use a more robust detection of MinTTY
The previous detection per get_screen_size fails when stdout is passed
to a pipe. That is the case when running ruby tests in parallel ("-j" switch).
In this case Reline believes that it's running on MinTTY and the tests
are running with ANSI IOGate instead of the Windows adapter on MINGW.
So parallel test results were different to that of a single process.
This commit fixes these differencies.

The code is taken from git sources and translated to ruby.
NtQueryObject() is replaced by GetFileInformationByHandleEx(), because
NtQueryObject() is undocumented and is more difficult to use:
  c5a03b1e29/compat/winansi.c (L558)
2020-01-21 21:26:58 +09:00
aycabta f8ea2860b0 Introduce an abstracted structure about the encoding of Reline
The command prompt on Windows always uses Unicode to take input and print
output but most Reline implementation depends on Encoding.default_external.
This commit introduces an abstracted structure about the encoding of Reline.
2020-01-14 15:40:38 +09:00
Thomas Leitner a1713bedb1 [ruby/reline] Implement completion_append_character
There is already the possibility to set Reline.completion_append_character.
However, it is not used by the line editor.

https://github.com/ruby/reline/commit/ab798931b9
2019-12-17 13:19:37 +09:00
aycabta ec54ac9381 Support Readline.completion_quote_character by Reline 2019-12-11 11:13:05 +09:00
aycabta 6a22b2a091 Support completion with case-insensitive fashion
Reline performs completion in a case-insensitive fashon if
Readline.completion_case_fold or completion-ignore-case of .inputrc are set
"on".
2019-12-10 07:07:43 +09:00
aycabta a92560132b Support incremental search by last determined word
In the incremental search by C-r, search word is saved when it's determined. In
the next incremental search by C-r, if a user presses C-r again with the empty
search word, the determined previous search word is used to search.
2019-12-03 01:39:59 +09:00
manga_osyo 6723aa07e5 Change argument `Proc` to `#call` defined object.
This is the same as the behavior of Readline.
2019-11-21 00:47:37 +09:00
aycabta 633625a083 Mintty on Cygwin isn't a kind of command prompt, can process ANSI escape code 2019-11-20 17:55:19 +09:00
osyo-manga fe45bee093 Reline#readline and Reline#readmultiline to private. 2019-11-12 21:03:22 +09:00
aycabta 6e72b72881 Suppress "shadowing outer local variable" warning in 2.5 2019-11-08 16:18:36 +09:00
Jeremy Evans c4b627e2da Only taint on Ruby <2.7
Ruby 2.7 deprecates taint and it no longer has an effect.
2019-11-05 20:57:22 +09:00
Jeremy Evans d6ed7a984c Fix verbose warning being emitted
Fixes Ruby Bug 16281.
2019-10-31 17:51:50 +09:00
Lars Kanis 551edf64bc Reline: Fix wrong variable name
This raised a NameError before.
2019-09-09 19:16:01 +09:00
aycabta 744be55fad Remove duplicated delegation 2019-08-27 06:30:32 +09:00
aycabta fd0a4a64a3 Delegete an instance method to a class method correctly 2019-08-27 05:59:56 +09:00
aycabta f13db4adde Save value to @ambiguous_width because of a accessor 2019-08-27 05:33:27 +09:00
aycabta f2a5c50f94 The "private" doesn't make sence for class methods and a constant 2019-08-27 05:18:51 +09:00
aycabta 68207bb4fc Use preposing "private" to define methods 2019-08-27 05:18:51 +09:00
aycabta d8bcede9c3 Adjust method forwardings of Reline 2019-08-27 05:18:46 +09:00
manga_osyo 344f507e4e Remove .freeze. 2019-08-27 01:23:50 +09:00
manga_osyo 195f545c14 Fix `Reline::Windows`. 2019-08-27 01:23:24 +09:00
manga_osyo 298ac04710 Refactoring Reline. 2019-08-27 01:23:19 +09:00
manga_osyo f60e5a1f99 Remove test_mode in `lib/reline`. 2019-08-27 01:23:10 +09:00
Charles Oliver Nutter 842364792f Use host_os from RbConfig to detect host OS.
RUBY_PLATFORM on JRuby is always "java", so it will not reflect
the host operating system. This regex appears to be the consensus
way to detect Windows based on a search of Ruby code on Github:

https://github.com/search?q=%2Fmswin%7Cmsys%7Cmingw%7Ccygwin%7Cbccwin%7Cwince%7Cemc%2F&type=Code
2019-08-06 20:03:23 +09:00
manga_osyo 073cc52dcc Add `class Reline::History` and test. 2019-07-15 00:17:59 +09:00
aycabta 71ead07872 Add arg check to Reline.dig_perfect_match_proc= 2019-07-11 17:21:00 +09:00
aycabta 32e65e9e5a Print starting debug message with RELINE_STDERR_TTY 2019-06-18 21:58:05 +09:00
aycabta 235e72f17e Implement auto indent for multiline 2019-06-18 20:58:18 +09:00
aycabta 9402d019a5 Remove debug print 2019-06-14 08:45:52 +09:00
aycabta 64310b2573 Add Reline.prompt_proc 2019-06-14 07:42:53 +09:00
aycabta c75a3356b3 Move I/O access from Reline::KeyStroke to Reline 2019-06-05 11:29:59 +09:00
aycabta 486a2c26d6 Add Reline test for unknown macro 2019-06-02 08:50:01 +09:00
aycabta e360688c4d Add new test for Reline within pipe 2019-06-02 07:39:12 +09:00
aycabta bfd26cc18d Reline.readmultiline always needs block to confirm termination 2019-06-02 07:21:59 +09:00
aycabta 7df65ef676 Use inputrc data for keystroke setting 2019-06-01 09:06:27 +09:00
Nobuyoshi Nakada 552c42f51f
Seprate raw keystroke config for each platforms 2019-06-01 00:41:17 +09:00
aycabta 88770c2ab6 Support Home and End key to move to beg and end 2019-06-01 00:02:35 +09:00
aycabta 21a43489b1 Use IO#sync= instead of a monkey patch 2019-05-31 22:53:01 +09:00
aycabta 73890d9d79 Flush I/O immediately if RELINE_STDERR_TTY is set 2019-05-31 22:33:08 +09:00
aycabta 3f13297923 Remove extra items because Reline::HISTORY is a sized queue 2019-05-29 10:04:58 +09:00
Takashi Kokubun 98ba116d40
Revert 3b7862c8e8 causing various CI hangs
and dependent commits c67934b1c3 and
f0d1dc5cee.

RubyCI and ci.rvm.jp are almost dead by timeout since this commit.

---

Revert "Skip a reline test hanging on Wercker since 3b7862c8e8"

This reverts commit f0d1dc5cee.

Revert "Remove extra items because Reline::HISTORY is a sized queue"

This reverts commit c67934b1c3.

Revert "Use existing instances for LineEditor and Config"

This reverts commit 3b7862c8e8.
2019-05-29 09:05:26 +09:00