| Age | Commit message (Collapse) | Author |
|
(https://github.com/ruby/reline/pull/680)
https://github.com/ruby/reline/commit/84762fc588
|
|
(https://github.com/ruby/reline/pull/679)
https://github.com/ruby/reline/commit/9e93ad52e7
|
|
(https://github.com/ruby/reline/pull/678)
* Reduce duplicate method
* Configured default key mapping with Readline when the method exists
* Remove undefined methods
https://github.com/ruby/reline/commit/155f7047bb
|
|
(https://github.com/ruby/reline/pull/649)
* Fix waiting_proc precedence
* Fix waiting_operator bugs
* Add waiting_proc and vi_waiting_operator test
* Fix vi waiting operator arg number
vi_arg and vi_waiting_operator_arg should be multiplied
* Implement `yy` copies whole line in vi_command mode
* Simplify incremental search cancel test
* Add complex vi test with waiting_proc and vi_waiting_operator, split test input
https://github.com/ruby/reline/commit/777dffae1c
|
|
navigation
(https://github.com/ruby/reline/pull/677)
Fixes https://github.com/ruby/reline/pull/675
This commit extracts the upward navigation condition in `LineEditor#input_key` to a new private method, and adds a new alias. This change allows Reline to support upward navigation in when a user has configured `inputrc` to map Shift-Tab to `menu-complete-backward`, a common setting in Bash (>= 4.x).
Instead of special-casing upward navigation in `LineEditor#input_key`, we now allow it to be processed by the branch that calls `process_key`. The extracted method no longer includes the editing mode check since this check is already made by `#wrap_method_call` by the time `#completion_journey_up` (or `#menu_complete_backward`) is called. Since upward navigation is happening in a method other than `#input_key` now, the `completion_occurs` variable that used to be local to `#input_key` is changed to an instance variable so that the new method can change its value. (I see many examples of mutating such instance variables in `LineEditor`, so I assumed this would be an uncontroversial change consistent with the coding practices already in place.)
Test coverage of this change has been added to the emacs and vi `KeyActor` tests.
Many thanks to @ima1zumi for their very helpful comments on #675 which encouraged me to contribute this work!
https://github.com/ruby/reline/commit/2ccdb374a4
|
|
because clear(C-l) is not a signal
(https://github.com/ruby/reline/pull/646)
https://github.com/ruby/reline/commit/3debb0ae2f
|
|
rendering
(https://github.com/ruby/reline/pull/648)
https://github.com/ruby/reline/commit/9c51c577ca
|
|
(https://github.com/ruby/reline/pull/647)
* Refactor completion: split autocompletion and tabcompletion logic and state
* Move completion candidate listup logic from dialog proc to LineEditor
https://github.com/ruby/reline/commit/c3c09ac9c2
|
|
(https://github.com/ruby/reline/pull/613)
https://github.com/ruby/reline/commit/a622704f62
|
|
(https://github.com/ruby/reline/pull/658)
* Add mode_string to prompt calculation dependencies
* Update vi show-mode-in-prompt test
https://github.com/ruby/reline/commit/a0cee06ec5
|
|
used
(https://github.com/ruby/reline/pull/661)
https://github.com/ruby/reline/commit/3719702808
|
|
(https://github.com/ruby/reline/pull/650)
https://github.com/ruby/reline/commit/9685db55f1
|
|
(https://github.com/ruby/reline/pull/614)
* Re-architecture LineEditor's internal state and rendering
* Fix test related to LineEditor re-architecture
* Bump to 0.5.0.pre.1
* Hide cursor only when updating screen. Frequent hide&show makes cursor flickering.
* Simplify rerender call from reline.rb
* Simplify handle_cleared
It only need to clear screen. line_editor.rerender will be called later.
* Add description of updating pasting_state inserts continuous_insertion_buffer
* Use meaningful block parameter
Co-authored-by: Stan Lo <stan001212@gmail.com>
* Fix use of `@cursor_y`
Fix bug updating `@cursor_y`. Do not use `@cursor_y` while updating dialog because it is not current cursor position but cursor position at last rendered time.
* Remove useless instance_variable_set in test
These instance variables are already removed from LineEditor
* Always initialize instance variables to avoid ruby 2.7 warning, remove unused instance variable
* Call update_dialogs from reline.rb before first render
* Combine state representing rendered screen information into `@rendered_screen`
* Rename editor_cursor_ to wrapped_cursor
It represents cursor position of word wrapped whole content
* Remove unused code, tweak, add comment
---------
https://github.com/ruby/reline/commit/3fa376217d
Co-authored-by: Stan Lo <stan001212@gmail.com>
|
|
(https://github.com/ruby/reline/pull/643)
Ref: https://bugs.ruby-lang.org/issues/20205
Ruby is moving forward with enabling frozen string literals
in the future.
Reline being part of the ruby-core test suite should work when
ruby is ran with `--enable-frozen-string-literal`.
https://github.com/ruby/reline/commit/7e2de64cf0
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
|
|
(https://github.com/ruby/reline/pull/472)
https://github.com/ruby/reline/commit/d197be7c44
|
|
(https://github.com/ruby/reline/pull/630)
https://github.com/ruby/reline/commit/90155fd0d9
|
|
character attributes
(https://github.com/ruby/reline/pull/552)
* Reine::Face
* fix test_yamatanooroti
* Define singleton methods to make accessors to attributes of a face
* s/display/foreground/
* s/default/default_style/ && s/normal_line/default/ && s/enhanced_line/enhanced/
* fix typo
* FaceConfig.new now takes keyword arguments
* Update lib/reline/face.rb
Co-authored-by: Stan Lo <stan001212@gmail.com>
* Update test/reline/test_face.rb
Co-authored-by: Stan Lo <stan001212@gmail.com>
* Fix to correspond to frozen_string_literal
* Face::FaceConfig -> Face::Config
* ref https://github.com/ruby/reline/pull/552#pullrequestreview-1677282576
* delete unused ivar
* ref https://github.com/ruby/reline/pull/552#discussion_r1358783723
* insert "\e[0m" into all SGR
* tiny fix
* ESSENTIAL_DEFINE_NAMES
ref https://github.com/ruby/reline/pull/552#discussion_r1367722247
* Change to Hash-accessor style
- Reline::Face[:completion_dialog].enhanced ->
Reline::Face[:completion_dialog][:enhanced]
- Reline::Face.configs shows all defined values
* Cache array method call in local variable
* Tests for Face configuration variations
* resolve https://github.com/ruby/reline/pull/552#pullrequestreview-1710938154
* amend to
* check invalid SGR parameter in :style
* The order of define values should be preserved
* Update test/reline/test_face.rb
Co-authored-by: Stan Lo <stan001212@gmail.com>
* Update test/reline/test_face.rb
Co-authored-by: Stan Lo <stan001212@gmail.com>
* Add methods: load_initial_config and reset_to_initial_config. And teardown in tests
* omission in amending "style: :default" to "style: :reset"
* refs https://github.com/ruby/reline/issues/598
* Fix link
* amend method name
* Update lib/reline/face.rb
Co-authored-by: ima1zumi <52617472+ima1zumi@users.noreply.github.com>
---------
https://github.com/ruby/reline/commit/fdc1d3b1e5
Co-authored-by: Stan Lo <stan001212@gmail.com>
Co-authored-by: ima1zumi <52617472+ima1zumi@users.noreply.github.com>
|
|
support.
(https://github.com/ruby/reline/pull/570)
Fix it
https://github.com/ruby/reline/issues/558
https://github.com/ruby/reline/commit/0f8000443e
Co-authored-by: Stan Lo <stan001212@gmail.com>
|
|
CTRL+d
(https://github.com/ruby/reline/pull/571)
* Fix [nil] is passed to auto_indent_proc when exit with CTRL+d
Fix it https://github.com/ruby/reline/issues/556
* not call auto_indent_proc when Ctrl+d.
see: https://github.com/ruby/reline/pull/571#issuecomment-1637183195
https://github.com/ruby/reline/commit/0924f2a075
|
|
(https://github.com/ruby/reline/pull/522)
* Add unassigned escape sequence matcher to KeyStroke
* Do not insert ESC and unassigned ESC+key to input buffer
|
|
(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
|
|
(https://github.com/ruby/reline/pull/562)
https://github.com/ruby/reline/commit/4348354604
|
|
(https://github.com/ruby/reline/pull/554)
https://github.com/ruby/reline/commit/8761a11fa5
|
|
(https://github.com/ruby/reline/pull/541)
https://github.com/ruby/reline/commit/ad6faada3f
|
|
problem
(https://github.com/ruby/reline/pull/542)
* Provide preferred_dialog_height for dialog positioning
* Fix rendering test
|
|
too much
(https://github.com/ruby/reline/pull/524)
* Do not render dialog where it overflows screen
* Dialog rendering should Scroll down only when needed
* Refactor screen_y_range calculation
Co-authored-by: Stan Lo <stan001212@gmail.com>
---------
https://github.com/ruby/reline/commit/bc0e3d1310
Co-authored-by: Stan Lo <stan001212@gmail.com>
|
|
(https://github.com/ruby/reline/pull/492)
* Rewrite dialog rendering
* Fix failing test of dialog with small screen
* Add multiple-dialog rendering test
* Add description comments for each part of render_dialog_changes
|
|
(https://github.com/ruby/reline/pull/535)
This PR was an effort to address #321 (ed_quoted_insert doesn't work
properly) but per the reporter it did not work correctly.
Moreover, it introduced a major regression: Shell job control stopped
working in all applications that use reline, notably IRB.
Bash and other shells send SIGTSTP in response to C-z to implement job
suspension. Handling SIGSTP opts out of this functionality. For a
line oriented terminal program this should be avoided (not to mention,
this behavior diverges from readline's)
https://github.com/ruby/reline/commit/26383d25b8
Co-authored-by: Carl Brasic <cbrasic@drwholdings.com>
|
|
* Test existing behavior
Typing Ctrl-D ends editing but typing <Del> does not.
Also renamed a test that is not testing ed_delete_next_char but
key_delete.
* Check if line empty first in em_delete
By distributivity of AND over OR, we can factor out this condition. This
will make the next commit simpler.
* Use em_delete in key_delete
When the editing mode is emacs, use `em_delete` in `key_delete`. We need
to add a condition though to `em_delete`, because it implements both
`delete-char` and `end-of-file`. We only want the `end-of-file` behavior
is the key is really Ctrl-D.
This matches the behavior of the <Del> key with readline, i.e. deleting
the next character if there is one, but not moving the cursor, while not
finishing the editing if there are no characters.
|
|
local variable
(https://github.com/ruby/reline/pull/529)
https://github.com/ruby/reline/commit/d0139975fd
Co-authored-by: tomoya ishida <tomoyapenguin@gmail.com>
|
|
(https://github.com/ruby/reline/pull/515)
* Fix cursor position overrun
* Remove unnecessary local variable
Co-authored-by: Stan Lo <stan001212@gmail.com>
---------
https://github.com/ruby/reline/commit/d4ad9b96c8
Co-authored-by: Stan Lo <stan001212@gmail.com>
|
|
(https://github.com/ruby/reline/pull/516)
https://github.com/ruby/reline/commit/ae5f9b87ab
|
|
(https://github.com/ruby/reline/pull/513)
https://github.com/ruby/reline/commit/d76c482c5f
|
|
duplicated line.
(https://github.com/ruby/reline/pull/460)
* whole_lines should consider prev_line_index, and must not duplicate last_line
* Add test for lines passed to dynamic prompt proc
* Refactor whole_lines parameters used in test helper
* Remove whole_line's arguments
|
|
(https://github.com/ruby/reline/pull/474)
* Add repeated input-delete test that fails on HEAD
* Use raw mode while readmultiline
|
|
https://github.com/ruby/reline/commit/7d61b3df9a
|
|
https://github.com/ruby/reline/commit/61cc580da4
|
|
when dialog content is very long
https://github.com/ruby/reline/commit/d4c95f89ec
|
|
https://github.com/ruby/reline/commit/e21b69ade4
|
|
sequence) to check_multiline_prompt
(https://github.com/ruby/reline/pull/458)
* pass unmodified lines to check_multiline_prompt
* Add test to check that output modified by output_modifier_proc is not passed to prompt_proc
|
|
https://github.com/ruby/reline/commit/e8e8d81f47
|
|
https://github.com/ruby/reline/commit/d42cdb8f91
|
|
https://github.com/ruby/reline/commit/33bf80e757
|
|
https://github.com/ruby/reline/commit/fb4136c8a7
|
|
https://github.com/ruby/reline/commit/a6d1c917ce
|
|
(https://github.com/ruby/reline/pull/413)
https://github.com/ruby/reline/commit/bd49537964
|
|
https://github.com/ruby/reline/commit/21d75f6d4c
|
|
https://github.com/ruby/reline/commit/0c76631132
|
|
https://github.com/ruby/reline/commit/5db9738f17
|
|
https://github.com/ruby/reline/commit/7d38454327
|