markdown_exec 2.8.1 → 2.8.3

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.
@@ -7,5 +7,5 @@ module MarkdownExec
7
7
  BIN_NAME = 'mde'
8
8
  GEM_NAME = 'markdown_exec'
9
9
  TAP_DEBUG = 'MDE_DEBUG'
10
- VERSION = '2.8.1'
10
+ VERSION = '2.8.3'
11
11
  end
data/lib/markdown_exec.rb CHANGED
@@ -656,32 +656,6 @@ module MarkdownExec
656
656
  @options.merge(@options.run_state.to_h)
657
657
  end
658
658
 
659
- def iter_source_blocks(source, &block)
660
- case source
661
- when 1
662
- HashDelegator.new(@options).blocks_from_nested_files.each(&block)
663
- when 2
664
- blocks_in_file, menu_blocks, mdoc =
665
- HashDelegator.new(@options)
666
- .mdoc_menu_and_blocks_from_nested_files(LinkState.new)
667
- blocks_in_file.each(&block)
668
- when 3
669
- blocks_in_file, menu_blocks, mdoc =
670
- HashDelegator.new(@options)
671
- .mdoc_menu_and_blocks_from_nested_files(LinkState.new)
672
- menu_blocks.each(&block)
673
- else
674
- @options.iter_blocks_from_nested_files do |btype, fcb|
675
- case btype
676
- when :blocks
677
- yield fcb
678
- when :filter
679
- %i[blocks]
680
- end
681
- end
682
- end
683
- end
684
-
685
659
  ##
686
660
  # Returns a lambda expression based on the given procname.
687
661
  # @param procname [String] The name of the process to generate a lambda for.
@@ -916,7 +890,7 @@ module MarkdownExec
916
890
  # save value to options hash if option is named
917
891
  #
918
892
  lambda { |value|
919
- name = item[:long_name]&.present? ? '--' + item[:long_name].to_s : '-' + item[:short_name].to_s
893
+ name = item[:long_name]&.present? ? "--#{item[:long_name]}" : "-#{item[:short_name]}"
920
894
  options_parsed << item.merge(name: name, value: value)
921
895
  (item[:proccode] ? item[:proccode].call(value) : value).tap do |converted|
922
896
  options[item[:opt_name]] = converted if item[:opt_name]
@@ -1013,7 +987,16 @@ module MarkdownExec
1013
987
  # Presents a TTY prompt to select an option or exit, returns selected option or nil
1014
988
  def select_option_or_exit(prompt_text, strings, opts = {})
1015
989
  @options.select_option_with_metadata(
1016
- prompt_text, strings, opts
990
+ prompt_text,
991
+ strings,
992
+ opts,
993
+ menu_blocks: strings.map do |string|
994
+ FCB.new(
995
+ chrome: true,
996
+ dname: string,
997
+ id: string
998
+ )
999
+ end
1017
1000
  )&.fetch(:selected)
1018
1001
  end
1019
1002
 
data/lib/mdoc.rb CHANGED
@@ -355,13 +355,12 @@ module MarkdownExec
355
355
  else
356
356
  opts[:hide_blocks_by_name] &&
357
357
  ((opts[:block_name_hidden_match]&.present? &&
358
- block.oname&.match(Regexp.new(opts[:block_name_hidden_match]))) ||
358
+ block.s2title&.match(Regexp.new(opts[:block_name_hidden_match]))) ||
359
359
  (opts[:block_name_include_match]&.present? &&
360
- block.oname&.match(Regexp.new(opts[:block_name_include_match]))) ||
360
+ block.s2title&.match(Regexp.new(opts[:block_name_include_match]))) ||
361
361
  (opts[:block_name_wrapper_match]&.present? &&
362
- block.oname&.match(Regexp.new(opts[:block_name_wrapper_match])))) &&
363
- (block.oname&.present? || block[:label]&.present?)
364
-
362
+ block.s2title&.match(Regexp.new(opts[:block_name_wrapper_match])))) &&
363
+ (block.s2title&.present? || block[:label]&.present?)
365
364
  end
366
365
  end
367
366
 
@@ -555,7 +554,7 @@ if $PROGRAM_NAME == __FILE__
555
554
  def test_hide_menu_block_on_name
556
555
  opts = { hide_blocks_by_name: true,
557
556
  block_name_hidden_match: 'block1' }
558
- block = FCB.new(oname: 'block1')
557
+ block = FCB.new(s2title: 'block1')
559
558
  result = @doc.hide_menu_block_on_name(opts, block)
560
559
  assert result # this should be true based on the given logic
561
560
  end
data/lib/menu.src.yml CHANGED
@@ -54,6 +54,7 @@
54
54
 
55
55
  - :opt_name: block_name_match
56
56
  :env_var: MDE_BLOCK_NAME_MATCH
57
+ :description: Pattern for the block name in the line defining the block
57
58
  :default: ":(?<title>\\S+)( |$)"
58
59
  :procname: val_as_str
59
60
 
data/lib/menu.yml CHANGED
@@ -44,6 +44,7 @@
44
44
  :procname: val_as_str
45
45
  - :opt_name: block_name_match
46
46
  :env_var: MDE_BLOCK_NAME_MATCH
47
+ :description: Pattern for the block name in the line defining the block
47
48
  :default: ":(?<title>\\S+)( |$)"
48
49
  :procname: val_as_str
49
50
  - :opt_name: block_name_nick_match
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.8.1
4
+ version: 2.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fareed Stevenson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-13 00:00:00.000000000 Z
11
+ date: 2025-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clipboard
@@ -107,9 +107,14 @@ files:
107
107
  - assets/select_a_block.png
108
108
  - assets/select_a_file.png
109
109
  - bats/bats.bats
110
+ - bats/block-hide.bats
110
111
  - bats/block-type-opts.bats
111
112
  - bats/block-type-ux-auto.bats
113
+ - bats/block-type-ux-echo.bats
112
114
  - bats/block-type-ux-exec.bats
115
+ - bats/block-type-ux-preconditions.bats
116
+ - bats/block-type-ux-readonly.bats
117
+ - bats/block-type-ux-require.bats
113
118
  - bats/block-type-ux-row-format.bats
114
119
  - bats/block-type-ux-transform.bats
115
120
  - bats/block-type-vars.bats
@@ -121,6 +126,8 @@ files:
121
126
  - bats/fail.bats
122
127
  - bats/history.bats
123
128
  - bats/import.bats
129
+ - bats/indented-multi-line-output.bats
130
+ - bats/line-decor-dynamic.bats
124
131
  - bats/line-wrapping.bats
125
132
  - bats/markup.bats
126
133
  - bats/mde.bats
@@ -140,11 +147,16 @@ files:
140
147
  - bin/tab_completion.sh
141
148
  - bin/tab_completion.sh.erb
142
149
  - docs/dev/bats-document-configuration.md
150
+ - docs/dev/block-hide.md
143
151
  - docs/dev/block-type-bash.md
144
152
  - docs/dev/block-type-opts.md
145
153
  - docs/dev/block-type-port.md
146
154
  - docs/dev/block-type-ux-auto.md
155
+ - docs/dev/block-type-ux-echo.md
147
156
  - docs/dev/block-type-ux-exec.md
157
+ - docs/dev/block-type-ux-preconditions.md
158
+ - docs/dev/block-type-ux-readonly.md
159
+ - docs/dev/block-type-ux-require.md
148
160
  - docs/dev/block-type-ux-row-format.md
149
161
  - docs/dev/block-type-ux-transform.md
150
162
  - docs/dev/block-type-vars.md
@@ -155,6 +167,8 @@ files:
155
167
  - docs/dev/document-shell.md
156
168
  - docs/dev/import-missing.md
157
169
  - docs/dev/import.md
170
+ - docs/dev/indented-multi-line-output.md
171
+ - docs/dev/line-decor-dynamic.md
158
172
  - docs/dev/line-wrapping.md
159
173
  - docs/dev/linked-file.md
160
174
  - docs/dev/load1.sh