markdown_exec 3.5.1 → 3.5.2
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/.ai-agent-instructions +54 -0
- data/.cursorrules +198 -0
- data/.rubocop.wide.yml +5 -0
- data/.rubocop.yml +7 -2
- data/CHANGELOG.md +12 -1
- data/Gemfile.lock +1 -1
- data/Rakefile +2 -0
- data/ai-principles.md +516 -0
- data/architecture-decisions.md +190 -0
- data/bats/block-hide.bats +1 -1
- data/bats/block-type-bash.bats +5 -5
- data/bats/block-type-link.bats +1 -1
- data/bats/block-type-opts.bats +3 -3
- data/bats/block-type-port.bats +2 -2
- data/bats/block-type-shell-require-ux.bats +2 -2
- data/bats/block-type-ux-allowed.bats +4 -4
- data/bats/block-type-ux-auto.bats +1 -1
- data/bats/block-type-ux-chained.bats +1 -1
- data/bats/block-type-ux-default.bats +1 -1
- data/bats/block-type-ux-echo-hash-transform.bats +1 -1
- data/bats/block-type-ux-echo-hash.bats +2 -2
- data/bats/block-type-ux-echo.bats +3 -3
- data/bats/block-type-ux-exec-hash-transform.bats +1 -1
- data/bats/block-type-ux-exec-hash.bats +2 -2
- data/bats/block-type-ux-exec.bats +1 -1
- data/bats/block-type-ux-force.bats +1 -1
- data/bats/block-type-ux-formats.bats +1 -1
- data/bats/block-type-ux-hidden.bats +1 -1
- data/bats/block-type-ux-invalid.bats +1 -1
- data/bats/block-type-ux-readonly.bats +1 -1
- data/bats/block-type-ux-require-chained.bats +2 -2
- data/bats/block-type-ux-require-context.bats +2 -2
- data/bats/block-type-ux-require.bats +2 -2
- data/bats/block-type-ux-required-variables.bats +1 -1
- data/bats/block-type-ux-row-format.bats +1 -1
- data/bats/block-type-ux-sources.bats +4 -4
- data/bats/block-type-ux-transform.bats +1 -1
- data/bats/block-type-vars.bats +3 -3
- data/bats/border.bats +1 -1
- data/bats/cli.bats +11 -11
- data/bats/command-substitution-options.bats +2 -2
- data/bats/command-substitution.bats +1 -1
- data/bats/document-shell.bats +1 -1
- data/bats/history.bats +5 -5
- data/bats/import-conflict.bats +1 -1
- data/bats/import-directive-line-continuation.bats +1 -1
- data/bats/import-directive-parameter-symbols.bats +1 -1
- data/bats/import-duplicates.bats +6 -6
- data/bats/import-parameter-symbols.bats +1 -1
- data/bats/import-with-text-substitution.bats +1 -1
- data/bats/import.bats +3 -3
- data/bats/indented-block-type-vars.bats +1 -1
- data/bats/indented-multi-line-output.bats +1 -1
- data/bats/line-decor-dynamic.bats +1 -1
- data/bats/line-wrapping.bats +1 -1
- data/bats/load-vars-state-demo.bats +4 -4
- data/bats/markup.bats +4 -4
- data/bats/mde.bats +4 -4
- data/bats/option-expansion.bats +1 -1
- data/bats/options-collapse.bats +4 -4
- data/bats/options.bats +47 -17
- data/bats/plain.bats +1 -1
- data/bats/publish.bats +2 -2
- data/bats/table-column-truncate.bats +1 -1
- data/bats/table.bats +2 -2
- data/bats/variable-expansion-multiline.bats +1 -1
- data/bats/variable-expansion.bats +6 -6
- data/conversation-template.md +611 -0
- data/docs/block-execution-modes.md +177 -0
- data/docs/block-filtering.md +252 -0
- data/docs/block-naming-patterns.md +210 -0
- data/docs/block-scanning-patterns.md +248 -0
- data/docs/cli-reference.md +370 -0
- data/docs/dev/block-hide.md +1 -1
- data/docs/dev/block-type-ux-transform.md +5 -4
- data/docs/dev/print_bytes.md +3 -0
- data/docs/dev/shebang.md +6 -0
- data/docs/docker-testing.md +5 -0
- data/docs/execution-control.md +384 -0
- data/docs/getting-started.md +209 -0
- data/docs/import-options.md +391 -0
- data/docs/tab-completion.md +7 -0
- data/docs/ux-blocks.md +376 -0
- data/examples/linked1.md +8 -1
- data/implementation-decisions.md +212 -0
- data/lib/cached_nested_file_reader.rb +138 -1
- data/lib/command_result.rb +27 -6
- data/lib/executed_shell_command.rb +512 -0
- data/lib/filter.rb +7 -7
- data/lib/hash_delegator.rb +403 -350
- data/lib/link_history.rb +22 -11
- data/lib/markdown_exec/version.rb +1 -1
- data/lib/mdoc.rb +103 -44
- data/lib/menu.src.yml +110 -83
- data/lib/menu.yml +149 -83
- data/lib/transformed_shell_command.rb +449 -0
- data/lib/wl.rb +15 -0
- data/lib/ww.rb +16 -5
- data/requirements.md +111 -0
- data/semantic-tokens.md +132 -0
- data/tasks.md +69 -0
- metadata +26 -4
- data/docs/ux-blocks-examples.md +0 -120
- data/docs/ux-blocks-init-act.md +0 -100
data/bats/publish.bats
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
load 'test_helper'
|
|
4
4
|
|
|
5
|
-
@test '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 '
|
|
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 \
|