Commit graph

350 commits

Author SHA1 Message Date
aycabta
57b4df07bc Use Reline.completer_quote_characters to complete 2019-05-28 08:38:55 +09:00
aycabta
7447c7b651 Join next line if deletes newline at end of line 2019-05-28 01:52:04 +09:00
aycabta
69c7ad1723 Exit only when blank input 2019-05-28 01:51:01 +09:00
aycabta
9a68aba79f Support OSC and treat \1 \2 correctly 2019-05-28 00:48:02 +09:00
aycabta
70166b3ca3 Revert "Support OSC and treat \1 \2 correctly"
This reverts commit 77bfebebc4.
2019-05-28 00:21:24 +09:00
aycabta
77bfebebc4 Support OSC and treat \1 \2 correctly 2019-05-28 00:17:52 +09:00
Nobuyoshi Nakada
4c277364a5
CSI allows empty digit which equals 0 2019-05-27 11:47:09 +09:00
aycabta
1d301acbe8 Fix rendering bug of ^D 2019-05-27 10:09:21 +09:00
aycabta
9c136f3dea Move to next of last line by ^D 2019-05-27 08:39:39 +09:00
aycabta
4e2c7783e3 Check blank history 2019-05-27 08:13:48 +09:00
aycabta
2805c55aa3 Move to next of last line by ^C 2019-05-27 07:35:35 +09:00
aycabta
c49796c930 Reline should move to next line after finished in Readline mode 2019-05-27 07:00:06 +09:00
aycabta
2c91c5b329 Move to the other line when press <- at head or -> at tail 2019-05-27 06:04:42 +09:00
aycabta
716ba4a127 Implement J to join lines in vi command mode 2019-05-27 05:45:08 +09:00
aycabta
64dc21830a Remove \1 and \2 that escape CSI before render 2019-05-27 05:01:18 +09:00
aycabta
ec75901120 Fix completion menu state calculation 2019-05-26 01:32:29 +09:00
aycabta
d9c41f2dec Use Reline.completer_word_break_characters to complete 2019-05-26 00:00:19 +09:00
Takashi Kokubun
061c781a09
Drop method obsoleted by b83119be9e
We might need to do the same thing in IRB::Color now, but I'm not doing
that as I assume ANSI escape sequence does not come from a user input
though Reline.
2019-05-25 00:38:19 -07: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
ff43b22627 Enter key always means evaluate in Reline#readmultiline 2019-05-25 02:13:14 +09:00
aycabta
637ee7ee38 Fix C-v C-j 2019-05-25 01:13:02 +09:00
aycabta
eb4e774711 Support Meta key in Reline 2019-05-24 23:38:40 +09:00
aycabta
bb29ed6e33 C-v C-j means an newline insertion 2019-05-23 08:33:20 +09:00
aycabta
da3fabc976 Change behavior to confirm multiline termination
Always checks termination if you press Enter at last line.
2019-05-23 08:25:06 +09:00
aycabta
c48d9139d4 Remove unnecessary variable in LineEditor 2019-05-22 07:03:29 +09:00
aycabta
c00d805672 Support CSI sequences in prompt 2019-05-22 06:48:27 +09:00
aycabta
f8732bd4d6 Reline#reset should initalize @rest_height and @screen_size eveytime 2019-05-22 02:52:29 +09:00
aycabta
bb5b4f9044 Cursor should be at line head after line breaking 2019-05-21 18:45:00 +09:00
aycabta
6d93baaedd Support DEL key 2019-05-21 17:46:41 +09:00
aycabta
df6a673ca5 Fix vertical cursor moving when splitting line 2019-05-21 08:10:36 +09:00
aycabta
34d7ec4e9b Finish only when buffer contains non-blank line 2019-05-21 01:50:07 +09:00
aycabta
b69dfdb4b3 Cursor up should reduce 1 than editing height 2019-05-21 01:49:27 +09:00
aycabta
6592f5fcc8 Check bytesize in vi command mode last char back 2019-05-21 01:10:09 +09:00
aycabta
9f49ff4965 Cursor can't move to eol when vi command mode 2019-05-20 07:50:14 +09:00
aycabta
075e1acb4c Readline.completion_proc accepts US-ASCII 2019-05-20 04:47:58 +09:00
aycabta
f54aa6c5b2 Rename confuzed name Reline::IO with Reline::IOGate 2019-05-15 15:52:18 +09:00
aycabta
1e65196b54 Check encoding when Readline completion 2019-05-14 14:53:34 +09:00
aycabta
602ef62ae6 Rescue CompatibilityError for Readline's completion 2019-05-14 14:11:28 +09:00
aycabta
741321704f Remove unused variable in LineEditor 2019-05-14 07:12:59 +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
bb56b89900 Add ed_search_prev_history to Reline 2019-05-13 01:51:05 +09:00
aycabta
0f45bd0584 Split namespace of env-dependent I/O classes 2019-05-13 00:22:27 +09:00
aycabta
aaaede8bcf Change LineEditor instance in Reline to class var 2019-05-12 21:22:04 +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