Commit graph

101 commits

Author SHA1 Message Date
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
aycabta
8f83fe3b02 Finish with ^D only when input is completely empty in vi insert mode 2019-05-31 05:53:02 +09:00
aycabta
279c8e14d4 Use rebuilt buffer data to rerender all 2019-05-30 20:54:28 +09:00
aycabta
74a0e3ec23 Use start_with? for escaped quote too 2019-05-30 20:06:59 +09:00
aycabta
ecd0f1d966 Use negative lookahead and start_with? 2019-05-30 18:29:26 +09:00
aycabta
fcca39fa73 Fix strange vertical cursor moving when adding a newline at bottom 2019-05-30 18:21:09 +09:00
aycabta
5a229b0a88 Calculate vertical position correctly when rerendering all lines 2019-05-30 15:19:30 +09:00
aycabta
90014dddec Fix broken rendering when the last line is auto-wrapped 2019-05-30 15:04:37 +09:00
aycabta
eae953ba9f Rerender following lines when line number increased 2019-05-30 14:19:58 +09:00
aycabta
1cf9f79342 Clear remaining lines when line number decreased 2019-05-30 14:04:28 +09:00