summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLee Jarvis <leejarvis@fastmail.com>2020-07-10 08:36:54 +0100
committerLee Jarvis <leejarvis@fastmail.com>2020-07-10 08:36:54 +0100
commite5615fbdd7c4cd07e8fb0c1109fc6da56981829f (patch)
tree36f5e303143b1fe739a490cc5df0ddc75a9790c9 /lib
parent53e5d15c0493f8eaa31ea9d3a0d785dc9bb0cbc1 (diff)
downloadslop-e5615fbdd7c4cd07e8fb0c1109fc6da56981829f.tar.gz
Fix bug with separators around `help: false` opts
The separators rely on the indexes of the options before/after them, but we ignore `help: false` options when building the help string, so all of the positions are messed up. This change avoids ignoring those options during the iteration, and instead just doesn't append the option help to the string. Fixes #253
Diffstat (limited to 'lib')
-rw-r--r--lib/slop/options.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/slop/options.rb b/lib/slop/options.rb
index 9a5f5cc..875fcfe 100644
--- a/lib/slop/options.rb
+++ b/lib/slop/options.rb
@@ -102,13 +102,13 @@ module Slop
str = config[:banner] ? "#{banner}\n" : ""
len = longest_flag_length
- options.select(&:help?).each_with_index.sort_by{ |o,i| [o.tail, i] }.each do |opt, i|
+ options.select.each_with_index.sort_by{ |o,i| [o.tail, i] }.each do |opt, i|
# use the index to fetch an associated separator
if sep = separators[i]
str << "#{sep}\n"
end
- str << "#{prefix}#{opt.to_s(offset: len)}\n"
+ str << "#{prefix}#{opt.to_s(offset: len)}\n" if opt.help?
end
if sep = separators[options.size]