Commit graph

624 commits

Author SHA1 Message Date
aycabta
6fda457448 [ruby/reline] Suppress warning; unused variable
74a6124e8d
2021-08-29 20:30:32 +09:00
aycabta
1e527c8a55 [ruby/reline] Remove an unnecessary variable
5435c1aa3f
2021-08-29 20:30:32 +09:00
aycabta
fb0fc20196 [ruby/reline] Implement dialog with autocomplete callback
1401d6165e
2021-08-29 20:30:32 +09:00
aycabta
e66200780b [ruby/reline] Separate calling completion proc with checking args
3203cb97db
2021-08-29 20:30:32 +09:00
aycabta
acce754eb8 [ruby/reline] Remove interrupt avoidance
There used to be a process that did not want to be interrupted by
SIGINT, so it was trapped, but that process is no longer there.

ba7252a5db
2021-08-14 22:13:31 +09:00
aycabta
5534698b84 [ruby/reline] Version 0.2.7
040d29b4c0
2021-08-12 19:55:17 +09:00
Nobuyoshi Nakada
3e7fb4b91d
Check the result of tigetstr 2021-08-06 13:34:25 +09:00
Nobuyoshi Nakada
9bfb8ea671
Fix caching of curses_dl 2021-08-06 13:33:47 +09:00
aycabta
7bcbee37b5 Fix the result of checking the existence of constants being reversed 2021-08-06 02:51:10 +09:00
aycabta
de93b8b069 Handle SIGINT in other thread correctly
Co-authored-by: Koichi Sasada <ko1@atdot.net>
2021-08-04 18:29:42 +09:00
aycabta
5bb7b57129 Use Symbol of signal for trap 2021-08-04 18:29:42 +09:00
aycabta
1c9cb9da8f [ruby/reline] Support Terminfo on Cygwin and macOS
b0b75fcd27
2021-07-30 02:27:02 +09:00
aycabta
f1b5cb7e5d [ruby/reline] Don't check the existence of Terminfo on Windows
320f09055c
2021-07-30 02:27:02 +09:00
aycabta
b158b4666d [ruby/reline] Check TYPE_VARIADIC
8e62e46e33
2021-07-30 02:27:02 +09:00
aycabta
0f496b9b29 [ruby/reline] Define StringWithTiparm instead of singular method
de234dc875
2021-07-30 02:27:02 +09:00
SilverPhoenix99
5b9f3ed326 [ruby/reline] Fixed Ctrl+Enter key in Windows.
0c38e39023
2021-07-30 02:27:02 +09:00
aycabta
46c6da9c37 [ruby/reline] Check empty .inputrc
b60b3b76cd
2021-07-30 02:27:02 +09:00
aycabta
51ee24e7f7 [ruby/reline] Add original C function declarations comment for each function
9a25ee9f12
2021-07-30 02:27:02 +09:00
Jeremy Evans
44a9337a46 [ruby/reline] Fix reline on OpenBSD
OpenBSD doesn't support tiparm, only tparm.  I'm not sure if the
two are compatible, but this at least this allows me to run irb
on OpenBSD.

0ce2b34e2b
2021-07-30 02:27:02 +09:00
SilverPhoenix99
1bf768d2e1 [ruby/reline] Added support for Numpad divide key on Windows.
84577da0c4
2021-07-30 02:27:02 +09:00
aycabta
750359ce81 [ruby/reline] Support Enter key of numpad on Windows
The yamatanooroti gem can't emulate numpad key pressing...

8e9da1aeaf
2021-07-30 02:27:02 +09:00
Lars Kanis
03f8c27179 [ruby/reline] Windows cmd: Don't type anything when pressing ALT keys alone
Fixes #298

72acfcd27a
2021-07-30 02:27:02 +09:00
aycabta
b0633ee4b3 [ruby/reline] Add TODO comment to implement tigetflag() and tigetnum()
a0d946a398
2021-07-30 02:27:02 +09:00
Samuel Williams
bf376cae0c [ruby/reline] Fix missing require.
010b28dfe9
2021-06-25 17:42:45 +09:00
Samuel Williams
e788481843 [ruby/reline] Avoid using blocking IO.select.
de94746393
2021-06-25 17:42:45 +09:00
aycabta
046fd3ac8c Rescue conversion error of inputrc 2021-06-21 22:12:14 +09:00
aycabta
30cc07fdc1 Check Ruby version to use Fiddle with variadic args in test-all 2021-06-21 18:44:10 +09:00
aycabta
90df426426 [ruby/reline] Version 0.2.6
5917e3a337
2021-06-21 17:58:49 +09:00
aycabta
95a3cdade6 [ruby/reline] Remove FIXME comment in #render
acd8f8efbb
2021-06-21 17:58:49 +09:00
aycabta
b06218ce6f [ruby/reline] Remove TODO comment in #render_partial
bb6ea232c2
2021-06-21 17:58:49 +09:00
aycabta
8135f489be [ruby/reline] Add binding C-x C-x to em_exchange_mark on Windows
24a2489b62
2021-06-21 17:58:49 +09:00
aycabta
fa5a258e93 [ruby/reline] Treat C-Space as M-Space on Windows
69beca2863
2021-06-21 17:58:49 +09:00
aycabta
582b5705ab [ruby/reline] Check existance of a constant, Fiddle::VERSION
4b74c3d83a
2021-06-21 17:58:48 +09:00
aycabta
18b79b4c49 [ruby/reline] Add Meta+arrow-keys in extended entries of terminfo
af6f6ed088
2021-06-21 17:58:48 +09:00
aycabta
60d1d6aa89 [ruby/reline] Terminfo.tigetstr should be able to receive tiparm in method chain
4a3e308163
2021-06-21 17:58:48 +09:00
aycabta
5e09da2f7a [ruby/reline] Terminfo.tigetstr and tiparm should return String object
1e287d10cc
2021-06-21 17:58:48 +09:00
aycabta
46c813969b [ruby/reline] Add terminfo support
74a7ffaa2f
2021-06-21 17:58:48 +09:00
aycabta
1b543dc226 [ruby/reline] Handle Errno::ENOTTY correctly
8daa392ba6
2021-06-21 17:58:48 +09:00
Jeremy Evans
242bad9a87 [ruby/reline] Fix Reline::Unicode.calculate_width when input is not a TTY
This fixes an error when output is redirected:

```
$ run_ruby -rreline -e '$stderr.puts Reline::Unicode.calculate_width("\u221a").inspect' </dev/null >/dev/null
/home/jeremy/tmp/ruby/lib/reline/ansi.rb:189:in `raw': Operation not supported by device (Errno::ENODEV)
```

The @@encoding -> defined?(@@encoding) changes is necessary because
without that part of the commit, the following error would be raised
by the above command:

```
/home/jeremy/tmp/reline/lib/reline/general_io.rb:10:in `encoding': uninitialized class variable @@encoding in Reline::GeneralIO (NameError)
```

Problem reported and initial patch for Windows provided by
Richard Sharman.

I tested this only on OpenBSD, but hopefully it works for other
operating systems.

Fixes [Bug #17493]

c001971bb3
2021-06-21 17:58:48 +09:00
aycabta
26f31f880c [ruby/reline] Treat return key correctly on Windows
To fix Reline::TestRendering#test_binding_for_vi_movement_mode.

0df3d2a1dc
2021-06-21 17:58:48 +09:00
aycabta
b0cc46b484 [ruby/reline] The config file must accept any character encoding
In Japan, so many programmers used EUC-JP to write text files that contain
Japanese. Many .inputrc files which contain EUC-JP are still being copied and
used. This commit supports the whole encoding of what user set including UTF-8.

ref. https://github.com/ruby/reline/pull/280

0b45022e16
2021-06-21 17:58:48 +09:00
aycabta
c59bbd86a6 [ruby/reline] Use ReadConsoleInputW() instead of getwch()
This needs https://github.com/aycabta/yamatanooroti/pull/19, which is released
by yamatanooroti gem 0.0.7, to test with yamatanooroti.

06c1f45da1
2021-06-21 17:58:48 +09:00
Mark Delk
a049dfd10a [ruby/reline] ensure reline's encoding is used when reading inputrc character values
This change ensures we use `Reline::IOGate`'s `encoding` when converting
characters from their integer values.

This fixes an issue that may occur if you have UTF characters in your
`.inputrc`, but your default encoding isn't set.

For example:

```
> 127864.ord.chr
RangeError: 127864 out of char range
from (pry):1:in `chr'
> Reline::IOGate.encoding
=> #<Encoding:UTF-8>
> 127864.ord.chr(Reline::IOGate.encoding)
=> "🍸"
```

cf372fc0fc
2021-06-21 17:58:48 +09:00
aycabta
6496c76d2a [ruby/reline] Add calling Reline::Config#reset_default_key_bindings to #reset, which is forgot to call 2021-04-09 11:57:28 +09:00
Nobuyoshi Nakada
b0b3022f95
[ruby/reline] Moved development dependencies to Gemfile
As expressions in a gemspec file are evaluated at the build time,
but not the run time, the conditional in the gemspec will not work
as intended.

c09b7c454a
2021-04-08 21:41:00 +09:00
aycabta
5543695a19
[ruby/reline] Separate keystrokes each editing mode
ee23e6f3f8
2021-04-08 21:41:00 +09:00
aycabta
16f31da92e
[ruby/reline] Check WITH_VTERM env to add vterm gem as dependency
27b689a7e2
2021-04-08 21:41:00 +09:00
aycabta
47abb70234 [ruby/reline] Use vterm 0.0.5 or newer on Unix like OSes because suppresses SEGV
7562cf3b5f
2021-04-03 20:22:56 +09:00
aycabta
8a4472fb6d [ruby/reline] Version 0.2.5
22ce5651e5
2021-04-03 01:28:42 +09:00
aycabta
7e93917458 [ruby/reline] Reset @rest_height when clear screen
3a7019b0d5
2021-04-02 17:33:48 +09:00