markdown_exec 2.0.0 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9bab8478298e4304b710d35a6c5c0d931635678d038a4a16f4714f9347f38aa6
4
- data.tar.gz: 2a57f5bc25681718a5c23ec313a8c8767209d1422431348e310d311524e5d66c
3
+ metadata.gz: ece122ac9b2994b3a0ee90b6a6b07f637abd015f45b2275c0bcf740a2fbfb173
4
+ data.tar.gz: f8c79187fc3f1fb4f8d53750dbb6078cb81ab58c04114bc484cd66ed22f890a5
5
5
  SHA512:
6
- metadata.gz: c6c4fcb0963a71d89968ff195bb963e31d4f887a7f97d524aeea29bcad5e359e698b89928d00f85cf6ad7cd99d768f2a7152a086fb32abf91e3477751b0979ba
7
- data.tar.gz: 85631dcaa941169ae08527a2d2f185a82b5a296337aa78e2f50994f7cf2ecaa69966d4a647cafc7c772abd97f0ddc2fc7b2ff0ef298e30f6ff2f46d28eb12d12
6
+ metadata.gz: 57246f8b67613bdf55911dcc5274b7bad32b3702c3070ee75f30754ea8a816ebeee42b930bceb363313256b1b5368fd05bf2c1ccfbde545ea934d6b9d66d8e86
7
+ data.tar.gz: fefcd1ed4b825a81cd9e5bfa79c0c3124550778908ad2200dd6ac9cd5db1ba6c70d2cc4987df05700ba2dd554461fd0b39ba330a32209f2edc7a7ad80cdadff3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.2] - 2024-02-09
4
+
5
+ ### Changed
6
+
7
+ - Fix development requirement.
8
+
3
9
  ## [2.0.0] - 2024-02-07
4
10
 
5
11
  ### Added
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- markdown_exec (2.0.0)
4
+ markdown_exec (2.0.2)
5
5
  clipboard (~> 1.3.6)
6
6
  open3 (~> 0.1.1)
7
7
  optparse (~> 0.1.1)
@@ -13,7 +13,7 @@ __filedirs_all()
13
13
  }
14
14
 
15
15
  _mde_echo_version() {
16
- echo "2.0.0"
16
+ echo "2.0.2"
17
17
  }
18
18
 
19
19
  _mde() {
@@ -186,4 +186,4 @@ _mde() {
186
186
 
187
187
  complete -o filenames -o nospace -F _mde mde
188
188
  # _mde_echo_version
189
- # echo "Updated: 2024-02-08 17:51:16 UTC"
189
+ # echo "Updated: 2024-02-09 19:26:00 UTC"
@@ -2349,7 +2349,7 @@ require 'minitest/autorun'
2349
2349
  require 'mocha/minitest'
2350
2350
 
2351
2351
  ####
2352
- require_relative 'dev/instance_method_wrapper'
2352
+ require_relative 'instance_method_wrapper'
2353
2353
  # MarkdownExec::HashDelegator.prepend(InstanceMethodWrapper)
2354
2354
  # MarkdownExec::HashDelegator.singleton_class.prepend(ClassMethodWrapper)
2355
2355
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  # encoding=utf-8
5
5
 
6
- require_relative 'dev/instance_method_wrapper' # for ImwUx
6
+ # require_relative 'instance_method_wrapper' # for ImwUx
7
7
  require_relative 'env'
8
8
  require_relative 'link_history'
9
9
 
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env bundle exec ruby
2
+ # frozen_string_literal: true
3
+
4
+ # encoding=utf-8
5
+
6
+ $imw_depth = 0
7
+ $imw_len = 128
8
+
9
+ module ImwUx
10
+ def imw_ins(_obj = nil, _name = nil)
11
+ # warn "#{imw_indent}#{name} #{obj.inspect}"
12
+ pfx = '~ '
13
+ fl = ' '
14
+ v = '-' #inst ? '-' : '='
15
+ $imw_depth ||= 0 # Initialize $imw_depth if not already initialized
16
+ "#{fl * $imw_depth}#{pfx}" + "#{v}i#{v}"
17
+ end
18
+
19
+ def imw_indent(dir = :in, inst = true)
20
+ pfx = '~ '
21
+ fl = ' '
22
+ inst ? '-' : '='
23
+ $imw_depth ||= 0 # Initialize $imw_depth if not already initialized
24
+ $imw_depth += 1 if dir == :in
25
+ result = "#{fl * $imw_depth}#{pfx}" + (dir == :in ? '> ' : '< ')
26
+ $imw_depth -= 1 if dir == :out
27
+ result
28
+ end
29
+ end
30
+
31
+ module ClassMethodWrapper
32
+ def self.prepended(base)
33
+ base.singleton_class.instance_methods(false).each do |method_name|
34
+ wrap_method(base, method_name)
35
+ end
36
+ end
37
+
38
+ def self.wrap_method(base, method_name)
39
+ base.singleton_class.define_method(method_name) do |*args, **kwargs, &block|
40
+ method = base.method(method_name)
41
+ parameters = method.parameters.map(&:last)
42
+
43
+ warn format("%s %.#{$imw_len}s",
44
+ imw_indent(:in, false).to_s,
45
+ ":i:> #{sbase}::#{method_name}: " +
46
+ [args == [] ? nil : "args=#{args.inspect}",
47
+ kwargs == {} ? nil : "kwargs=#{kwargs.inspect}"].compact.join(', '))
48
+ $imw_depth += 1
49
+
50
+ result = if parameters.include?(:key) || parameters.include?(:keyreq)
51
+ method.call(*args, **kwargs, &block)
52
+ else
53
+ method.call(*args, &block)
54
+ end
55
+
56
+ $imw_depth -= 1
57
+ warn format("%s %.#{$imw_len}s",
58
+ imw_indent(:out, false).to_s,
59
+ "<:o: #{sbase}::#{method_name}: #{result.inspect}")
60
+ result
61
+ end
62
+ end
63
+ end
64
+
65
+ module InstanceMethodWrapper
66
+ extend ImwUx # This makes imw_indent available as a class method
67
+ include ImwUx # This makes imw_indent available as a class method
68
+
69
+ def self.prepended(base)
70
+ base.instance_methods(false).each do |method_name|
71
+ wrap_method(base, method_name) unless %i[method_missing].include? method_name
72
+ end
73
+
74
+ base.singleton_class.send(:define_method, :method_added) do |method_name|
75
+ unless @_currently_adding_method
76
+ @_currently_adding_method = true
77
+ InstanceMethodWrapper.wrap_method(self, method_name)
78
+ @_currently_adding_method = false
79
+ end
80
+ end
81
+ end
82
+
83
+ def self.wrap_method(base, method_name)
84
+ sbase = base.to_s.gsub(/[a-z]/, '')
85
+ original_method = base.instance_method(method_name)
86
+ base.send(:define_method, method_name) do |*args, **kwargs, &block|
87
+ warn format("%s %.#{$imw_len}s",
88
+ imw_indent(:in).to_s,
89
+ "#{sbase}::#{method_name}: " +
90
+ [args == [] ? nil : "args=#{args.inspect}",
91
+ kwargs == {} ? nil : "kwargs=#{kwargs.inspect}"].compact.join(', '))
92
+ $imw_depth += 1
93
+ original_method.bind(self).call(*args, **kwargs, &block).tap do |result|
94
+ ### if !%w[method_missing].include? method_name
95
+ $imw_depth -= 1
96
+ warn format("%s %.#{$imw_len}s",
97
+ imw_indent(:out).to_s,
98
+ "#{sbase}::#{method_name}: " +
99
+ result.inspect)
100
+ # end
101
+ end
102
+ end
103
+ end
104
+ end
105
+
106
+ __END__
107
+
108
+ def the_method; other_method; end
109
+ def other_method; end
110
+
111
+ def start_trace
112
+ trace = TracePoint.new(:call) { |tp| p [tp.path, tp.lineno, tp.event, tp.method_id] }
113
+
114
+ trace.enable
115
+ yield
116
+ trace.disable
117
+ end
118
+
119
+ start_trace { the_method }
120
+
121
+ # EVENT NAME DESCRIPTION
122
+ # call Application methods
123
+ # c_call C-level methods (like puts)
124
+ # return Method return (for tracing return values & call depth)
125
+ # b_call Block call
126
+ # b_return Block return
127
+ # raise Exception raised
128
+ # thread_begin New thread
129
+ # thread_end Thread ending
130
+
131
+ def the_method; "A" * 10; end
132
+
133
+ trace = TracePoint.new(:return) { |tp| puts "Return value for #{tp.method_id} is #{tp.return_value}." }
134
+
135
+ trace.enable
136
+ the_method
137
+ trace.disable
@@ -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.0.0'
10
+ VERSION = '2.0.2'
11
11
  end
data/lib/menu.src.yml CHANGED
@@ -219,7 +219,7 @@
219
219
  end tell
220
220
 
221
221
  set winHeight to (screenHeight * 2 / 3)
222
- set winWidth to (screenWidth / 2)
222
+ set winWidth to (screenWidth * 2 / 3)
223
223
  set xoff to menubarHeight * %{batch_index}
224
224
  set yoff to xoff mod (screenHeight - winHeight)
225
225
 
@@ -229,9 +229,8 @@
229
229
  tell the current session
230
230
  write text "s=\"%{script_filespec}\""
231
231
  write text "o=\"%{output_filespec}\""
232
- write text "echo -ne \"\\033]; %{started_at} - %{document_filename} - %{block_name} \\007\""
233
232
  write text "cd \"%{home}\""
234
- write text "# \"%{script_filename}\" | tee -a \"%{output_filespec}\""
233
+ write text "echo -ne \"\\033]; %{started_at} - %{document_filename} - %{block_name} \\007\""
235
234
  write text "\"$s\" | tee -a \"$o\""
236
235
  end tell
237
236
  end tell
data/lib/menu.yml CHANGED
@@ -1,4 +1,4 @@
1
- # MDE - Markdown Executor (2.0.0)
1
+ # MDE - Markdown Executor (2.0.2)
2
2
  ---
3
3
  - :description: Show current configuration values
4
4
  :procname: show_config
@@ -183,16 +183,15 @@
183
183
  tell\n tell application process \"Finder\"\n set {missing
184
184
  value, menubarHeight} to the size of menu bar 1\n end tell\n end
185
185
  tell\n\n set winHeight to (screenHeight * 2 / 3)\n set winWidth
186
- to (screenWidth / 2)\n set xoff to menubarHeight * %{batch_index}\n set
187
- yoff to xoff mod (screenHeight - winHeight)\n \n create window with
188
- default profile\n tell the first window\n set bounds to {xoff,
189
- yoff, xoff + winWidth, yoff + winHeight}\n tell the current session\n
190
- \ write text \"s=\\\"%{script_filespec}\\\"\"\n write
191
- text \"o=\\\"%{output_filespec}\\\"\"\n write text \"echo -ne \\\"\\\\033];
192
- %{started_at} - %{document_filename} - %{block_name} \\\\007\\\"\"\n write
193
- text \"cd \\\"%{home}\\\"\"\n write text \"# \\\"%{script_filename}\\\"
194
- | tee -a \\\"%{output_filespec}\\\"\"\n write text \"\\\"$s\\\"
195
- | tee -a \\\"$o\\\"\"\n end tell\n end tell\n end tell'\n"
186
+ to (screenWidth * 2 / 3)\n set xoff to menubarHeight * %{batch_index}\n
187
+ \ set yoff to xoff mod (screenHeight - winHeight)\n \n create
188
+ window with default profile\n tell the first window\n set bounds
189
+ to {xoff, yoff, xoff + winWidth, yoff + winHeight}\n tell the current
190
+ session\n write text \"s=\\\"%{script_filespec}\\\"\"\n write
191
+ text \"o=\\\"%{output_filespec}\\\"\"\n write text \"cd \\\"%{home}\\\"\"\n
192
+ \ write text \"echo -ne \\\"\\\\033]; %{started_at} - %{document_filename}
193
+ - %{block_name} \\\\007\\\"\"\n write text \"\\\"$s\\\" | tee -a
194
+ \\\"$o\\\"\"\n end tell\n end tell\n end tell'\n"
196
195
  :description: execute_command_format
197
196
  :env_var: MDE_EXECUTE_COMMAND_FORMAT
198
197
  :opt_name: execute_command_format
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.0.0
4
+ version: 2.0.2
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-02-08 00:00:00.000000000 Z
11
+ date: 2024-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clipboard
@@ -155,6 +155,7 @@ files:
155
155
  - lib/hash.rb
156
156
  - lib/hash_delegator.rb
157
157
  - lib/input_sequencer.rb
158
+ - lib/instance_method_wrapper.rb
158
159
  - lib/link_history.rb
159
160
  - lib/markdown_exec.rb
160
161
  - lib/markdown_exec/version.rb