markdown_exec 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -2
- data/Gemfile.lock +2 -2
- data/Rakefile +36 -0
- data/bats/command-substitution.bats +8 -0
- data/bats/options.bats +4 -4
- data/bats/plain.bats +8 -0
- data/bats/table.bats +6 -1
- data/bats/variable-expansion.bats +4 -4
- data/bin/bmde +46 -2
- data/bin/tab_completion.sh +1 -1
- data/docs/dev/command-substitution.md +24 -0
- data/docs/dev/load_code.md +14 -0
- data/docs/dev/no-active-elements.md +6 -0
- data/docs/dev/screen-width.md +21 -0
- data/docs/dev/table-invalid.md +20 -0
- data/examples/bash-blocks.md +2 -1
- data/examples/block-names.md +2 -1
- data/examples/block-types.md +2 -1
- data/examples/data-files.md +1 -0
- data/examples/document_options.md +1 -0
- data/examples/example-document-opts.md +6 -0
- data/examples/index.md +1 -1
- data/examples/interrupt.md +1 -0
- data/examples/link-blocks-load-save.md +8 -10
- data/examples/link-blocks-vars.md +12 -9
- data/examples/linked.md +9 -12
- data/examples/linked1.md +7 -6
- data/examples/linked2.md +6 -7
- data/examples/linked3.md +6 -5
- data/examples/linked_show.md +5 -4
- data/examples/nickname.md +1 -0
- data/examples/opts-blocks-require.md +1 -0
- data/examples/opts-blocks.md +1 -0
- data/examples/opts_output_execution.md +1 -0
- data/examples/pass-through-arguments.md +1 -0
- data/examples/pause-after-execution.md +1 -0
- data/examples/port-blocks.md +14 -10
- data/examples/save.md +1 -0
- data/examples/text-markup.md +2 -1
- data/examples/variable-expansion-save-block.md +48 -0
- data/examples/variable-expansion.md +3 -1
- data/examples/vars-blocks.md +14 -24
- data/examples/wrap.md +2 -1
- data/lib/collapser.rb +83 -47
- data/lib/evaluate_shell_expressions.rb +3 -2
- data/lib/fcb.rb +8 -2
- data/lib/hash_delegator.rb +214 -118
- data/lib/input_sequencer.rb +0 -7
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/markdown_exec.rb +6 -1
- data/lib/menu.src.yml +22 -9
- data/lib/menu.yml +22 -7
- data/lib/ww.rb +1 -1
- metadata +16 -9
- data/docs/dev/table-crash.md +0 -39
- data/examples/load_code.md +0 -10
- /data/{examples → docs/dev}/load1.sh +0 -0
    
        data/lib/input_sequencer.rb
    CHANGED
    
    | @@ -94,18 +94,13 @@ class InputSequencer | |
| 94 94 | 
             
                  break if exit_when_bq_empty && bq_is_empty? && !now_menu.prior_block_was_link
         | 
| 95 95 |  | 
| 96 96 | 
             
                  if now_menu.display_menu
         | 
| 97 | 
            -
                    # !!b
         | 
| 98 97 | 
             
                    break if run_yield(:end_of_cli, &block) == :exit
         | 
| 99 | 
            -
                    # !!b
         | 
| 100 98 |  | 
| 101 99 | 
             
                    exit_when_bq_empty = false
         | 
| 102 100 | 
             
                    run_yield :display_menu, &block
         | 
| 103 | 
            -
                    # !!b
         | 
| 104 101 |  | 
| 105 102 | 
             
                    choice = run_yield :user_choice, &block
         | 
| 106 | 
            -
                    # !!b
         | 
| 107 103 | 
             
                    break if choice == :break
         | 
| 108 | 
            -
                    # !!b
         | 
| 109 104 |  | 
| 110 105 | 
             
                    raise BlockMissing, 'Block not recognized.' if choice.nil?
         | 
| 111 106 | 
             
                    # Exit loop and method to terminate the app
         | 
| @@ -120,9 +115,7 @@ class InputSequencer | |
| 120 115 | 
             
                    if now_menu.block_name && !now_menu.block_name.empty?
         | 
| 121 116 | 
             
                      block_name = now_menu.block_name
         | 
| 122 117 | 
             
                    else
         | 
| 123 | 
            -
                      # break if bq_is_empty? # Exit loop if no more blocks to process
         | 
| 124 118 | 
             
                      if bq_is_empty? # Exit loop if no more blocks to process
         | 
| 125 | 
            -
                        # !!b
         | 
| 126 119 | 
             
                        run_yield :end_of_cli, &block
         | 
| 127 120 | 
             
                        break
         | 
| 128 121 | 
             
                      end
         | 
    
        data/lib/markdown_exec.rb
    CHANGED
    
    | @@ -6,6 +6,7 @@ | |
| 6 6 | 
             
            require 'English'
         | 
| 7 7 | 
             
            require 'clipboard'
         | 
| 8 8 | 
             
            require 'fileutils'
         | 
| 9 | 
            +
            require 'io/console'
         | 
| 9 10 | 
             
            require 'open3'
         | 
| 10 11 | 
             
            require 'optparse'
         | 
| 11 12 | 
             
            require 'shellwords'
         | 
| @@ -405,6 +406,7 @@ module MarkdownExec | |
| 405 406 | 
             
                #
         | 
| 406 407 | 
             
                def execute_block_with_error_handling
         | 
| 407 408 | 
             
                  finalize_cli_argument_processing
         | 
| 409 | 
            +
                  @options.register_console_attributes(@options)    
         | 
| 408 410 | 
             
                  execute_initial_commands_and_main_loop(@options, @options.run_state)
         | 
| 409 411 | 
             
                rescue FileMissingError
         | 
| 410 412 | 
             
                  warn "File missing: #{$!}"
         | 
| @@ -991,6 +993,7 @@ module MarkdownExec | |
| 991 993 | 
             
                end
         | 
| 992 994 |  | 
| 993 995 | 
             
                def select_document_if_multiple(files = list_markdown_files_in_path,
         | 
| 996 | 
            +
                                                cycle: true,
         | 
| 994 997 | 
             
                                                prompt: options[:prompt_select_md].to_s)
         | 
| 995 998 | 
             
                  return files[0] if (count = files.count) == 1
         | 
| 996 999 |  | 
| @@ -1004,7 +1007,9 @@ module MarkdownExec | |
| 1004 1007 | 
             
                                   :prompt_color_after_script_execution
         | 
| 1005 1008 | 
             
                                 ),
         | 
| 1006 1009 | 
             
                    files,
         | 
| 1007 | 
            -
                    opts.merge( | 
| 1010 | 
            +
                    HashDelegator.options_for_tty_menu(opts).merge(
         | 
| 1011 | 
            +
                      cycle: cycle
         | 
| 1012 | 
            +
                    )
         | 
| 1008 1013 | 
             
                  )
         | 
| 1009 1014 | 
             
                end
         | 
| 1010 1015 |  | 
    
        data/lib/menu.src.yml
    CHANGED
    
    | @@ -102,11 +102,11 @@ | |
| 102 102 | 
             
              :default: true
         | 
| 103 103 | 
             
              :procname: val_as_bool
         | 
| 104 104 |  | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 105 | 
            +
            - :opt_name: command_substitution_regexp
         | 
| 106 | 
            +
              :env_var: MDE_COMMAND_SUBSTITUTION_REGEXP
         | 
| 107 | 
            +
              :description: command_substitution_regexp
         | 
| 108 | 
            +
              :default: "(?<expression>\\$\\((?<command>([^()]*(\\([^()]*\\))*[^()]*)*)\\))"
         | 
| 109 | 
            +
              :procname: val_as_str
         | 
| 110 110 |  | 
| 111 111 | 
             
            - :long_name: config
         | 
| 112 112 | 
             
              :description: Read configuration file
         | 
| @@ -462,7 +462,7 @@ | |
| 462 462 |  | 
| 463 463 | 
             
            - :opt_name: heading1_match
         | 
| 464 464 | 
             
              :env_var: MDE_HEADING1_MATCH
         | 
| 465 | 
            -
              :default: " | 
| 465 | 
            +
              :default: "^(?<indent>[ \t]*)#(?<collapse>[+-~]?)(?<leading>[ \t]*)(?<line>(?!#)(?<text>.*?))?(?<trailing>[ \t]*)$"
         | 
| 466 466 | 
             
              :procname: val_as_str
         | 
| 467 467 |  | 
| 468 468 | 
             
            - :opt_name: heading2_center
         | 
| @@ -482,7 +482,8 @@ | |
| 482 482 |  | 
| 483 483 | 
             
            - :opt_name: heading2_match
         | 
| 484 484 | 
             
              :env_var: MDE_HEADING2_MATCH
         | 
| 485 | 
            -
              :default: " | 
| 485 | 
            +
              :default: "^(?<indent>[ \t]*)#{2}(?<collapse>[+-~]?)(?<leading>[ \t]*)(?<line>(?!#)(?<text>.*?))?(?<trailing>[ \t]*)$"
         | 
| 486 | 
            +
             | 
| 486 487 | 
             
              :procname: val_as_str
         | 
| 487 488 |  | 
| 488 489 | 
             
            - :opt_name: heading3_center
         | 
| @@ -502,7 +503,7 @@ | |
| 502 503 |  | 
| 503 504 | 
             
            - :opt_name: heading3_match
         | 
| 504 505 | 
             
              :env_var: MDE_HEADING3_MATCH
         | 
| 505 | 
            -
              :default: " | 
| 506 | 
            +
              :default: "^(?<indent>[ \t]*)#{3}(?<collapse>[+-~]?)(?<gap>[ \t]*)(?<line>(?!#)(?<text>.*?))?(?<trailing>[ \t]*)$"
         | 
| 506 507 | 
             
              :procname: val_as_str
         | 
| 507 508 |  | 
| 508 509 | 
             
            - :long_name: help
         | 
| @@ -994,7 +995,7 @@ | |
| 994 995 | 
             
            - :opt_name: menu_table_rows_match
         | 
| 995 996 | 
             
              :env_var: MDE_MENU_TABLE_ROWS_MATCH
         | 
| 996 997 | 
             
              :description: Pattern for table rows
         | 
| 997 | 
            -
              :default: '^(?< | 
| 998 | 
            +
              :default: '^(?<indent>[ \t]*)(?<line>(?<text>\|.*?)(?<trailing>[ \t]*))$'
         | 
| 998 999 | 
             
              :procname: val_as_str
         | 
| 999 1000 |  | 
| 1000 1001 | 
             
            - :opt_name: menu_task_color
         | 
| @@ -1256,6 +1257,12 @@ | |
| 1256 1257 | 
             
              :default: Other
         | 
| 1257 1258 | 
             
              :procname: val_as_str
         | 
| 1258 1259 |  | 
| 1260 | 
            +
            - :opt_name: prompt_margin_left_text
         | 
| 1261 | 
            +
              :env_var: MDE_PROMPT_MARGIN_LEFT_TEXT
         | 
| 1262 | 
            +
              :description: prompt_margin_left_text
         | 
| 1263 | 
            +
              :default: "» "
         | 
| 1264 | 
            +
              :procname: val_as_str
         | 
| 1265 | 
            +
             | 
| 1259 1266 | 
             
            - :opt_name: prompt_no
         | 
| 1260 1267 | 
             
              :env_var: MDE_PROMPT_NO
         | 
| 1261 1268 | 
             
              :description: Prompt for no
         | 
| @@ -1455,6 +1462,12 @@ | |
| 1455 1462 | 
             
              :default: mde_*.out.txt
         | 
| 1456 1463 | 
             
              :procname: val_as_str
         | 
| 1457 1464 |  | 
| 1465 | 
            +
            - :opt_name: screen_width
         | 
| 1466 | 
            +
              :env_var: MDE_SCREEN_WIDTH
         | 
| 1467 | 
            +
              :description: Screen width for document and interface. 0 to use the actual dimension.
         | 
| 1468 | 
            +
              :default: 0
         | 
| 1469 | 
            +
              :procname: val_as_int
         | 
| 1470 | 
            +
             | 
| 1458 1471 | 
             
            - :opt_name: script_execution_frame_color
         | 
| 1459 1472 | 
             
              :env_var: MDE_SCRIPT_EXECUTION_FRAME_COLOR
         | 
| 1460 1473 | 
             
              :description: script_execution_frame_color
         | 
    
        data/lib/menu.yml
    CHANGED
    
    | @@ -83,6 +83,11 @@ | |
| 83 83 | 
             
              :arg_name: BOOL
         | 
| 84 84 | 
             
              :default: true
         | 
| 85 85 | 
             
              :procname: val_as_bool
         | 
| 86 | 
            +
            - :opt_name: command_substitution_regexp
         | 
| 87 | 
            +
              :env_var: MDE_COMMAND_SUBSTITUTION_REGEXP
         | 
| 88 | 
            +
              :description: command_substitution_regexp
         | 
| 89 | 
            +
              :default: "(?<expression>\\$\\((?<command>([^()]*(\\([^()]*\\))*[^()]*)*)\\))"
         | 
| 90 | 
            +
              :procname: val_as_str
         | 
| 86 91 | 
             
            - :long_name: config
         | 
| 87 92 | 
             
              :description: Read configuration file
         | 
| 88 93 | 
             
              :arg_name: PATH
         | 
| @@ -386,8 +391,8 @@ | |
| 386 391 | 
             
              :procname: val_as_bool
         | 
| 387 392 | 
             
            - :opt_name: heading1_match
         | 
| 388 393 | 
             
              :env_var: MDE_HEADING1_MATCH
         | 
| 389 | 
            -
              :default: " | 
| 390 | 
            -
                \t]*) | 
| 394 | 
            +
              :default: "^(?<indent>[ \t]*)#(?<collapse>[+-~]?)(?<leading>[ \t]*)(?<line>(?!#)(?<text>.*?))?(?<trailing>[
         | 
| 395 | 
            +
                \t]*)$"
         | 
| 391 396 | 
             
              :procname: val_as_str
         | 
| 392 397 | 
             
            - :opt_name: heading2_center
         | 
| 393 398 | 
             
              :env_var: MDE_HEADING2_CENTER
         | 
| @@ -403,8 +408,8 @@ | |
| 403 408 | 
             
              :procname: val_as_bool
         | 
| 404 409 | 
             
            - :opt_name: heading2_match
         | 
| 405 410 | 
             
              :env_var: MDE_HEADING2_MATCH
         | 
| 406 | 
            -
              :default: " | 
| 407 | 
            -
                \t]*) | 
| 411 | 
            +
              :default: "^(?<indent>[ \t]*)#{2}(?<collapse>[+-~]?)(?<leading>[ \t]*)(?<line>(?!#)(?<text>.*?))?(?<trailing>[
         | 
| 412 | 
            +
                \t]*)$"
         | 
| 408 413 | 
             
              :procname: val_as_str
         | 
| 409 414 | 
             
            - :opt_name: heading3_center
         | 
| 410 415 | 
             
              :env_var: MDE_HEADING3_CENTER
         | 
| @@ -420,8 +425,8 @@ | |
| 420 425 | 
             
              :procname: val_as_bool
         | 
| 421 426 | 
             
            - :opt_name: heading3_match
         | 
| 422 427 | 
             
              :env_var: MDE_HEADING3_MATCH
         | 
| 423 | 
            -
              :default: " | 
| 424 | 
            -
                \t]*) | 
| 428 | 
            +
              :default: "^(?<indent>[ \t]*)#{3}(?<collapse>[+-~]?)(?<gap>[ \t]*)(?<line>(?!#)(?<text>.*?))?(?<trailing>[
         | 
| 429 | 
            +
                \t]*)$"
         | 
| 425 430 | 
             
              :procname: val_as_str
         | 
| 426 431 | 
             
            - :long_name: help
         | 
| 427 432 | 
             
              :short_name: h
         | 
| @@ -833,7 +838,7 @@ | |
| 833 838 | 
             
            - :opt_name: menu_table_rows_match
         | 
| 834 839 | 
             
              :env_var: MDE_MENU_TABLE_ROWS_MATCH
         | 
| 835 840 | 
             
              :description: Pattern for table rows
         | 
| 836 | 
            -
              :default: "^(?< | 
| 841 | 
            +
              :default: "^(?<indent>[ \\t]*)(?<line>(?<text>\\|.*?)(?<trailing>[ \\t]*))$"
         | 
| 837 842 | 
             
              :procname: val_as_str
         | 
| 838 843 | 
             
            - :opt_name: menu_task_color
         | 
| 839 844 | 
             
              :env_var: MDE_MENU_TASK_COLOR
         | 
| @@ -1059,6 +1064,11 @@ | |
| 1059 1064 | 
             
              :description: User wants a custom file name
         | 
| 1060 1065 | 
             
              :default: Other
         | 
| 1061 1066 | 
             
              :procname: val_as_str
         | 
| 1067 | 
            +
            - :opt_name: prompt_margin_left_text
         | 
| 1068 | 
            +
              :env_var: MDE_PROMPT_MARGIN_LEFT_TEXT
         | 
| 1069 | 
            +
              :description: prompt_margin_left_text
         | 
| 1070 | 
            +
              :default: "» "
         | 
| 1071 | 
            +
              :procname: val_as_str
         | 
| 1062 1072 | 
             
            - :opt_name: prompt_no
         | 
| 1063 1073 | 
             
              :env_var: MDE_PROMPT_NO
         | 
| 1064 1074 | 
             
              :description: Prompt for no
         | 
| @@ -1237,6 +1247,11 @@ | |
| 1237 1247 | 
             
              :arg_name: GLOB
         | 
| 1238 1248 | 
             
              :default: mde_*.out.txt
         | 
| 1239 1249 | 
             
              :procname: val_as_str
         | 
| 1250 | 
            +
            - :opt_name: screen_width
         | 
| 1251 | 
            +
              :env_var: MDE_SCREEN_WIDTH
         | 
| 1252 | 
            +
              :description: Screen width for document and interface. 0 to use the actual dimension.
         | 
| 1253 | 
            +
              :default: 0
         | 
| 1254 | 
            +
              :procname: val_as_int
         | 
| 1240 1255 | 
             
            - :opt_name: script_execution_frame_color
         | 
| 1241 1256 | 
             
              :env_var: MDE_SCRIPT_EXECUTION_FRAME_COLOR
         | 
| 1242 1257 | 
             
              :description: script_execution_frame_color
         | 
    
        data/lib/ww.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: markdown_exec
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.7.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Fareed Stevenson
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024- | 
| 11 | 
            +
            date: 2024-12-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: clipboard
         | 
| @@ -70,16 +70,16 @@ dependencies: | |
| 70 70 | 
             
              name: yaml
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 72 | 
             
                requirements:
         | 
| 73 | 
            -
                - - " | 
| 73 | 
            +
                - - "~>"
         | 
| 74 74 | 
             
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            -
                    version: 0.2 | 
| 75 | 
            +
                    version: '0.2'
         | 
| 76 76 | 
             
              type: :runtime
         | 
| 77 77 | 
             
              prerelease: false
         | 
| 78 78 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 79 | 
             
                requirements:
         | 
| 80 | 
            -
                - - " | 
| 80 | 
            +
                - - "~>"
         | 
| 81 81 | 
             
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            -
                    version: 0.2 | 
| 82 | 
            +
                    version: '0.2'
         | 
| 83 83 | 
             
            description: Interactively select and execute fenced code blocks in markdown files.
         | 
| 84 84 | 
             
              Build complex scripts by naming and requiring blocks. Log resulting scripts and
         | 
| 85 85 | 
             
              output. Re-run scripts.
         | 
| @@ -109,6 +109,7 @@ files: | |
| 109 109 | 
             
            - bats/bats.bats
         | 
| 110 110 | 
             
            - bats/block-types.bats
         | 
| 111 111 | 
             
            - bats/cli.bats
         | 
| 112 | 
            +
            - bats/command-substitution.bats
         | 
| 112 113 | 
             
            - bats/fail.bats
         | 
| 113 114 | 
             
            - bats/history.bats
         | 
| 114 115 | 
             
            - bats/import.bats
         | 
| @@ -116,6 +117,7 @@ files: | |
| 116 117 | 
             
            - bats/mde.bats
         | 
| 117 118 | 
             
            - bats/options-collapse.bats
         | 
| 118 119 | 
             
            - bats/options.bats
         | 
| 120 | 
            +
            - bats/plain.bats
         | 
| 119 121 | 
             
            - bats/publish.bats
         | 
| 120 122 | 
             
            - bats/table.bats
         | 
| 121 123 | 
             
            - bats/test_helper.bash
         | 
| @@ -132,20 +134,25 @@ files: | |
| 132 134 | 
             
            - docs/dev/block-type-opts.md
         | 
| 133 135 | 
             
            - docs/dev/block-type-port.md
         | 
| 134 136 | 
             
            - docs/dev/block-type-vars.md
         | 
| 137 | 
            +
            - docs/dev/command-substitution.md
         | 
| 135 138 | 
             
            - docs/dev/data-blocks.md
         | 
| 136 139 | 
             
            - docs/dev/disable.md
         | 
| 137 140 | 
             
            - docs/dev/import-missing.md
         | 
| 138 141 | 
             
            - docs/dev/import.md
         | 
| 139 142 | 
             
            - docs/dev/linked-file.md
         | 
| 143 | 
            +
            - docs/dev/load1.sh
         | 
| 144 | 
            +
            - docs/dev/load_code.md
         | 
| 140 145 | 
             
            - docs/dev/manage-saved-documents.md
         | 
| 141 146 | 
             
            - docs/dev/menu-cli.md
         | 
| 147 | 
            +
            - docs/dev/no-active-elements.md
         | 
| 142 148 | 
             
            - docs/dev/options-collapse.md
         | 
| 143 149 | 
             
            - docs/dev/pass-through-arguments.md
         | 
| 144 150 | 
             
            - docs/dev/requiring-blocks.md
         | 
| 151 | 
            +
            - docs/dev/screen-width.md
         | 
| 145 152 | 
             
            - docs/dev/specs-import.md
         | 
| 146 153 | 
             
            - docs/dev/specs.md
         | 
| 147 | 
            -
            - docs/dev/table-crash.md
         | 
| 148 154 | 
             
            - docs/dev/table-indent.md
         | 
| 155 | 
            +
            - docs/dev/table-invalid.md
         | 
| 149 156 | 
             
            - docs/dev/text-decoration.md
         | 
| 150 157 | 
             
            - docs/dev/variable-expansion.md
         | 
| 151 158 | 
             
            - examples/bash-blocks.md
         | 
| @@ -156,6 +163,7 @@ files: | |
| 156 163 | 
             
            - examples/data-files.md
         | 
| 157 164 | 
             
            - examples/document_options.md
         | 
| 158 165 | 
             
            - examples/duplicate_block.md
         | 
| 166 | 
            +
            - examples/example-document-opts.md
         | 
| 159 167 | 
             
            - examples/import0.md
         | 
| 160 168 | 
             
            - examples/import1.md
         | 
| 161 169 | 
             
            - examples/include.md
         | 
| @@ -172,9 +180,7 @@ files: | |
| 172 180 | 
             
            - examples/linked3.md
         | 
| 173 181 | 
             
            - examples/linked_show.md
         | 
| 174 182 | 
             
            - examples/llm.md
         | 
| 175 | 
            -
            - examples/load1.sh
         | 
| 176 183 | 
             
            - examples/load2.sh
         | 
| 177 | 
            -
            - examples/load_code.md
         | 
| 178 184 | 
             
            - examples/nickname.md
         | 
| 179 185 | 
             
            - examples/opts-blocks-require.md
         | 
| 180 186 | 
             
            - examples/opts-blocks.md
         | 
| @@ -188,6 +194,7 @@ files: | |
| 188 194 | 
             
            - examples/table-markup.md
         | 
| 189 195 | 
             
            - examples/text-markup.md
         | 
| 190 196 | 
             
            - examples/title.md
         | 
| 197 | 
            +
            - examples/variable-expansion-save-block.md
         | 
| 191 198 | 
             
            - examples/variable-expansion.md
         | 
| 192 199 | 
             
            - examples/vars-blocks.md
         | 
| 193 200 | 
             
            - examples/wrap.md
         | 
    
        data/docs/dev/table-crash.md
    DELETED
    
    | @@ -1,39 +0,0 @@ | |
| 1 | 
            -
            / The lines below are an invalid table
         | 
| 2 | 
            -
            | Region| VPC ID| VPC Name
         | 
| 3 | 
            -
            -
         | 
| 4 | 
            -
            # Demonstrate Tables
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            Table flush at left.
         | 
| 7 | 
            -
            Centered columns.
         | 
| 8 | 
            -
            | Common Name| Species| Genus| Family| Year Discovered
         | 
| 9 | 
            -
            |:-:|:-:|:-:|:-:|:-:
         | 
| 10 | 
            -
            | Tapanuli Orangutan| Pongo tapanuliensis| Pongo| Hominidae| 2017
         | 
| 11 | 
            -
            | Psychedelic Frogfish| Histiophryne psychedelica| Histiophryne| Antennariidae| 2009
         | 
| 12 | 
            -
            | Ruby Seadragon| Phyllopteryx dewysea| Phyllopteryx| Syngnathidae| 2015
         | 
| 13 | 
            -
             | 
| 14 | 
            -
              Table indented with two spaces.
         | 
| 15 | 
            -
              Left-justified columns.
         | 
| 16 | 
            -
              | Common Name| Species| Genus| Family| Year Discovered
         | 
| 17 | 
            -
              |:-|:-|:-|:-|:-
         | 
| 18 | 
            -
              | Illacme tobini (Millipede)| Illacme tobini| Illacme| Siphonorhinidae| 2016
         | 
| 19 | 
            -
              | Cappuccino Snake| Hydrodynastes bicinctus| Hydrodynastes| Colubridae| 2021
         | 
| 20 | 
            -
              | Homo luzonensis| Homo luzonensis| Homo| Hominidae| 2019
         | 
| 21 | 
            -
             | 
| 22 | 
            -
            	Table indented with one tab.
         | 
| 23 | 
            -
            	Right-justified columns.
         | 
| 24 | 
            -
            	| Common Name| Species| Genus| Family| Year Discovered
         | 
| 25 | 
            -
            	|-:|-:|-:|-:|-:
         | 
| 26 | 
            -
            	| Spiny Dandelion| Taraxacum japonicum| Taraxacum| Asteraceae| 2022
         | 
| 27 | 
            -
            	| Mythical Monkey| Cercopithecus lomamiensis| Cercopithecus| Cercopithecidae| 2012
         | 
| 28 | 
            -
            	| Yeti Crab| Kiwa hirsuta| Kiwa| Kiwaidae| 2005
         | 
| 29 | 
            -
             | 
| 30 | 
            -
            ## Non-table text is not modified
         | 
| 31 | 
            -
            1. |
         | 
| 32 | 
            -
            2. ||
         | 
| 33 | 
            -
                |
         | 
| 34 | 
            -
                ||
         | 
| 35 | 
            -
             | 
| 36 | 
            -
            ## markup with table
         | 
| 37 | 
            -
            | Common Name| Species| Genus| Family| Year Discovered
         | 
| 38 | 
            -
            |:-:|:-:|:-:|:-:|:-:
         | 
| 39 | 
            -
            | `Tapanuli Orangutan`| **Pongo tapanuliensis**| __Pongo__| Hominidae| 2017
         | 
    
        data/examples/load_code.md
    DELETED
    
    | @@ -1,10 +0,0 @@ | |
| 1 | 
            -
            Demonstrate loading inherited code via the command line.
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            Run this command to display the inherited code.
         | 
| 4 | 
            -
            `mde --load-code examples/load1.sh examples/load_code.md display_variables`
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            ```bash :display_variables
         | 
| 7 | 
            -
            source bin/colorize_env_vars.sh
         | 
| 8 | 
            -
            echo The current value of environment variables:
         | 
| 9 | 
            -
            colorize_env_vars '' var1 var2
         | 
| 10 | 
            -
            ```
         | 
| 
            File without changes
         |