class MarkdownExec::MarkParse

def execute_code_block_based_on_options(options)

Main method to execute a block based on options and block_name
def execute_code_block_based_on_options(options)
  options = calculated_options.merge(options)
  update_options(options, over: false)
  simple_commands = {
    doc_glob: -> { @fout.fout options[:md_filename_glob] },
    # list_blocks: -> { list_blocks },
    list_default_env: -> { @fout.fout_list list_default_env },
    list_default_yaml: -> { @fout.fout_list list_default_yaml },
    list_docs: -> { @fout.fout_list files },
    list_recent_output: -> {
                          @fout.fout_list list_recent_output(
                            @options[:saved_stdout_folder],
                            @options[:saved_stdout_glob], @options[:list_count]
                          )
                        },
    list_recent_scripts: -> {
                           @fout.fout_list list_recent_scripts(
                             options[:saved_script_folder],
                             options[:saved_script_glob], options[:list_count]
                           )
                         },
    pwd: -> { @fout.fout File.expand_path('..', __dir__) },
    run_last_script: -> { run_last_script },
    select_recent_output: -> { select_recent_output },
    select_recent_script: -> { select_recent_script },
    tab_completions: -> { @fout.fout tab_completions },
    menu_export: -> { @fout.fout menu_export }
  }
  return if execute_simple_commands(simple_commands)
  files = opts_prepare_file_list(options)
  execute_block_logic(files)
  return unless @options[:output_saved_script_filename]
  @fout.fout "script_block_name: #{@options.run_state.script_block_name}"
  @fout.fout "s_save_filespec: #{@options.run_state.saved_filespec}"
rescue StandardError
  error_handler('execute_code_block_based_on_options')
end