class MarkdownExec::MarkParse

def opts_menu_option_append(opts, options, item)

def opts_menu_option_append(opts, options, item)
  return unless item[:long_name].present? || item[:short_name].present?
  opts.on(*[
    # - long name
    if item[:long_name].present?
      "--#{item[:long_name]}#{item[:arg_name].present? ? " #{item[:arg_name]}" : ''}"
    end,
    # - short name
    item[:short_name].present? ? "-#{item[:short_name]}" : nil,
    # - description and default
    [item[:description],
     ("[#{value_for_cli item[:default]}]" if item[:default].present?)].compact.join('  '),
    # apply proccode, if present, to value
    # save value to options hash if option is named
    #
    lambda { |value|
      (item[:proccode] ? item[:proccode].call(value) : value).tap do |converted|
        options[item[:opt_name]] = converted if item[:opt_name]
      end
    }
  ].compact)
end