class MarkdownExec::MarkParse
def initialize_and_parse_cli_options
# Sets up the options and returns the parsed arguments
def initialize_and_parse_cli_options # @options = base_options @options = HashDelegator.new(base_options) read_configuration_file!(@options, ".#{MarkdownExec::APP_NAME.downcase}.yml") @option_parser = OptionParser.new do |opts| executable_name = File.basename($PROGRAM_NAME) opts.banner = [ "#{MarkdownExec::APP_NAME}" \ " - #{MarkdownExec::APP_DESC} (#{MarkdownExec::VERSION})", "Usage: #{executable_name} [(path | filename [block_name])] [options]" ].join("\n") menu_iter do |item| opts_menu_option_append opts, @options, item end end @option_parser.load @option_parser.environment @rest = rest = @option_parser.parse!(arguments_for_mde) @options.pass_args = ARGV[rest.count + 1..] @options.merge(@options.run_state.to_h) rest end