Commit graph

119 commits

Author SHA1 Message Date
aycabta
9f18b139c9 [ruby/reline] Add a test of autowrap for yamatanooroti
38676ba8c2
2020-05-17 19:26:53 +09:00
aycabta
4a620aff8d Restore class variable setting for tests 2020-05-14 12:27:33 +09:00
aycabta
03a492fe45 Initialize Reline callbacks when test suit starts 2020-05-14 12:27:33 +09:00
aycabta
ca1f6b3eae Delete inner text buffer after tests 2020-05-14 12:27:33 +09:00
aycabta
d39be242ba Also use pipe for input in test 2020-05-12 02:53:44 +09:00
aycabta
4859352df6 [ruby/reline] Negative history_size means unlimited
And unlimited is default.

f5149c3ca6
2020-04-29 19:13:14 +09:00
aycabta
d27fa87418 [ruby/reline] New items to history are dropped if history_size is zero
9bdbed9cbc
2020-04-29 19:13:14 +09:00
Nobuyoshi Nakada
0ac5009165 [ruby/reline] Ignore non-absolute XDG_CONFIG_HOME
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
> All paths set in these environment variables must be absolute.
> If an implementation encounters a relative path in any of these
> variables it should consider the path invalid and ignore it.

45af6eea77
2020-04-29 19:13:14 +09:00
aycabta
9fb20711fd [ruby/reline] Treat home dir correctly
9b1327d2f4
2020-04-24 16:46:36 +09:00
aycabta
81b0b79197 [ruby/reline] Support XDG_CONFIG_HOME
In the XDG Specification, if ~/.config/readline/inputrc exists, then ~/.inputrc
should not be read, but for compatibility with GNU Readline, if ~/.inputrc
exists, then it is given priority.

97f1e7db04
2020-04-24 16:45:07 +09:00
aycabta
db0d850d4e [ruby/reline] Add ed_search_next_history
ca750b676b
2020-04-18 23:12:52 +09:00
aycabta
bea3e31e5f [ruby/reline] Add ed_search_prev_history
e9ae288825
2020-04-18 23:12:52 +09:00
aycabta
1e4efbb6d3 [ruby/reline] Rename wrong test name
8480db575b
2020-04-18 23:11:45 +09:00
Nobuyoshi Nakada
3486a460ea [ruby/reline] Suppress $/ warnings
f4eac8c76f
2020-03-27 19:04:03 +09:00
aycabta
8911b3d3e8 [ruby/reline] Add a comment why rescue yamatanooroti loading error on the test
2a8061daec
2020-03-26 17:41:21 +09:00
aycabta
467b665a8b [ruby/reline] Rename test suite name of yamatanooroti test
b0f32f5de4
2020-03-26 17:41:21 +09:00
aycabta
9339a7d9d4 [ruby/reline] Add yamatanooroti rendering test
f092519525
2020-03-26 17:41:21 +09:00
aycabta
90913bfabe [ruby/reline] Suppress error in case INPUTRC env is empty
bce7e7562b
2020-03-26 17:41:21 +09:00
aycabta
f245fb1ab8 [ruby/reline] Work with wrong $/ value correctly
962ebf5a1b
2020-03-26 17:41:21 +09:00
Koichi Sasada
648eb31b9a Reset Reline.point
TestRelineAsReadline#test_insert_text expects Readline.point == 0
at the beginning of the test, but a test violate this assumption.
2020-03-02 14:42:33 +09:00
Koichi Sasada
d348b4adef skip test if Reline.completion_proc is nil.
Some other tests can set Reline.completion_proc, so if it is nil,
simply skip this test.
2020-03-02 13:42:35 +09:00
aycabta
0aa5195262 Use test_mode on Reline::History::Test for encoding 2020-01-26 12:58:25 +09:00
Lars Kanis
b0ca1fc21b Reline: Fix changed test results due to change to UTF-8 on Windows
In commit f8ea2860b0 the Reline encoding
for native windows console was changed to hardcoded UTF-8.
This caused failures in reline and readline tests, but they were hidden,
because parallel ruby tests incorrectly used Reline::ANSI as IOGate.
Tests failures were raised in single process mode, but not with -j switch.

This patch corrects encodings on native Windows console.
2020-01-21 21:26:58 +09:00
aycabta
2943ebd240 [ruby/reline] Implement vi_change_meta
8538e0e10f
2020-01-21 09:52:32 +09:00
aycabta
3b407abe9b [ruby/reline] Implement vi_prev_char and vi_to_prev_char
0ad3ee63fa
2020-01-20 19:13:19 +09:00
aycabta
b17797a694 [ruby/reline] Implement vi_to_next_char
066ecb0a21
2020-01-20 19:13:19 +09:00
aycabta
800c2a8e4c Implement vi_insert_at_bol and vi_add_at_eol 2020-01-17 01:37:01 +09:00
aycabta
ec0b366a5c Add tests for vi_insert and vi_add 2020-01-17 01:37:01 +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
aycabta
7392083c2f Support history-size in .inputrc correctly 2020-01-06 21:50:48 +09:00
aycabta
439e1ccd08 Complete indented and quoted string correctly
def foo
    ''.upca[TAB]

This will be completed to be:

  def foo
  ''.upcase

The indent was gone. This commit fixes the bug.
2020-01-06 01:20:24 +09:00
aycabta
4db898284d Add test_completion_with_indent_and_completer_quote_characters
This is for 8a705245e5.
2019-12-27 16:07:52 +09:00
aycabta
622e47a1db ^D on non-empty line in vi mode behaves like Enter 2019-12-25 09:34:13 +09:00
aycabta
42e2a322f1 The delete-char-or-list shows completed list when called at end of line
It doesn't behave the same as the delete-char.
2019-12-24 18:34:43 +09:00
aycabta
618d091151 Support change search direction 2019-12-17 13:10:39 +09:00
aycabta
a14a0244b4 Support forward-search-history by C-s 2019-12-17 13:07:19 +09:00
aycabta
c2dfc6d869 Show a menu before a document
IRB should show a menu first if a completed list has plural items. But just
shows document without menu if a completed list with plural items includes a
perfect matched item. The behavior is a bug. This commit fixes it.
2019-12-13 08:54:22 +09:00
aycabta
7d991a0571 Suppress to crash IRB if completed list has nil 2019-12-12 08:40:50 +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
264d5aff5a Change encoding of completion list...for more tests 2019-12-05 16:29:47 +09:00
aycabta
20031f8b74 Change encoding of completion list 2019-12-05 13:06:18 +09:00
aycabta
e3587ed849 Support disable-completion 2019-12-05 09:02:23 +09:00
aycabta
ad8fbf444a Fix variable catch 2019-12-05 09:02:23 +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
aycabta
103b04128f Support incremental search again by C-r in incremental search 2019-12-02 04:18:22 +09:00
aycabta
e15b0313a7 Search history to back in the middle of histories 2019-12-02 03:09:41 +09:00
aycabta
7f0d51704a Remove obsolete code 2019-12-02 00:03:59 +09:00
aycabta
8cb3f29abf The ed_search_prev_history should always search to backward 2019-12-01 23:54:57 +09:00
aycabta
8f1062127e Add test/reline/test_string_processing.rb 2019-11-21 07:28:18 +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