Commit graph

360 commits

Author SHA1 Message Date
aycabta
abe8fb49f0 Delete newline when C-k on emacs mode at EOL 2019-11-28 09:32:51 +09:00
aycabta
95f20f463a Consider escape sequence to calculate prompt width 2019-11-21 07:01:41 +09:00
aycabta
da0d7211aa Fix indent of a line when a newline is inserted to the next 2019-11-20 10:04:41 +09:00
aycabta
7c6bedfe5c Remove unnecessary check 2019-11-18 03:23:45 +09:00
aycabta
fa7618e4c1 Implement em_set_mark and em_exchange_mark 2019-11-15 16:50:40 +09:00
aycabta
6e72b72881 Suppress "shadowing outer local variable" warning in 2.5 2019-11-08 16:18:36 +09:00
aycabta
ea97933645 Use prompt_list to calculate height by lines 2019-11-02 00:11:15 +09:00
aycabta
d1a7305848 Insert multiline incremental search result correctly 2019-10-18 00:44:56 +09:00
aycabta
41457dcbe0 Remove unused variable 2019-10-17 16:54:06 +09:00
aycabta
60a0c20cb6 Refactor prompt generation logic 2019-10-17 16:35:18 +09:00
aycabta
db84123600 Calculate prompt width correctly 2019-10-17 02:19:01 +09:00
aycabta
e26c6d4ab8 Collect multiline prompt logic into a method 2019-10-17 01:56:20 +09:00
aycabta
7df227804a Support multiline history in incremental search 2019-10-16 22:35:58 +09:00
aycabta
259601ab57 Support backspace in incremental search 2019-10-16 02:55:45 +09:00
aycabta
a9e9cd2036 Flush console just after printing 2019-10-07 14:15:05 +09:00
Adam Cammack
f9332ad833 Fix previous history in vi_insert mode 2019-09-17 15:14:38 +09:00
Adam Cammack
a3533bc904 Fix history navigation in vi_insert mode 2019-09-17 15:14:38 +09:00
aycabta
98f919ed47 The stdlib readline should raise Interrupt when pressing C-c 2019-09-14 00:16:31 +09:00
aycabta
e9bc8b35c6 Behave ESC key correctly when vi command mode 2019-09-08 03:26:35 +09:00
aycabta
c5bb074fe7 Re-calculate state variables of screen when screen size changes 2019-09-01 11:02:58 +09:00
aycabta
0f405541bf Support SIGWINCH 2019-08-29 14:37:19 +09:00
aycabta
800821831d Always check multiline termination 2019-08-22 06:02:27 +09:00
Alan Wu
e9f82585ee Don't crash when deleting at the end of the line
To reproduce this bug, type one character into irb, then press the
delete key on your keyboard.
2019-08-18 07:43:19 +09:00
Kazuhiro NISHIYAMA
a4a2dd7942
Revert a6e32855d0 partially
Fix TypeError when typing `''.[TAB]`
2019-08-09 16:29:43 +09:00
aycabta
d626ca1e98 Remove obsolete TODO comment 2019-08-06 20:03:23 +09:00
Nobuyoshi Nakada
a6e32855d0
[reline] Do not escape and compile regexp for each byte 2019-07-28 09:47:40 +09:00
aycabta
0f9ec4a877 Check wether multibyte character is split 2019-07-25 17:19:16 +09:00
aycabta
c8ee44f44c Fix showing doc of "nil.to_s", nil doesn't have #name 2019-07-19 08:23:41 +09:00
Luke Gruber
3163a07878 fix issue with 'SIGINT' handling in LineEditor#reset
@old_trap is the string "DEFAULT" and not a callable object (Proc)
if there are no other signal handlers for SIGINT signal to chain.
2019-07-14 15:51:09 +09:00
Nobuyoshi Nakada
688cef2169
Refactored width calculations 2019-07-06 12:31:11 +09:00
Nobuyoshi Nakada
44aae5fee6
Simplified 2019-07-06 12:11:12 +09:00
Nobuyoshi Nakada
12e06d32f5
Use lstrip instead of gsub which can match only once 2019-07-04 18:49:42 +09:00
Nobuyoshi Nakada
90c51ca391 New indent must be non-negative number 2019-07-01 20:46:00 +09:00
aycabta
72bfc52de6 Decrease indent by closing token correctly 2019-06-27 01:21:06 +09:00
aycabta
c4c47b792d Disable auto indent when move cursor up or down
This commit suppresses a strange behavior below:

  if true
    1[cursor]
  end

and press down key

  if true
  1
  end
2019-06-20 16:00:30 +09:00
aycabta
235e72f17e Implement auto indent for multiline 2019-06-18 20:58:18 +09:00
aycabta
2fb1564c02 Implement line_no correctly 2019-06-16 14:46:28 +09:00
aycabta
d0e5564140 Set allow_escape_code for prompt 2019-06-14 08:45:35 +09:00
aycabta
64310b2573 Add Reline.prompt_proc 2019-06-14 07:42:53 +09:00
aycabta
02880d1f4a Skip transpose-words if less than 2 word 2019-06-06 04:57:52 +09:00
aycabta
9a07915ae2 Add aliases for commands for changing text macro 2019-06-04 08:35:01 +09:00
aycabta
4b7213a85a Implement transpose-words 2019-06-04 07:23:36 +09:00
aycabta
d7c3eb570b Erase VI_OPERATORS
The operators are using @waiting_operator_proc in vi mode.
2019-06-03 17:24:49 +09:00
aycabta
5524de5ca0 Add aliases for commands for moving macro 2019-06-03 03:41:40 +09:00
aycabta
3428922437 The ed_move_to_beg is different from vi_first_print 2019-06-03 03:29:34 +09:00
Nobuyoshi Nakada
65fdb90325
Reline::LineEditor::ARGUMENTABLE is no longer used 2019-06-03 02:03:15 +09:00
Nobuyoshi Nakada
3457ce4486 Fix ArgumentError in aliased macro
Closes: https://github.com/ruby/ruby/pull/2221
2019-06-03 01:35:48 +09:00
aycabta
7b1c1b9492 Suppress error of macro not found 2019-06-02 05:07:13 +09:00
aycabta
34727475d0 Remove an unnecessary argument 2019-06-01 15:07:52 +09:00
Takashi Kokubun
cb40a21da0
Warn compile_error only when input is finished
Let's say we are in progress to write `"foo"`:

```
irb> "fo
```

at this moment, nothing is wrong.
It would be just a normal way to write `"foo"`.

Prior to this commit, the `fo` part was warned because of
5b64d7ac6e. But I think warning such a
normal input is not valuable for users.

However, we'd like to warn `:@1` or `@@1` which is also a syntax error.
Then this commit switches the syntax highlight based on whether the
input text is finished or not. When it's not finished yet, it does not
warn compile_error.
2019-05-31 06:54:00 +09:00