summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/reline/config.rb8
-rw-r--r--test/reline/test_config.rb11
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/reline/config.rb b/lib/reline/config.rb
index fdc2b39c1b..61708f96a7 100644
--- a/lib/reline/config.rb
+++ b/lib/reline/config.rb
@@ -184,9 +184,8 @@ class Reline::Config
def bind_variable(name, value)
case name
- when *VARIABLE_NAMES then
- variable_name = :"@#{name.tr(?-, ?_)}"
- instance_variable_set(variable_name, value.nil? || value == '1' || value == 'on')
+ when 'history-size'
+ @history_size = value.to_i
when 'bell-style'
@bell_style =
case value
@@ -225,6 +224,9 @@ class Reline::Config
end
when 'keyseq-timeout'
@keyseq_timeout = value.to_i
+ when *VARIABLE_NAMES then
+ variable_name = :"@#{name.tr(?-, ?_)}"
+ instance_variable_set(variable_name, value.nil? || value == '1' || value == 'on')
end
end
diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb
index dd5142d587..14342fff86 100644
--- a/test/reline/test_config.rb
+++ b/test/reline/test_config.rb
@@ -195,4 +195,15 @@ class Reline::Config::Test < Reline::TestCase
expected = { 'ef'.bytes => 'EF'.bytes, 'gh'.bytes => 'GH'.bytes }
assert_equal expected, @config.key_bindings
end
+
+ def test_history_size
+ @config.read_lines(<<~LINES.lines)
+ set history-size 5000
+ LINES
+
+ assert_equal 5000, @config.instance_variable_get(:@history_size)
+ history = Reline::History.new(@config)
+ history << "a\n"
+ assert_equal 1, history.size
+ end
end