diff options
author | aycabta <aycabta@gmail.com> | 2019-11-20 17:55:03 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2019-11-20 17:55:19 +0900 |
commit | 633625a083c5f02e78355cb12818056e54330e88 (patch) | |
tree | d919925d706a4209f9826d6c9a3e17b58c174591 | |
parent | ae818b589efcb5dca47d9ceb888cb658ef56e286 (diff) | |
download | ruby-633625a083c5f02e78355cb12818056e54330e88.tar.gz |
Mintty on Cygwin isn't a kind of command prompt, can process ANSI escape code
-rw-r--r-- | lib/reline.rb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/reline.rb b/lib/reline.rb index 58a03f882c..feee94e994 100644 --- a/lib/reline.rb +++ b/lib/reline.rb @@ -16,12 +16,6 @@ module Reline CursorPos = Struct.new(:x, :y) class Core - if RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/ - IS_WINDOWS = true - else - IS_WINDOWS = false - end - ATTR_READER_NAMES = %i( completion_append_character basic_word_break_characters @@ -400,9 +394,15 @@ module Reline HISTORY = History.new(core.config) end -if Reline::Core::IS_WINDOWS +if RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/ require 'reline/windows' - Reline::IOGate = Reline::Windows + if Reline::Windows.get_screen_size == [0, 0] + # Maybe Mintty on Cygwin + require 'reline/ansi' + Reline::IOGate = Reline::ANSI + else + Reline::IOGate = Reline::Windows + end else require 'reline/ansi' Reline::IOGate = Reline::ANSI |