Commit graph

46 commits

Author SHA1 Message Date
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
aycabta
c67934b1c3 Remove extra items because Reline::HISTORY is a sized queue 2019-05-29 05:58:33 +09:00
aycabta
3b7862c8e8 Use existing instances for LineEditor and Config 2019-05-29 05:53:44 +09:00
aycabta
57b4df07bc Use Reline.completer_quote_characters to complete 2019-05-28 08:38:55 +09:00
aycabta
1d301acbe8 Fix rendering bug of ^D 2019-05-27 10:09:21 +09:00
aycabta
2805c55aa3 Move to next of last line by ^C 2019-05-27 07:35:35 +09:00
Takashi Kokubun
b83119be9e
Incremental syntax highlight for IRB source lines
Closes: https://github.com/ruby/ruby/pull/2202
2019-05-24 23:54:52 -07:00
aycabta
4b012c23b2 Check block in #readmultiline 2019-05-25 00:39:42 +09:00
aycabta
eb4e774711 Support Meta key in Reline 2019-05-24 23:38:40 +09:00
aycabta
be86e71c67 Reopen $stderr with specified fd by RELINE_STDERR_TTY 2019-05-22 02:13:57 +09:00
aycabta
6d93baaedd Support DEL key 2019-05-21 17:46:41 +09:00
aycabta
16917cc3cb Add Reline.test_mode to use with special I/O 2019-05-18 12:48:27 +09:00
aycabta
f54aa6c5b2 Rename confuzed name Reline::IO with Reline::IOGate 2019-05-15 15:52:18 +09:00
aycabta
af1f3f131f Readline's class vars should be encoded as default_external 2019-05-14 07:15:41 +09:00
aycabta
caef2ddaaf Implement Reline::HISTORY as an expanded Array 2019-05-13 03:26:10 +09:00
aycabta
ebb15cc6c1 Reline.completion_proc= should raise ArgumentError
When the value is not Proc.
2019-05-13 02:33:29 +09:00
aycabta
130ced9fb0 Reline.completion_append_character= should be nil
When unknown value comes.
2019-05-13 02:31:42 +09:00
aycabta
e467f920a3 Add Reline.special_prefixes as stub 2019-05-13 02:30:53 +09:00
aycabta
5837290af1 Implement Reline's class methods for compatibility
- insert_text
- redisplay
- line_buffer
- point
- point=
- vi_editing_mode
- emacs_editing_mode
- vi_editing_mode?
- emacs_editing_mode?
- get_screen_size
2019-05-13 02:26:31 +09:00
aycabta
c137f015ab Add Reline.pre_input_hook interface 2019-05-13 02:20:20 +09:00
aycabta
9cb821b024 Implement Reline.input= and Reline.output= 2019-05-13 02:14:48 +09:00
aycabta
0f45bd0584 Split namespace of env-dependent I/O classes 2019-05-13 00:22:27 +09:00
aycabta
11476e9902 Check INPUTRC env in Reline::Config 2019-05-12 23:21:41 +09:00
aycabta
aaaede8bcf Change LineEditor instance in Reline to class var 2019-05-12 21:22:04 +09:00
aycabta
3de03544ff Add Reline.delete_text that raises NotImplementedError 2019-05-01 00:45:54 +09:00
aycabta
17350c7e55 Add Reline as a fallback library for Readline
* lib/reine.rb, lib/reline/*: Reline is a readline stdlib compatible
  library.
* lib/readline.rb: Readline uses a fallback to Reline when ext/readline
  doesn't exist.
* tool/sync_default_gems.rb: add ruby/reline as a default gem.
* appveyor.yml: add "set RELINE_TEST_ENCODING=Windows-31J" for test suit
  of Reline, and add "--exclude readline" to "nmake test-all" on Visual
  Studio builds because of strange behavior.
* spec/ruby/library/readline/spec_helper.rb: skip Reline as with
  RbReadline.
2019-04-30 11:44:20 +09:00
Nobuyoshi Nakada
f4f66bd11c
Revert "IRB is improved with Reline and RDoc, take 2"
Accidentally merged when 89271d4a37
"Adjusted indents".
2019-04-23 21:55:29 +09:00
aycabta
f2cd4f4cd0
IRB is improved with Reline and RDoc, take 2 2019-04-23 20:08:02 +09:00
aycabta
51cec00953 Revert "IRB is improved with Reline and RDoc"
This reverts commit 7f273ac6d0.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 09:13:49 +00:00
aycabta
7f273ac6d0 IRB is improved with Reline and RDoc
Reline is a readline stdlib compatible library. It also supports
multiline input. IRB is improved with Reline and supports multiline.
Besides, supports showing documents when completed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20 08:51:20 +00:00