summaryrefslogtreecommitdiff
path: root/test/reline/test_config.rb
AgeCommit message (Collapse)Author
2025-01-24Migrate irb and reline to the bundled gemsHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/12624
2024-11-30[ruby/reline] Fix tests failing when INPUTRC is definedPascal Terjan
(https://github.com/ruby/reline/pull/789) Failure: test_empty_xdg_config_home(Reline::Config::Test) /home/pterjan/reline/test/reline/test_config.rb:563:in `test_empty_xdg_config_home' 560: expected = File.expand_path('~/.config/readline/inputrc') 561: FileUtils.mkdir_p(File.dirname(expected)) 562: FileUtils.touch(expected) => 563: assert_equal expected, @config.inputrc_path 564: ensure 565: FileUtils.rm(expected) 566: ENV['XDG_CONFIG_HOME'] = xdg_config_home_backup <"/tmp/test_reline_config_4131165/.config/readline/inputrc"> expected but was <"/etc/inputrc"> https://github.com/ruby/reline/commit/7de5a50f63
2024-10-06[ruby/reline] Allow utf-8 safe meta key mapping in inputrctomoya ishida
(https://github.com/ruby/reline/pull/723) Readline's convert-meta setting is utf-8 unsafe. Allow assigning `"\M-char": key` to bind "\echar": key even if convert-meta is not enabled. https://github.com/ruby/reline/commit/9844b99c6e
2024-09-03[ruby/reline] Add test for reset_variables in Reline::ConfigMari Imaizumi
(https://github.com/ruby/reline/pull/741) * Fix reset variables * Add assertion for reload * Add helper method to get instance variable value of Reline::Config https://github.com/ruby/reline/commit/386f619ff5
2024-08-31[ruby/reline] Implement re-read-init-fileMari Imaizumi
(https://github.com/ruby/reline/pull/740) https://github.com/ruby/reline/commit/59e4ade807
2024-08-27[ruby/reline] Remove unused variablesMari Imaizumi
(https://github.com/ruby/reline/pull/739) https://github.com/ruby/reline/commit/14784eddee
2024-06-03[ruby/reline] Improve key binding match/matching checktomoya ishida
(https://github.com/ruby/reline/pull/709) * Improve key binding match/matching check * Rename key_actors to default_key_bindings * Make key_stroke.expand always return a value * Update add_default_key_binding to use a add_default_key_binding_by_keymap internally Co-authored-by: Stan Lo <stan001212@gmail.com> --------- https://github.com/ruby/reline/commit/353ec236e2 Co-authored-by: Stan Lo <stan001212@gmail.com>
2024-06-01[ruby/reline] Overhaul io gate structureStan Lo
(https://github.com/ruby/reline/pull/666) * Overhaul IO gate structure 1. Move IO related classes to `lib/reline/io/` directory. 2. Rename `GeneralIO` to `Dumb`. 3. Use IO classes as instances instead of classes. * Update lib/reline/io/ansi.rb Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com> --------- https://github.com/ruby/reline/commit/dc1518e1ac Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>
2024-05-26[ruby/reline] allow space in config valueGo
(https://github.com/ruby/reline/pull/705) * allow space in config value fix https://github.com/ruby/reline/pull/657 * remove inline comments * Revert "remove inline comments" This reverts commit https://github.com/ruby/reline/commit/2438347c1a10. * refactoring * remove unnecessary comment handling https://github.com/ruby/reline/commit/d60f1e1e39
2024-05-02[ruby/reline] Fix default and additional key bindings vanish bugtomoya ishida
(https://github.com/ruby/reline/pull/697) https://github.com/ruby/reline/commit/fc9b4d2274
2024-04-29[ruby/reline] Handle mode condition in inputrcMari Imaizumi
(https://github.com/ruby/reline/pull/687) https://github.com/ruby/reline/commit/bed5fb3d77
2024-04-25[ruby/reline] Fix inputrc nested $if $else $endif bugtomoya ishida
(https://github.com/ruby/reline/pull/689) https://github.com/ruby/reline/commit/0d8aea26ec
2023-09-26[ruby/reline] Fix config.rb to File.expand_path $include path inelfham
inputrc (https://github.com/ruby/reline/pull/592) * Fix config.rb to File.expand_path $include path in inputrc * fix bug of test_include_expand_path on Windows https://github.com/ruby/reline/commit/4d34e52d0b
2023-07-07[ruby/reline] Reduce direct references to `Reline::IOGate`Stan Lo
(https://github.com/ruby/reline/pull/566) * Avoid referencing IOGate from IOGate classes The only time those classes being used is when themselves being the IOGate. So when referencing to IOGate, it's better to use `self` instead. * Avoid referencing to IOGate from LineEditor directly * Avoid referencing to IOGate from Core directly * Reference to Reline.core directly * Replace Reline::IOGate with Reline.core.io_gate
2022-12-05[ruby/reline] Remove unapproved color setting APIsStan Lo
These APIs/configs are not approved by the Ruby core, so they can't be released to the public. This means having them in the codebase will block other fixes/features from being released as well. So this commit removes those exposed interfaces to unblock the release. Hopefully when https://bugs.ruby-lang.org/issues/18996 is approved we can re-implement better APIs. https://github.com/ruby/reline/commit/f7a961c550
2022-07-22[ruby/reline] Rename dialog_pointer_* to dialog_highlight_*st0012
"Pointer" is not what we usually use to describe a selected item. "Highlight" is a more common word for the scenario so we should use it instead. https://github.com/ruby/reline/commit/b4279d1557
2022-07-16[ruby/reline] Use color name instead of code (integer) in dialog color APIsst0012
As pointed out in the [comment](https://github.com/ruby/reline/pull/413#issuecomment-1168033973), the code is actually a control sequence and not only for colors. To make the dialog color APIs safer to use, we should restrict its usages and extract away the bg/fg concept from the input. So in this commit, I made these changes: 1. The dialog_*_bg/fg_color APIs only takes and returns color names (symbol): - :black - :red - :green - :yellow - :blue - :magenta - :cyan - :white 2. Add additional dialog_*_bg/fg_color_sequence APIs to access the raw code. https://github.com/ruby/reline/commit/b32a977766
2022-06-27[ruby/reline] Enable to change the background color of dialogs. ↵pocari
(https://github.com/ruby/reline/pull/413) https://github.com/ruby/reline/commit/bd49537964
2022-02-22[ruby/reline] Fix support for emacs-ctlx and emacs-meta keymapsTim Pope
The existing implementation, given the below .inputrc, erroneously creates a "C-v" key binding: set keymap emacs-ctlx "\C-v": "[C-x C-v was pressed]" This fixes it to instead create a "C-x C-v" keybinding. https://github.com/ruby/reline/commit/719f52d231
2021-12-10[ruby/reline] @convert_meta is true unless 8-bit charactersima1zumi
If Reline::IOGate.encoding contains 7-bit characters, convert-meta will set it On. Because in readline(3): > The default is On, but readline will set it to Off if the locale contains eight-bit characters. As far as I know, 7-bit encoding used in terminals is only US-ASCII. https://github.com/ruby/reline/commit/b71d1fa496
2021-07-30[ruby/reline] Check empty .inputrcaycabta
https://github.com/ruby/reline/commit/b60b3b76cd
2021-06-21Rescue conversion error of inputrcaycabta
2021-06-21[ruby/reline] The config file must accept any character encodingaycabta
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 https://github.com/ruby/reline/commit/0b45022e16
2021-06-21[ruby/reline] ensure reline's encoding is used when reading inputrc ↵Mark Delk
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) => "🍸" ``` https://github.com/ruby/reline/commit/cf372fc0fc
2021-04-08[ruby/reline] Separate keystrokes each editing modeaycabta
https://github.com/ruby/reline/commit/ee23e6f3f8
2020-08-18[ruby/reline] Keep original characters in inputrcaycabta
https://github.com/ruby/reline/commit/96583c6336
2020-04-29[ruby/reline] Ignore non-absolute XDG_CONFIG_HOMENobuyoshi Nakada
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. https://github.com/ruby/reline/commit/45af6eea77
2020-04-24[ruby/reline] Treat home dir correctlyaycabta
https://github.com/ruby/reline/commit/9b1327d2f4
2020-04-24[ruby/reline] Support XDG_CONFIG_HOMEaycabta
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. https://github.com/ruby/reline/commit/97f1e7db04
2020-03-26[ruby/reline] Suppress error in case INPUTRC env is emptyaycabta
https://github.com/ruby/reline/commit/bce7e7562b
2020-01-06Support history-size in .inputrc correctlyaycabta
2019-12-05Fix variable catchaycabta
2019-07-04Support Control- and Meta-aycabta
2019-07-04Check commented out line in inputrc correctlyaycabta
2019-07-04Parse key sequence more strictlyNobuyoshi Nakada
2019-07-04Skip indented comment lines [Bug #15981]Nobuyoshi Nakada
2019-06-08Remove unnecessary variablesaycabta
2019-06-03Use lines instead of splitKazuhiro NISHIYAMA
``` % cat ~/bench-split.yml prelude: | s = "foo\nbar\nbaz\n" benchmark: '/(?<=\n)/': | s.split(/(?<=\n)/) '/^/': | s.split(/^/) 'lines': | s.lines Warming up -------------------------------------- /(?<=\n)/ 459.123k i/s - 467.844k times in 1.018994s (2.18μs/i) /^/ 467.922k i/s - 469.744k times in 1.003894s (2.14μs/i) lines 2.343M i/s - 2.424M times in 1.034677s (426.84ns/i) Calculating ------------------------------------- /(?<=\n)/ 422.347k i/s - 1.377M times in 3.261232s (2.37μs/i) /^/ 477.603k i/s - 1.404M times in 2.939186s (2.09μs/i) lines 2.485M i/s - 7.028M times in 2.828757s (402.47ns/i) Comparison: lines: 2484631.6 i/s /^/: 477603.3 i/s - 5.20x slower /(?<=\n)/: 422346.5 i/s - 5.88x slower ```
2019-06-02Check conditional nestings in INPUTRCNobuyoshi Nakada
Closes: https://github.com/ruby/ruby/pull/2222
2019-06-02Use simpler regexpKazuhiro NISHIYAMA
2019-06-02Add true condition `Reline`Nobuyoshi Nakada
2019-06-01Reset Config at Reline::Config::Test#teardownaycabta
2019-06-01Use inputrc data for keystroke settingaycabta
2019-04-30Add Reline as a fallback library for Readlineaycabta
* 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.