markdown_exec 3.5.1 → 3.6.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.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.ai-agent-instructions +54 -0
  3. data/.cursorrules +198 -0
  4. data/.rubocop.wide.yml +5 -0
  5. data/.rubocop.yml +7 -2
  6. data/CHANGELOG.md +19 -1
  7. data/Gemfile.lock +1 -1
  8. data/README.md +1 -1
  9. data/Rakefile +2 -0
  10. data/ai-principles.md +516 -0
  11. data/architecture-decisions.md +190 -0
  12. data/bats/block-hide.bats +1 -1
  13. data/bats/block-type-bash.bats +5 -5
  14. data/bats/block-type-link.bats +1 -1
  15. data/bats/block-type-opts.bats +3 -3
  16. data/bats/block-type-port.bats +2 -2
  17. data/bats/block-type-shell-context-eval.bats +48 -0
  18. data/bats/block-type-shell-require-ux.bats +2 -2
  19. data/bats/block-type-ux-allowed.bats +4 -4
  20. data/bats/block-type-ux-auto.bats +1 -1
  21. data/bats/block-type-ux-chained.bats +1 -1
  22. data/bats/block-type-ux-default.bats +1 -1
  23. data/bats/block-type-ux-echo-hash-transform.bats +1 -1
  24. data/bats/block-type-ux-echo-hash.bats +2 -2
  25. data/bats/block-type-ux-echo.bats +4 -4
  26. data/bats/block-type-ux-exec-hash-transform.bats +1 -1
  27. data/bats/block-type-ux-exec-hash.bats +2 -2
  28. data/bats/block-type-ux-exec.bats +1 -1
  29. data/bats/block-type-ux-force.bats +2 -2
  30. data/bats/block-type-ux-formats.bats +1 -1
  31. data/bats/block-type-ux-hidden.bats +1 -1
  32. data/bats/block-type-ux-invalid.bats +2 -2
  33. data/bats/block-type-ux-readonly.bats +1 -1
  34. data/bats/block-type-ux-require-chained.bats +2 -2
  35. data/bats/block-type-ux-require-context.bats +2 -2
  36. data/bats/block-type-ux-require.bats +3 -3
  37. data/bats/block-type-ux-required-variables.bats +1 -1
  38. data/bats/block-type-ux-row-format.bats +1 -1
  39. data/bats/block-type-ux-sources.bats +4 -4
  40. data/bats/block-type-ux-transform.bats +1 -1
  41. data/bats/block-type-vars.bats +3 -3
  42. data/bats/border.bats +1 -1
  43. data/bats/cli.bats +11 -11
  44. data/bats/command-substitution-options.bats +2 -2
  45. data/bats/command-substitution.bats +1 -1
  46. data/bats/document-shell.bats +3 -3
  47. data/bats/history.bats +5 -5
  48. data/bats/import-conflict.bats +1 -1
  49. data/bats/import-directive-line-continuation.bats +1 -1
  50. data/bats/import-directive-parameter-symbols.bats +1 -1
  51. data/bats/import-duplicates.bats +6 -6
  52. data/bats/import-parameter-symbols.bats +1 -1
  53. data/bats/import-with-text-substitution.bats +1 -1
  54. data/bats/import.bats +4 -4
  55. data/bats/indented-block-type-vars.bats +1 -1
  56. data/bats/indented-multi-line-output.bats +1 -1
  57. data/bats/line-decor-dynamic.bats +1 -1
  58. data/bats/line-wrapping.bats +1 -1
  59. data/bats/load-vars-state-demo.bats +8 -8
  60. data/bats/markup.bats +4 -4
  61. data/bats/mde.bats +4 -4
  62. data/bats/option-expansion.bats +1 -1
  63. data/bats/options-collapse.bats +4 -4
  64. data/bats/options.bats +47 -17
  65. data/bats/plain.bats +1 -1
  66. data/bats/publish.bats +2 -2
  67. data/bats/table-column-truncate.bats +1 -1
  68. data/bats/table.bats +2 -2
  69. data/bats/variable-expansion-multiline.bats +1 -1
  70. data/bats/variable-expansion.bats +6 -6
  71. data/bin/tab_completion.sh +3 -3
  72. data/conversation-template.md +611 -0
  73. data/docs/block-execution-modes.md +177 -0
  74. data/docs/block-filtering.md +252 -0
  75. data/docs/block-naming-patterns.md +210 -0
  76. data/docs/block-scanning-patterns.md +248 -0
  77. data/docs/cli-reference.md +370 -0
  78. data/docs/dev/bats-document-configuration.md +1 -1
  79. data/docs/dev/block-hide.md +1 -1
  80. data/docs/dev/block-type-shell-context-eval.md +52 -0
  81. data/docs/dev/block-type-shell-require-ux.md +6 -2
  82. data/docs/dev/block-type-ux-echo.md +3 -3
  83. data/docs/dev/block-type-ux-force.md +1 -1
  84. data/docs/dev/block-type-ux-require-chained.md +1 -1
  85. data/docs/dev/block-type-ux-require.md +2 -2
  86. data/docs/dev/block-type-ux-transform.md +5 -4
  87. data/docs/dev/import-parameter-symbols.md +1 -1
  88. data/docs/dev/linked-file.md +1 -1
  89. data/docs/dev/load-vars-state-demo.md +1 -1
  90. data/docs/dev/print_bytes.md +3 -0
  91. data/docs/dev/requiring-blocks.md +1 -1
  92. data/docs/dev/shebang.md +6 -0
  93. data/docs/dev/specs.md +2 -2
  94. data/docs/docker-testing.md +5 -0
  95. data/docs/execution-control.md +384 -0
  96. data/docs/getting-started.md +209 -0
  97. data/docs/import-options.md +391 -0
  98. data/docs/shell-script-evaluation.md +78 -0
  99. data/docs/tab-completion.md +7 -0
  100. data/docs/ux-blocks.md +376 -0
  101. data/examples/link-blocks-vars.md +2 -2
  102. data/examples/linked.md +1 -1
  103. data/examples/linked1.md +1 -1
  104. data/examples/opts-blocks.md +2 -2
  105. data/examples/port-blocks.md +1 -1
  106. data/examples/variable-expansion.md +1 -1
  107. data/implementation-decisions.md +212 -0
  108. data/lib/cached_nested_file_reader.rb +145 -5
  109. data/lib/command_result.rb +27 -6
  110. data/lib/executed_shell_command.rb +512 -0
  111. data/lib/filter.rb +7 -7
  112. data/lib/hash_delegator.rb +699 -605
  113. data/lib/input_sequencer.rb +4 -3
  114. data/lib/link_history.rb +95 -36
  115. data/lib/markdown_exec/version.rb +1 -1
  116. data/lib/mdoc.rb +138 -51
  117. data/lib/menu.src.yml +115 -88
  118. data/lib/menu.yml +154 -88
  119. data/lib/transformed_shell_command.rb +449 -0
  120. data/lib/wl.rb +15 -0
  121. data/lib/ww.rb +17 -6
  122. data/requirements.md +111 -0
  123. data/semantic-tokens.md +132 -0
  124. data/tasks.md +69 -0
  125. metadata +29 -4
  126. data/docs/ux-blocks-examples.md +0 -120
  127. data/docs/ux-blocks-init-act.md +0 -100
data/bats/options.bats CHANGED
@@ -4,59 +4,89 @@ load 'test_helper'
4
4
 
5
5
  # Defaults
6
6
 
7
- @test 'Options - document and block name' {
7
+ @test 'executes block from document' {
8
8
  run_mde_specs_md_args_expect_xansi bash1 \
9
9
  ' bash1!'
10
10
  }
11
11
 
12
12
  # Options
13
13
 
14
- @test 'Options - block-name' {
14
+ @test 'executes block using block-name option' {
15
15
  BATS_OUTPUT_FILTER=A
16
16
  spec_mde_args_expect --block-name bash1 docs/dev/specs.md \
17
17
  ' bash1!'
18
18
  }
19
19
 
20
- @test 'Options - find, find-path in directory names' {
20
+ @test 'find-path searches directory names' {
21
21
  run_mde_specs_md_args_expect_xansi --find-path ./docs --find search \
22
22
  'Searching in: ./docs In directory names ./docs/research In file names ./docs/dev/import-substitution-research.md'
23
23
  }
24
24
 
25
- @test 'Options - find, find-path in file names' {
25
+ @test 'find-path searches file names' {
26
26
  run_mde_specs_md_args_expect_xansi --find-path ./examples --find search \
27
27
  'Searching in: ./examples In file names ./examples/search.md'
28
28
  }
29
29
 
30
- @test 'Options - list blocks' {
30
+ @test 'lists blocks' {
31
31
  BATS_OUTPUT_FILTER=A
32
32
  spec_mde_args_expect --list-blocks-message oname --list-blocks-type 0 examples/colors.md --list-blocks \
33
33
  'load_colors load_colors2 Unspecified1 Unknown1 Bash1 Edit-inherited-blocks History1 Link1 Load1 Opts1 Port1 Save1 Vars1'
34
34
  }
35
35
 
36
- @test 'Options - list blocks, eval' {
36
+ @test 'lists blocks with eval' {
37
37
  BATS_OUTPUT_FILTER=A
38
38
  spec_mde_args_expect --list-blocks-eval block.oname examples/colors.md --list-blocks \
39
39
  'load_colors load_colors2 Unspecified1 Unknown1 Bash1 Edit-inherited-blocks History1 Link1 Load1 Opts1 Port1 Save1 Vars1'
40
40
  }
41
41
 
42
- @test 'Options - how' {
42
+ @test 'shows how option format' {
43
43
  spec_mde_args_expect --how how \
44
- "prompt_show_expr_format: 'Expr: %{expr}' # prompt_show_expr_format"
44
+ "prompt_show_expr_format: 'Expr: %{expr}' # Format string for displaying expression values in prompts"
45
45
  }
46
46
 
47
- @test 'Options - list-default-env' {
47
+ @test 'hide_shebang default value in environment variables output' {
48
+ # [REQ:SHEBANG_HIDING] Verify hide_shebang option appears with default value in env output
49
+ # [IMPL:CLI_OPTION_IMPLEMENTATION] [ARCH:CLI_OPTION_DESIGN] [REQ:SHEBANG_HIDING]
48
50
  BATS_OUTPUT_GREP=SHEBANG
49
51
  spec_mde_args_expect --list-default-env \
50
- "MDE_SHEBANG=\#\!/usr/bin/env # Shebang for saved scripts"
52
+ "MDE_HIDE_SHEBANG=t # Hide shebang lines in document output
53
+ MDE_SHEBANG=\#\!/usr/bin/env # Shebang for saved scripts"
51
54
  }
52
55
 
53
- @test 'Options - list-default-yaml' {
56
+ @test 'hide_shebang default value in YAML output' {
57
+ # [REQ:SHEBANG_HIDING] Verify hide_shebang option appears with default value in YAML output
58
+ # [IMPL:CLI_OPTION_IMPLEMENTATION] [ARCH:CLI_OPTION_DESIGN] [REQ:SHEBANG_HIDING]
59
+ BATS_OUTPUT_FILTER=A
54
60
  BATS_OUTPUT_GREP=shebang
55
61
  spec_mde_args_expect --list-default-yaml \
56
- "shebang: '#!/usr/bin/env' # Shebang for saved scripts"
62
+ "hide_shebang: true # Hide shebang lines in document output shebang: '#!/usr/bin/env' # Shebang for saved scripts"
63
+ }
64
+
65
+ @test 'shebang lines hidden by default in document processing' {
66
+ # [REQ:SHEBANG_HIDING] Verify shebang lines are filtered from document output by default
67
+ # [IMPL:SHEBANG_FILTERING] [ARCH:SHEBANG_EXTRACTION] [REQ:SHEBANG_HIDING]
68
+ BATS_OUTPUT_FILTER=A
69
+ spec_mde_args_expect docs/dev/shebang.md --blocks dname \
70
+ 'Demonstrate opening the document via Shebang. print-test'
71
+ }
72
+
73
+ @test 'markdown file with shebang executable directly' {
74
+ # [REQ:SHEBANG_HIDING] Verify markdown files with shebang can be executed directly
75
+ # [ARCH:SHEBANG_EXTRACTION] [REQ:SHEBANG_HIDING]
76
+ output="$(./docs/dev/shebang.md --blocks dname)"
77
+ output="$(remove_ansi_escape_sequences "$output")"
78
+ [[ "$output" == "Demonstrate opening the document via Shebang. print-test" ]]
79
+ }
80
+
81
+ @test 'shebang file executes specified block name directly' {
82
+ # [REQ:SHEBANG_HIDING] Verify shebang files can execute specific blocks when block name provided
83
+ # [ARCH:SHEBANG_EXTRACTION] [REQ:SHEBANG_HIDING]
84
+ output="$(./docs/dev/shebang.md print-test)"
85
+ output="$(remove_ansi_escape_sequences "$output")"
86
+ [[ "$output" == " Test" ]]
57
87
  }
58
88
 
59
- @test 'Options - list-docs, path' {
89
+ @test 'lists documents in path' {
60
90
  BATS_OUTPUT_FILTER=A
61
91
  BATS_OUTPUT_GREP=specs
62
92
  spec_mde_args_expect --path docs/dev --list-docs \
@@ -71,26 +101,26 @@ load 'test_helper'
71
101
  # "?"
72
102
  # }
73
103
 
74
- @test 'Options - load-code' {
104
+ @test 'loads code from file' {
75
105
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/load_code.md \
76
106
  --load-code docs/dev/load1.sh \
77
107
  --blocks dname \
78
108
  'Demonstrate loading inherited code via the command line.__Run this command to display the inherited code._mde --load-code docs/dev/load1.sh docs/dev/load_code.md__| Variable | Value |_| -------- | ----- |_| var1 | line2 |_| var2 | line4 |'
79
109
  }
80
110
 
81
- @test 'Options - pwd' {
111
+ @test 'prints working directory' {
82
112
  spec_mde_args_expect --pwd \
83
113
  $(pwd)
84
114
  }
85
115
 
86
- @test 'Options - tab-completions' {
116
+ @test 'shows tab completions' {
87
117
  BATS_OUTPUT_FILTER=A
88
118
  BATS_OUTPUT_GREP=find
89
119
  spec_mde_args_expect --tab-completions \
90
120
  '--find --find-path'
91
121
  }
92
122
 
93
- @test 'Options - version' {
123
+ @test 'displays version' {
94
124
  version=$(grep VERSION "lib/markdown_exec/version.rb" | cut -d "'" -f 2)
95
125
  spec_mde_args_expect --version \
96
126
  "$version"
data/bats/plain.bats CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  load 'test_helper'
4
4
 
5
- @test 'no-active-elements' {
5
+ @test 'renders document with no active elements' {
6
6
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/no-active-elements.md \
7
7
  'DEMONSTRATE A DOCUMENT WITH NO ACTIVE ELEMENTS_A document with no active elements.'
8
8
  }
data/bats/publish.bats CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  load 'test_helper'
4
4
 
5
- @test 'Publish document file name - mode: write, name, format' {
5
+ @test 'writes document name to file with format' {
6
6
  export MDE_PUBLISH_DOCUMENT_NAME_FORMAT='- %{document}'
7
7
  run bin/bmde \
8
8
  --publish-document-file-mode write \
@@ -12,7 +12,7 @@ load 'test_helper'
12
12
  [[ "$(cat /tmp/mde_file)" == "- ./docs/dev/specs.md" ]]
13
13
  }
14
14
 
15
- @test 'Publish block name - mode: write, name, format' {
15
+ @test 'appends document and block names to file with format' {
16
16
  [ -f /tmp/mde_file ] && rm /tmp/mde_file
17
17
  export MDE_PUBLISH_BLOCK_NAME_FORMAT='++%{block}'
18
18
  export MDE_PUBLISH_DOCUMENT_NAME_FORMAT='--%{document}'
@@ -2,7 +2,7 @@
2
2
 
3
3
  load 'test_helper'
4
4
 
5
- @test 'Tables - truncate columns' {
5
+ @test 'truncates text in table columns' {
6
6
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/table-column-truncate.md \
7
7
  'DEMONSTRATE TRUNCATION OF TEXT IN TABLE CELLS__| Common Name | Species | Genus | Family | Year Discover |_| ------------------- | ------------------ | -------- | ----------- | ------------- |_| Tapanuli Orangutan | Pongo tapanuliensi | Pongo | Hominidae | 2017 |_| Psychedelic Frogfis | Histiophryne psych | Histioph | Antennariid | 2009 |_| Ruby Seadragon | Phyllopteryx dewys | Phyllopt | Syngnathida | 2015 |_| Illacme tobini (Mil | Illacme tobini | Illacme | Siphonorhin | 2016 |_| Spiny Dandelion | Taraxacum japonicu | Taraxacu | Asteraceae | 2022 |_'
8
8
  }
data/bats/table.bats CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  load 'test_helper'
4
4
 
5
- @test 'Tables - indented' {
5
+ @test 'renders indented tables' {
6
6
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/table-indent.md \
7
7
  'DEMONSTRATE TABLE INDENTATION__Table flush at left._Centered columns._| Common Name | Species | Genus | Family | Year Discovered |_| ------------------ | ----------------------- | ----------- | ------------ | --------------- |_| Tapanuli Orangutan | Pongo tapanuliensis | Pongo | Hominidae | 2017 |_| Psychedelic Frogfi | Histiophryne psychedeli | Histiophryn | Antennariida | 2009 |_| Ruby Seadragon | Phyllopteryx dewysea | Phylloptery | Syngnathidae | 2015 |__ Table indented with two spaces._ Left-justified columns._ | Common Name | Species | Genus | Family | Year Discovered |_ | -------------------------- | -------------- | ------- | --------------- | --------------- |_ | Illacme tobini (Millipede) | Illacme tobini | Illacme | Siphonorhinidae | 2016 |__ Table indented with one tab._ Right-justified columns._ | Common Name | Species | Genus | Family | Year Discovered |_ | --------------- | ------------------- | --------- | ---------- | --------------- |_ | Spiny Dandelion | Taraxacum japonicum | Taraxacum | Asteraceae | 2022 |'
8
8
  }
9
9
 
10
- @test 'Tables - invalid' {
10
+ @test 'reports invalid table errors' {
11
11
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/table-invalid.md \
12
12
  'Missing column names__| ------------------- | - |_| Pongo tapanuliensis | |__Missing dividers__| Species_| Pongo tapanuliensis__Missing table rows__| Species |_| ------- |'
13
13
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  load 'test_helper'
4
4
 
5
- @test '' {
5
+ @test 'expands multiline variables in blocks' {
6
6
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/variable-expansion-multiline.md \
7
7
  'Genus2 = Pongo_Pongo_UX block:_Genus2=Pongo_Pongo_Command substitution:_Genus2 hex: 50 6f 6e 67 6f 0a 50 6f 6e 67 6f _Command substitution:_Genus2 text: Pongo_Pongo_Command substitution:_Gemfile_Gemfile.lock_Variable expansion:_Genus2 text: Pongo_Pongo'
8
8
  }
@@ -2,12 +2,12 @@
2
2
 
3
3
  load 'test_helper'
4
4
 
5
- @test 'Variable expansion - default' {
5
+ @test 'expands variables with default values' {
6
6
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/variable-expansion.md \
7
7
  'EVIDENCE_SOURCE is:_SOURCE is:_SOURCE is: _| SOURCE |_| ------ |__name_with_${SOURCE}_in_name_load: file_.sh_SOURCES'
8
8
  }
9
9
 
10
- @test 'Variable expansion - LINK_LOAD_SOURCE' {
10
+ @test 'expands variables from LINK_LOAD_SOURCE' {
11
11
  echo "SOURCE='Loaded file'" > temp_variable_expansion.sh
12
12
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/variable-expansion.md \
13
13
  '(LINK_LOAD_SOURCE)' \
@@ -15,13 +15,13 @@ load 'test_helper'
15
15
  rm temp_variable_expansion.sh
16
16
  }
17
17
 
18
- @test 'Variable expansion - LINK_VARS_SOURCE' {
18
+ @test 'expands variables from LINK_VARS_SOURCE' {
19
19
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/variable-expansion.md \
20
20
  '(LINK_VARS_SOURCE)' \
21
21
  'EVIDENCE_SOURCE is: Link block_SOURCE is: Link block_SOURCE is: Link block_| SOURCE |_| ---------- |_| Link block |_name_with_${SOURCE}_in_name_load: file_Link block.sh_SOURCES'
22
22
  }
23
23
 
24
- @test 'Variable expansion - VARS_SOURCE' {
24
+ @test 'expands variables from VARS_SOURCE' {
25
25
  spec_mde_xansi_dname_doc_blocks_expect docs/dev/variable-expansion.md \
26
26
  '(VARS_SOURCE)' \
27
27
  'EVIDENCE_SOURCE is: Vars block_SOURCE is: Vars block_SOURCE is: Vars block_| SOURCE |_| ---------- |_| Vars block |_name_with_${SOURCE}_in_name_load: file_Vars block.sh_SOURCES'
@@ -29,7 +29,7 @@ load 'test_helper'
29
29
 
30
30
  ### Load source
31
31
 
32
- @test 'Variable expansion - in block body' {
32
+ @test 'expands variables in block body' {
33
33
  BATS_OUTPUT_FILTER=A
34
34
  spec_mde_args_expect docs/dev/variable-expansion.md \(VARS_SOURCE\) \
35
35
  --list-blocks --list-blocks-type 3 \
@@ -37,7 +37,7 @@ load 'test_helper'
37
37
  'load: file_Vars block.sh'
38
38
  }
39
39
 
40
- @test 'Variable expansion - in block dname' {
40
+ @test 'expands variables in block dname' {
41
41
  BATS_OUTPUT_FILTER=A
42
42
  spec_mde_args_expect docs/dev/variable-expansion.md \(VARS_SOURCE\) \
43
43
  --list-blocks --list-blocks-type 3 \
@@ -44,7 +44,7 @@ _mde() {
44
44
 
45
45
  --dump-inherited-dependencies) COMPREPLY="f"; return 0 ;;
46
46
 
47
- --dump-inherited-lines) COMPREPLY="f"; return 0 ;;
47
+ --dump-context-code) COMPREPLY="f"; return 0 ;;
48
48
 
49
49
  --dump-menu-blocks) COMPREPLY="f"; return 0 ;;
50
50
 
@@ -110,7 +110,7 @@ _mde() {
110
110
  # present matching option names
111
111
  #
112
112
  if [[ ${cur} == -* ]] ; then
113
- opts=("--block-name" "--blocks" "--config" "--debug" "--dig" "--dump-blocks-in-file" "--dump-delegate-object" "--dump-dependencies" "--dump-inherited-block-names" "--dump-inherited-dependencies" "--dump-inherited-lines" "--dump-menu-blocks" "--dump-selected-block" "--execute-in-own-window" "--exit" "--filename" "--find" "--find-path" "--help" "--history" "--how" "--list-blocks" "--list-blocks-eval" "--list-blocks-message" "--list-blocks-type" "--list-count" "--list-default-env" "--list-default-yaml" "--list-docs" "--format" "--list-recent-output" "--list-recent-scripts" "--load-code" "--mine" "--open" "--output-script" "--output-stdout" "--path" "--pause-after-script-execution" "--probe" "--publish-document-file-mode" "--publish-document-file-name" "--pwd" "--run-last-script" "--sift" "--tab-completions" "--user-must-approve" "--version" "--display-level")
113
+ opts=("--block-name" "--blocks" "--config" "--debug" "--dig" "--dump-blocks-in-file" "--dump-delegate-object" "--dump-dependencies" "--dump-inherited-block-names" "--dump-inherited-dependencies" "--dump-context-code" "--dump-menu-blocks" "--dump-selected-block" "--execute-in-own-window" "--exit" "--filename" "--find" "--find-path" "--help" "--history" "--how" "--list-blocks" "--list-blocks-eval" "--list-blocks-message" "--list-blocks-type" "--list-count" "--list-default-env" "--list-default-yaml" "--list-docs" "--format" "--list-recent-output" "--list-recent-scripts" "--load-code" "--mine" "--open" "--output-script" "--output-stdout" "--path" "--pause-after-script-execution" "--probe" "--publish-document-file-mode" "--publish-document-file-name" "--pwd" "--run-last-script" "--sift" "--tab-completions" "--user-must-approve" "--version" "--display-level")
114
114
  COMPREPLY=( $(compgen -W "$(printf "'%s' " "${opts[@]}")" -- "${cur}") )
115
115
 
116
116
  return 0
@@ -145,7 +145,7 @@ _mde() {
145
145
 
146
146
  --dump-inherited-dependencies) COMPREPLY=".BOOL."; return 0 ;;
147
147
 
148
- --dump-inherited-lines) COMPREPLY=".BOOL."; return 0 ;;
148
+ --dump-context-code) COMPREPLY=".BOOL."; return 0 ;;
149
149
 
150
150
  --dump-menu-blocks) COMPREPLY=".BOOL."; return 0 ;;
151
151