Shorten the line. It's not cool, but it's easy to maintain.

This commit is contained in:
kojix2 2020-08-15 17:28:51 +09:00
parent ee3608a106
commit 45fc89605c

View File

@ -49,56 +49,100 @@ 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) { |v| @output = v } opt.on('-o', '--output', TrueClass)
.on('-d', '--delimiter VAL', String) { |v| @delimiter = v } { |v| @output = v }
.on('-H', '--headers', TrueClass) { |v| @headers = v } .on('-d', '--delimiter VAL', String)
.on('-T', '--transpose', TrueClass) { |v| @transpose = v } { |v| @delimiter = v }
.on('-t', '--title VAL', String) { |v| params.title = v } .on('-H', '--headers', TrueClass)
.on('-w', '--width VAL', Numeric) { |v| params.width = v } { |v| @headers = v }
.on('-h', '--height VAL', Numeric) { |v| params.height = v } .on('-T', '--transpose', TrueClass)
.on('-b', '--border VAL', Numeric) { |v| params.border = v } { |v| @transpose = v }
.on('-m', '--margin VAL', Numeric) { |v| params.margin = v } .on('-t', '--title VAL', String)
.on('-p', '--padding VAL', Numeric) { |v| params.padding = v } { |v| params.title = v }
.on('-c', '--color VAL', String) { |v| params.color = v.to_sym } .on('-w', '--width VAL', Numeric)
.on('-x', '--xlabel VAL', String) { |v| params.xlabel = v } { |v| params.width = v }
.on('-y', '--ylabel VAL', String) { |v| params.ylabel = v } .on('-h', '--height VAL', Numeric)
.on('-l', '--labels', TrueClass) { |v| params.labels = v } { |v| params.height = v }
.on('--fmt VAL', String) { |v| @fmt = v } .on('-b', '--border VAL', Numeric)
.on('--debug', TrueClass) { |v| @debug = v } { |v| params.border = v }
.on('-m', '--margin VAL', Numeric)
{ |v| params.margin = v }
.on('-p', '--padding VAL', Numeric)
{ |v| params.padding = v }
.on('-c', '--color VAL', String)
{ |v| params.color = v.to_sym }
.on('-x', '--xlabel VAL', String)
{ |v| params.xlabel = v }
.on('-y', '--ylabel VAL', String)
{ |v| params.ylabel = v }
.on('-l', '--labels', TrueClass)
{ |v| params.labels = v }
.on('--fmt VAL', String)
{ |v| @fmt = v }
.on('--debug', TrueClass)
{ |v| @debug = v }
end end
end end
def parse_options(argv) def parse_options(argv)
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] = parsers[:bar]
.on('--symbol VAL', String) { |v| params.symbol = v } .on('--symbol VAL', String)
.on('--xscale VAL', String) { |v| params.xscale = v } { |v| params.symbol = v }
.on('--count', TrueClass) { |v| @count = v } .on('--xscale VAL', String)
{ |v| params.xscale = v }
.on('--count', TrueClass)
{ |v| @count = v }
parsers[:count] = parsers[:c] # barplot -c parsers[:count] = parsers[:c] # barplot -c
.on('--symbol VAL', String) { |v| params.symbol = v } .on('--symbol VAL', String)
{ |v| params.symbol = v }
parsers[:histogram] = parsers[:hist] parsers[:histogram] = parsers[:hist]
.on('-n', '--nbins VAL', Numeric) { |v| params.nbins = v } .on('-n', '--nbins VAL', Numeric)
.on('--closed VAL', String) { |v| params.closed = v } { |v| params.nbins = v }
.on('--symbol VAL', String) { |v| params.symbol = v } .on('--closed VAL', String)
{ |v| params.closed = v }
.on('--symbol VAL', String)
{ |v| params.symbol = v }
parsers[:lineplot] = parsers[:line] parsers[:lineplot] = parsers[:line]
.on('--canvas VAL', String) { |v| params.canvas = v } .on('--canvas VAL', String)
.on('--xlim VAL', String) { |v| params.xlim = get_lim(v) } { |v| params.canvas = v }
.on('--ylim VAL', String) { |v| params.ylim = get_lim(v) } .on('--xlim VAL', String)
{ |v| params.xlim = get_lim(v) }
.on('--ylim VAL', String)
{ |v| params.ylim = get_lim(v) }
parsers[:lineplots] = parsers[:lines] parsers[:lineplots] = parsers[:lines]
.on('--canvas VAL', String) { |v| params.canvas = v } .on('--canvas VAL', String)
.on('--xlim VAL', String) { |v| params.xlim = get_lim(v) } { |v| params.canvas = v }
.on('--ylim VAL', String) { |v| params.ylim = get_lim(v) } .on('--xlim VAL', String)
{ |v| params.xlim = get_lim(v) }
.on('--ylim VAL', String)
{ |v| params.ylim = get_lim(v) }
parsers[:scatter] = parsers[:s] parsers[:scatter] = parsers[:s]
.on('--canvas VAL', String) { |v| params.canvas = v } .on('--canvas VAL', String)
.on('--xlim VAL', String) { |v| params.xlim = get_lim(v) } { |v| params.canvas = v }
.on('--ylim VAL', String) { |v| params.ylim = get_lim(v) } .on('--xlim VAL', String)
{ |v| params.xlim = get_lim(v) }
.on('--ylim VAL', String)
{ |v| params.ylim = get_lim(v) }
parsers[:density] = parsers[:d] parsers[:density] = parsers[:d]
.on('--grid', TrueClass) { |v| params.grid = v } .on('--grid', TrueClass)
.on('--xlim VAL', String) { |v| params.xlim = get_lim(v) } { |v| params.grid = v }
.on('--ylim VAL', String) { |v| params.ylim = get_lim(v) } .on('--xlim VAL', String)
{ |v| params.xlim = get_lim(v) }
.on('--ylim VAL', String)
{ |v| params.ylim = get_lim(v) }
parsers[:boxplot] = parsers[:box] parsers[:boxplot] = parsers[:box]
.on('--xlim VAL', String) { |v| params.xlim = get_lim(v) } .on('--xlim VAL', String)
{ |v| params.xlim = get_lim(v) }
parsers.default = nil parsers.default = nil
main_parser.banner = <<~MSG main_parser.banner = <<~MSG