Fixied stuck blocks.

This commit is contained in:
kojix2 2020-08-15 17:48:25 +09:00
parent 45fc89605c
commit 1548675967

View File

@ -49,38 +49,54 @@ module Uplot
OptionParser.new do |opt| OptionParser.new do |opt|
opt.program_name = 'uplot' opt.program_name = 'uplot'
opt.version = Uplot::VERSION opt.version = Uplot::VERSION
opt.on('-o', '--output', TrueClass) opt.on('-o', '--output', TrueClass) do |v|
{ |v| @output = v } @output = v
.on('-d', '--delimiter VAL', String) end
{ |v| @delimiter = v } .on('-d', '--delimiter VAL', String) do |v|
.on('-H', '--headers', TrueClass) @delimiter = v
{ |v| @headers = v } end
.on('-T', '--transpose', TrueClass) .on('-H', '--headers', TrueClass) do |v|
{ |v| @transpose = v } @headers = v
.on('-t', '--title VAL', String) end
{ |v| params.title = v } .on('-T', '--transpose', TrueClass) do |v|
.on('-w', '--width VAL', Numeric) @transpose = v
{ |v| params.width = v } end
.on('-h', '--height VAL', Numeric) .on('-t', '--title VAL', String) do |v|
{ |v| params.height = v } params.title = v
.on('-b', '--border VAL', Numeric) end
{ |v| params.border = v } .on('-w', '--width VAL', Numeric) do |v|
.on('-m', '--margin VAL', Numeric) params.width = v
{ |v| params.margin = v } end
.on('-p', '--padding VAL', Numeric) .on('-h', '--height VAL', Numeric) do |v|
{ |v| params.padding = v } params.height = v
.on('-c', '--color VAL', String) end
{ |v| params.color = v.to_sym } .on('-b', '--border VAL', Numeric) do |v|
.on('-x', '--xlabel VAL', String) params.border = v
{ |v| params.xlabel = v } end
.on('-y', '--ylabel VAL', String) .on('-m', '--margin VAL', Numeric) do |v|
{ |v| params.ylabel = v } params.margin = v
.on('-l', '--labels', TrueClass) end
{ |v| params.labels = v } .on('-p', '--padding VAL', Numeric) do |v|
.on('--fmt VAL', String) params.padding = v
{ |v| @fmt = v } end
.on('--debug', TrueClass) .on('-c', '--color VAL', String) do |v|
{ |v| @debug = v } params.color = v.to_sym
end
.on('-x', '--xlabel VAL', String) do |v|
params.xlabel = v
end
.on('-y', '--ylabel VAL', String) do |v|
params.ylabel = v
end
.on('-l', '--labels', TrueClass) do |v|
params.labels = v
end
.on('--fmt VAL', String) do |v|
@fmt = v
end
.on('--debug', TrueClass) do |v|
@debug = v
end
end end
end end
@ -88,64 +104,96 @@ module Uplot
main_parser = create_parser main_parser = create_parser
parsers = Hash.new { |h, k| h[k] = create_parser } parsers = Hash.new { |h, k| h[k] = create_parser }
parsers[:barplot] = parsers[:bar] parsers[:barplot] = \
.on('--symbol VAL', String) parsers[:bar]
{ |v| params.symbol = v } .on('--symbol VAL', String) do |v|
.on('--xscale VAL', String) params.symbol = v
{ |v| params.xscale = v } end
.on('--count', TrueClass) .on('--xscale VAL', String) do |v|
{ |v| @count = v } params.xscale = v
end
.on('--count', TrueClass) do |v|
@count = v
end
parsers[:count] = parsers[:c] # barplot -c parsers[:count] = \
.on('--symbol VAL', String) parsers[:c] # barplot -c
{ |v| params.symbol = v } .on('--symbol VAL', String) do |v|
params.symbol = v
end
parsers[:histogram] = parsers[:hist] parsers[:histogram] = \
.on('-n', '--nbins VAL', Numeric) parsers[:hist]
{ |v| params.nbins = v } .on('-n', '--nbins VAL', Numeric) do |v|
.on('--closed VAL', String) params.nbins = v
{ |v| params.closed = v } end
.on('--symbol VAL', String) .on('--closed VAL', String) do |v|
{ |v| params.symbol = v } params.closed = v
end
.on('--symbol VAL', String) do |v|
params.symbol = v
end
parsers[:lineplot] = parsers[:line] parsers[:lineplot] = \
.on('--canvas VAL', String) parsers[:line]
{ |v| params.canvas = v } .on('--canvas VAL', String) do |v|
.on('--xlim VAL', String) params.canvas = v
{ |v| params.xlim = get_lim(v) } end
.on('--ylim VAL', String) .on('--xlim VAL', String) do |v|
{ |v| params.ylim = get_lim(v) } params.xlim = get_lim(v)
end
.on('--ylim VAL', String) do |v|
params.ylim = get_lim(v)
end
parsers[:lineplots] = parsers[:lines] parsers[:lineplots] = \
.on('--canvas VAL', String) parsers[:lines]
{ |v| params.canvas = v } .on('--canvas VAL', String) do |v|
.on('--xlim VAL', String) params.canvas = v
{ |v| params.xlim = get_lim(v) } end
.on('--ylim VAL', String) .on('--xlim VAL', String) do |v|
{ |v| params.ylim = get_lim(v) } params.xlim = get_lim(v)
end
.on('--ylim VAL', String) do |v|
params.ylim = get_lim(v)
end
parsers[:scatter] = parsers[:s] parsers[:scatter] = \
.on('--canvas VAL', String) parsers[:s]
{ |v| params.canvas = v } .on('--canvas VAL', String) do |v|
.on('--xlim VAL', String) params.canvas = v
{ |v| params.xlim = get_lim(v) } end
.on('--ylim VAL', String) .on('--xlim VAL', String) do |v|
{ |v| params.ylim = get_lim(v) } params.xlim = get_lim(v)
end
.on('--ylim VAL', String) do |v|
params.ylim = get_lim(v)
end
parsers[:density] = parsers[:d] parsers[:density] = \
.on('--grid', TrueClass) parsers[:d]
{ |v| params.grid = v } .on('--grid', TrueClass) do |v|
.on('--xlim VAL', String) params.grid = v
{ |v| params.xlim = get_lim(v) } end
.on('--ylim VAL', String) .on('--xlim VAL', String) do |v|
{ |v| params.ylim = get_lim(v) } params.xlim = get_lim(v)
end
.on('--ylim VAL', String) do |v|
params.ylim = get_lim(v)
end
parsers[:boxplot] = parsers[:box] parsers[:boxplot] = \
.on('--xlim VAL', String) parsers[:box]
{ |v| params.xlim = get_lim(v) } .on('--xlim VAL', String) do |v|
params.xlim = get_lim(v)
end
# Preventing the generation of new sub-commands
parsers.default = nil parsers.default = nil
main_parser.banner = <<~MSG # Usage and help messages
main_parser.banner = \
<<~MSG
Program: uplot (Tools for plotting on the terminal) Program: uplot (Tools for plotting on the terminal)
Version: #{Uplot::VERSION} (using unicode_plot #{UnicodePlot::VERSION}) Version: #{Uplot::VERSION} (using unicode_plot #{UnicodePlot::VERSION})