summaryrefslogtreecommitdiff
path: root/lib/reline/windows.rb
AgeCommit message (Collapse)Author
2021-04-08[ruby/reline] Separate keystrokes each editing modeaycabta
https://github.com/ruby/reline/commit/ee23e6f3f8
2021-02-22[ruby/reline] fix Reline::Windows.getconsolemode buffercremno
use double quotes to properly convert the \000 escape sequence. https://github.com/ruby/reline/commit/236dfe5683
2021-02-21[ruby/reline] check ENABLE_VIRTUAL_TERMINAL_PROCESSING flag and switch eof ↵Yoshinao Muramatu
processing https://github.com/ruby/reline/commit/3535676689
2021-01-18[ruby/reline] Reline::Windows.erase_after_cursor erases attributes tooaycabta
https://github.com/ruby/reline/commit/68b961dfc7
2020-12-17[ruby/reline] Support longer than screen height on Windowsaycabta
https://github.com/ruby/reline/commit/2a97ca9362
2020-12-05[ruby/reline] Suppress callbacks in pastingaycabta
IRB uses Reline's 3 dynamic real-time callbacks with calling Ripper; output_modifier_proc, prompt_proc, and auto_indent_proc. These processing times make the paste time too long. https://github.com/ruby/reline/commit/beec3399a8
2020-09-12Suppress "assigned but unused variable" warningaycabta
2020-09-12[ruby/reline] not clear scrollback bufferYoshinao Muramatu
https://github.com/ruby/reline/commit/ba800f1461
2020-09-12[ruby/reline] clear_screen use Windows APIYoshinao Muramatu
https://github.com/ruby/reline/commit/2c5ee54cb3
2020-02-14[ruby/reline] Use IO#write instead of IO#printaycabta
IO#print always adds a string of $\ automatically. https://github.com/ruby/reline/commit/a93119c847
2020-02-02[ruby/reline] Bypass cursor down when a char is rendered at eol on Windowsaycabta
A newline is automatically inserted if a character is rendered at eol on Windows command prompt. https://github.com/ruby/reline/commit/4bfea07e4a
2020-02-02[ruby/reline] Fix Reline::Windows#scroll_downaycabta
I mistook Right and Bottom. https://github.com/ruby/reline/commit/8be401c5f5
2020-01-21Reline: Use a more robust detection of MinTTYLars Kanis
The previous detection per get_screen_size fails when stdout is passed to a pipe. That is the case when running ruby tests in parallel ("-j" switch). In this case Reline believes that it's running on MinTTY and the tests are running with ANSI IOGate instead of the Windows adapter on MINGW. So parallel test results were different to that of a single process. This commit fixes these differencies. The code is taken from git sources and translated to ruby. NtQueryObject() is replaced by GetFileInformationByHandleEx(), because NtQueryObject() is undocumented and is more difficult to use: https://github.com/git-for-windows/git/blob/c5a03b1e29c69f3f06c8fabd92493edb73469176/compat/winansi.c#L558 Notes: Merged: https://github.com/ruby/ruby/pull/2848
2020-01-14Introduce an abstracted structure about the encoding of Relineaycabta
The command prompt on Windows always uses Unicode to take input and print output but most Reline implementation depends on Encoding.default_external. This commit introduces an abstracted structure about the encoding of Reline.
2019-10-25Rename old var name with new nameaycabta
2019-10-24Treat only left alt key as meta-key on Windowsaycabta
On German keyboard, right alt key acts as like shift key. Ex. right-alt-8 is just "[". This input doesn't have meta-key statement.
2019-10-24Support forced enter insertion by Ctrl+Enter on Windowsaycabta
2019-10-23Fix indent...aycabta
2019-10-18Treat key sequences from getwch() that start from 0 or 0xE0 correctlyaycabta
2019-10-18Add numeric keypad key sequences on Windowsaycabta
2019-10-18Remove freezeaycabta
2019-10-18Ignore the input method key sequence from getwch() correctlyaycabta
The function getwch() returns some key sequences which start from 0 or 0xE0 with a following key code. Alt+` that is on/off key for input methods gives 0 and 41 so Reline was always ignoring 0 and following keys but numeric keypad keys give 0 and following actual keys. This commit changes the behavior to be ignoring only the 0 and 41 sequence.
2019-10-07Use built-in Win32API on JRubyaycabta
It's fixed for JRuby dedicatedly.
2019-09-02Treat Japanese IME on/off code correctlyaycabta
2019-08-29Check events that console window size changed on Windowsaycabta
2019-08-29Fix alignment of a SHORT variableaycabta
typedef struct _COORD { SHORT X; SHORT Y; // I wanted to take this... } COORD, *PCOORD; typedef struct _CONSOLE_SCREEN_BUFFER_INFO { COORD dwSize; COORD dwCursorPosition; // ...of this one WORD wAttributes; // But it's combined with first 2bytes of this SMALL_RECT srWindow; COORD dwMaximumWindowSize; } CONSOLE_SCREEN_BUFFER_INFO; If wAttributes has non-zero value, the code breaks.
2019-08-29CONSOLE_SCREEN_BUFFER_INFO is 22bytesaycabta
typedef struct _CONSOLE_SCREEN_BUFFER_INFO { COORD dwSize; // 4(SHORT X, Y) COORD dwCursorPosition; // 4 WORD wAttributes; // 2 SMALL_RECT srWindow; // 8(SHORT Left, Top, Right, Bottom) COORD dwMaximumWindowSize; // 4 } CONSOLE_SCREEN_BUFFER_INFO;
2019-08-29Add stub set_screen_size for other platformsaycabta
2019-06-01Use inputrc data for keystroke settingaycabta
2019-06-01Seprate raw keystroke config for each platformsNobuyoshi Nakada
2019-05-29Use reversed get_screen_size correctly on Windowsaycabta
2019-05-28Fix condition..."and" is lowest priority operator, than "="aycabta
2019-05-28Fix reversed row and column get_screen_size on Windowsaycabta
2019-05-28Use Shift+Enter as Meta+Enter on Windowsaycabta
2019-05-28Use VK_MENU instead of VK_LMENU to check ALT on Windowsaycabta
2019-05-24Support Meta key in Relineaycabta
2019-05-13Split namespace of env-dependent I/O classesaycabta
2019-04-30Move Win32API to Reline::Win32APIaycabta
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.
2019-04-23Revert "IRB is improved with Reline and RDoc, take 2"Nobuyoshi Nakada
Accidentally merged when 89271d4a3733bc5e70e9c56b4bd12f277e699c42 "Adjusted indents".
2019-04-23IRB is improved with Reline and RDoc, take 2aycabta
2019-04-21Revert "IRB is improved with Reline and RDoc"aycabta
This reverts commit 7f273ac6d0f05208b5b228da95205e20c0e8286c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67691 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-20IRB is improved with Reline and RDocaycabta
Reline is a readline stdlib compatible library. It also supports multiline input. IRB is improved with Reline and supports multiline. Besides, supports showing documents when completed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67645 b2dd03c8-39d4-4d8f-98ff-823fe69b080e