markdown_exec 2.0.0 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
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