summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/reline/line_editor.rb26
1 files changed, 15 insertions, 11 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index 6128cc8ddf..7c68037878 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -182,9 +182,20 @@ class Reline::LineEditor
@resized = true
end
if Reline::IOGate.win?
+ @full_block = '█'
+ @upper_half_block = '▀'
+ @lower_half_block = '▄'
@block_elem_width = 1
- else
+ elsif @encoding == Encoding::UTF_8
+ @full_block = '█'
+ @upper_half_block = '▀'
+ @lower_half_block = '▄'
@block_elem_width = Reline::Unicode.calculate_width('█')
+ else
+ @full_block = '::'
+ @upper_half_block = "''"
+ @lower_half_block = '..'
+ @block_elem_width = 2
end
end
@@ -716,13 +727,6 @@ class Reline::LineEditor
reset_dialog(dialog, old_dialog)
move_cursor_down(dialog.vertical_offset)
Reline::IOGate.move_cursor_column(dialog.column)
- if Encoding.default_external == Encoding::UTF_8
- full_block = '█'
- upper_half_block = '▀'
- lower_half_block = '▄'
- else
- full_block = upper_half_block = lower_half_block = ''
- end
dialog.contents.each_with_index do |item, i|
if i == pointer
bg_color = '45'
@@ -739,12 +743,12 @@ class Reline::LineEditor
if dialog.scrollbar_pos and (dialog.scrollbar_pos != old_dialog.scrollbar_pos or dialog.column != old_dialog.column)
@output.write "\e[37m"
if dialog.scrollbar_pos <= (i * 2) and (i * 2 + 1) < (dialog.scrollbar_pos + bar_height)
- @output.write full_block
+ @output.write @full_block
elsif dialog.scrollbar_pos <= (i * 2) and (i * 2) < (dialog.scrollbar_pos + bar_height)
- @output.write upper_half_block
+ @output.write @upper_half_block
str += ''
elsif dialog.scrollbar_pos <= (i * 2 + 1) and (i * 2) < (dialog.scrollbar_pos + bar_height)
- @output.write lower_half_block
+ @output.write @lower_half_block
else
@output.write ' ' * @block_elem_width
end