hookapp 2.0.8 → 2.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,177 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module Hook::PromptSTD - hookapp</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
12
+ </script>
13
+
14
+ <script src="../js/navigation.js" defer></script>
15
+ <script src="../js/search.js" defer></script>
16
+ <script src="../js/search_index.js" defer></script>
17
+ <script src="../js/searcher.js" defer></script>
18
+ <script src="../js/darkfish.js" defer></script>
19
+
20
+ <link href="../css/fonts.css" rel="stylesheet">
21
+ <link href="../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+ <body id="top" role="document" class="module">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+
62
+
63
+
64
+ <!-- Method Quickref -->
65
+ <div id="method-list-section" class="nav-section">
66
+ <h3>Methods</h3>
67
+
68
+ <ul class="link-list" role="directory">
69
+ <li ><a href="#method-i-clear_screen">#clear_screen</a>
70
+ <li ><a href="#method-i-restore_std">#restore_std</a>
71
+ <li ><a href="#method-i-silence_std">#silence_std</a>
72
+ </ul>
73
+ </div>
74
+
75
+ </div>
76
+ </nav>
77
+
78
+ <main role="main" aria-labelledby="module-Hook::PromptSTD">
79
+ <h1 id="module-Hook::PromptSTD" class="module">
80
+ module Hook::PromptSTD
81
+ </h1>
82
+
83
+ <section class="description">
84
+
85
+ </section>
86
+
87
+ <section id="5Buntitled-5D" class="documentation-section">
88
+
89
+
90
+
91
+
92
+
93
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
94
+ <header>
95
+ <h3>Public Instance Methods</h3>
96
+ </header>
97
+
98
+ <div id="method-i-clear_screen" class="method-detail ">
99
+ <div class="method-heading">
100
+ <span class="method-name">clear_screen</span><span
101
+ class="method-args">(msg = nil)</span>
102
+ <span class="method-click-advice">click to toggle source</span>
103
+ </div>
104
+
105
+ <div class="method-description">
106
+ <p>Clear the terminal screen</p>
107
+
108
+ <div class="method-source-code" id="clear_screen-source">
109
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 8</span>
110
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clear_screen</span>(<span class="ruby-identifier">msg</span> = <span class="ruby-keyword">nil</span>)
111
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&quot;\e[H\e[2J&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">tty?</span>
112
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">msg</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">good?</span>
113
+ <span class="ruby-keyword">end</span></pre>
114
+ </div>
115
+ </div>
116
+
117
+
118
+ </div>
119
+
120
+ <div id="method-i-restore_std" class="method-detail ">
121
+ <div class="method-heading">
122
+ <span class="method-name">restore_std</span><span
123
+ class="method-args">()</span>
124
+ <span class="method-click-advice">click to toggle source</span>
125
+ </div>
126
+
127
+ <div class="method-description">
128
+ <p>Restore silenced STDOUT and STDERR</p>
129
+
130
+ <div class="method-source-code" id="restore_std-source">
131
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 26</span>
132
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">restore_std</span>
133
+ <span class="ruby-identifier">$stdout</span> = <span class="ruby-constant">STDOUT</span>
134
+ <span class="ruby-identifier">$stderr</span> = <span class="ruby-constant">STDERR</span>
135
+ <span class="ruby-keyword">end</span></pre>
136
+ </div>
137
+ </div>
138
+
139
+
140
+ </div>
141
+
142
+ <div id="method-i-silence_std" class="method-detail ">
143
+ <div class="method-heading">
144
+ <span class="method-name">silence_std</span><span
145
+ class="method-args">(file = &#39;/dev/null&#39;)</span>
146
+ <span class="method-click-advice">click to toggle source</span>
147
+ </div>
148
+
149
+ <div class="method-description">
150
+ <p>Redirect STDOUT and STDERR to /dev/null or file</p>
151
+
152
+ <p>@param file [String] a file path to redirect to</p>
153
+
154
+ <div class="method-source-code" id="silence_std-source">
155
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 18</span>
156
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">silence_std</span>(<span class="ruby-identifier">file</span> = <span class="ruby-string">&#39;/dev/null&#39;</span>)
157
+ <span class="ruby-identifier">$stdout</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>, <span class="ruby-string">&#39;w&#39;</span>)
158
+ <span class="ruby-identifier">$stderr</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>, <span class="ruby-string">&#39;w&#39;</span>)
159
+ <span class="ruby-keyword">end</span></pre>
160
+ </div>
161
+ </div>
162
+
163
+
164
+ </div>
165
+
166
+ </section>
167
+
168
+ </section>
169
+ </main>
170
+
171
+
172
+ <footer id="validator-badges" role="contentinfo">
173
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
174
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
175
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
176
+ </footer>
177
+
data/html/Hook.html CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
  <footer id="validator-badges" role="contentinfo">
96
96
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
97
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
97
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
98
98
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
99
99
  </footer>
100
100
 
data/html/HookApp.html CHANGED
@@ -65,6 +65,14 @@
65
65
  </div>
66
66
 
67
67
 
68
+ <div id="includes-section" class="nav-section">
69
+ <h3>Included Modules</h3>
70
+
71
+ <ul class="link-list">
72
+ <li><a class="include" href="Hook/Prompt.html">Hook::Prompt</a>
73
+ </ul>
74
+ </div>
75
+
68
76
 
69
77
 
70
78
  <!-- Method Quickref -->
@@ -75,6 +83,7 @@
75
83
  <li ><a href="#method-i-all_bookmarks">#all_bookmarks</a>
76
84
  <li ><a href="#method-i-bookmark_for">#bookmark_for</a>
77
85
  <li ><a href="#method-i-bookmark_from_app">#bookmark_from_app</a>
86
+ <li ><a href="#method-i-browse_bookmarks">#browse_bookmarks</a>
78
87
  <li ><a href="#method-i-clip_bookmark">#clip_bookmark</a>
79
88
  <li ><a href="#method-i-clone_hooks">#clone_hooks</a>
80
89
  <li ><a href="#method-i-copy_bookmark">#copy_bookmark</a>
@@ -134,7 +143,7 @@
134
143
  <p>Get all known bookmarks. Return array of bookmark hashes.</p>
135
144
 
136
145
  <div class="method-source-code" id="all_bookmarks-source">
137
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 140</span>
146
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 142</span>
138
147
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">all_bookmarks</span>
139
148
  <span class="ruby-string">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
140
149
  tell application &quot;Hook&quot;
@@ -167,7 +176,7 @@
167
176
  <p>Get a <a href="Hook.html"><code>Hook</code></a> bookmark for file or URL. Return bookmark hash.</p>
168
177
 
169
178
  <div class="method-source-code" id="bookmark_for-source">
170
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 32</span>
179
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 34</span>
171
180
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bookmark_for</span>(<span class="ruby-identifier">url</span>)
172
181
  <span class="ruby-identifier">url</span>.<span class="ruby-identifier">valid_hook!</span>
173
182
  <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Invalid target: #{url}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">url</span>
@@ -207,7 +216,7 @@
207
216
  <p>Get a bookmark from the foreground document of specified app.</p>
208
217
 
209
218
  <div class="method-source-code" id="bookmark_from_app-source">
210
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 81</span>
219
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 83</span>
211
220
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bookmark_from_app</span>(<span class="ruby-identifier">app</span>, <span class="ruby-identifier">opts</span>)
212
221
  <span class="ruby-identifier">mark</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
213
222
  tell application &quot;System Events&quot; to set front_app to name of first application process whose frontmost is true
@@ -233,6 +242,46 @@
233
242
  </div>
234
243
 
235
244
 
245
+ </div>
246
+
247
+ <div id="method-i-browse_bookmarks" class="method-detail ">
248
+ <div class="method-heading">
249
+ <span class="method-name">browse_bookmarks</span><span
250
+ class="method-args">(glob)</span>
251
+ <span class="method-click-advice">click to toggle source</span>
252
+ </div>
253
+
254
+ <div class="method-description">
255
+
256
+
257
+ <div class="method-source-code" id="browse_bookmarks-source">
258
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 258</span>
259
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">browse_bookmarks</span>(<span class="ruby-identifier">glob</span>)
260
+ <span class="ruby-identifier">root</span> = <span class="ruby-keyword">if</span> <span class="ruby-identifier">glob</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Array</span>)
261
+ <span class="ruby-identifier">glob</span>.<span class="ruby-identifier">count</span>.<span class="ruby-identifier">positive?</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">glob</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-string">&#39;**/*&#39;</span>)
262
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">glob</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">glob</span>)
263
+ <span class="ruby-identifier">hooks</span> = <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">glob</span>)
264
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">select_hook</span>(<span class="ruby-identifier">hooks</span>) <span class="ruby-keyword">unless</span> <span class="ruby-identifier">hooks</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">glob</span>)
265
+
266
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>([<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">glob</span>), <span class="ruby-string">&#39;**/*&#39;</span>])
267
+ <span class="ruby-keyword">else</span>
268
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-identifier">glob</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">glob</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;**/*&#39;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">glob</span>)
269
+ <span class="ruby-keyword">end</span>
270
+
271
+ <span class="ruby-identifier">args</span> = [<span class="ruby-string">&#39;--layout=reverse-list&#39;</span>,
272
+ <span class="ruby-string">&#39;--header=&quot;esc: cancel, return: open&quot;&#39;</span>,
273
+ <span class="ruby-string">&#39;--prompt=&quot; Select file &gt; &quot;&#39;</span>,
274
+ <span class="ruby-string">%(--preview=&#39;hook ls {1}&#39;)</span>,
275
+ <span class="ruby-string">&#39;--height=60%&#39;</span>,
276
+ <span class="ruby-string">&#39;--min-height=10&#39;</span>]
277
+
278
+ <span class="ruby-identifier">sel</span> = <span class="ruby-node">`echo #{Shellwords.escape(root.join(&quot;\n&quot;))} | &#39;#{fzf}&#39; #{args.join(&#39; &#39;)}`</span>.<span class="ruby-identifier">chomp</span>
279
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">open_linked</span>(<span class="ruby-identifier">sel</span>)
280
+ <span class="ruby-keyword">end</span></pre>
281
+ </div>
282
+ </div>
283
+
284
+
236
285
  </div>
237
286
 
238
287
  <div id="method-i-clip_bookmark" class="method-detail ">
@@ -246,7 +295,7 @@
246
295
  <p>Create a bookmark for specified file/url and copy to the clipboard.</p>
247
296
 
248
297
  <div class="method-source-code" id="clip_bookmark-source">
249
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 181</span>
298
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 183</span>
250
299
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clip_bookmark</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">opts</span>)
251
300
  <span class="ruby-identifier">mark</span> = <span class="ruby-identifier">bookmark_for</span>(<span class="ruby-identifier">url</span>)
252
301
  <span class="ruby-identifier">copy_bookmark</span>(<span class="ruby-identifier">mark</span>[<span class="ruby-value">:name</span>], <span class="ruby-identifier">mark</span>[<span class="ruby-value">:url</span>], <span class="ruby-identifier">opts</span>)
@@ -268,7 +317,7 @@
268
317
  <p>Copy all hooks from source file to target file</p>
269
318
 
270
319
  <div class="method-source-code" id="clone_hooks-source">
271
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 313</span>
320
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 336</span>
272
321
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clone_hooks</span>(<span class="ruby-identifier">args</span>)
273
322
  <span class="ruby-identifier">target</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span>.<span class="ruby-identifier">valid_hook</span>
274
323
  <span class="ruby-identifier">source</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">valid_hook</span>
@@ -307,7 +356,7 @@
307
356
  <p>Create a bookmark from specified title and url and copy to the clipboard.</p>
308
357
 
309
358
  <div class="method-source-code" id="copy_bookmark-source">
310
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 187</span>
359
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 189</span>
311
360
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">copy_bookmark</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">opts</span>)
312
361
  <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;No URL found&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span>.<span class="ruby-identifier">empty?</span>
313
362
  <span class="ruby-identifier">title</span> = <span class="ruby-identifier">title</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-string">&#39;No title&#39;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">title</span>
@@ -332,7 +381,7 @@
332
381
 
333
382
 
334
383
  <div class="method-source-code" id="decode-source">
335
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 499</span>
384
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 522</span>
336
385
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decode</span>(<span class="ruby-identifier">string</span>)
337
386
  <span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
338
387
  tell application &quot;Hook&quot;
@@ -358,7 +407,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>
358
407
  <p>Delete all hooked files/urls from target file</p>
359
408
 
360
409
  <div class="method-source-code" id="delete_all_hooks-source">
361
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 336</span>
410
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 359</span>
362
411
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">delete_all_hooks</span>(<span class="ruby-identifier">url</span>, <span class="ruby-value">force:</span> <span class="ruby-keyword">false</span>)
363
412
  <span class="ruby-keyword">unless</span> <span class="ruby-identifier">force</span>
364
413
  <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Are you sure you want to delete ALL hooks from #{url} (y/N)? &quot;</span>
@@ -396,7 +445,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>
396
445
  <p>Delete hooks between two files/urls</p>
397
446
 
398
447
  <div class="method-source-code" id="delete_hooks-source">
399
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 358</span>
448
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 381</span>
400
449
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">delete_hooks</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">opts</span>)
401
450
  <span class="ruby-identifier">urls</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:valid_hook</span>).<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">url</span> }
402
451
  <span class="ruby-identifier">output</span> = []
@@ -442,7 +491,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>
442
491
 
443
492
 
444
493
  <div class="method-source-code" id="encode-source">
445
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 490</span>
494
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 513</span>
446
495
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encode</span>(<span class="ruby-identifier">string</span>)
447
496
  <span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
448
497
  tell application &quot;Hook&quot;
@@ -468,7 +517,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
468
517
  <p>Create a single regex for validation of an array by first char or full match.</p>
469
518
 
470
519
  <div class="method-source-code" id="format_regex-source">
471
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 9</span>
520
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 11</span>
472
521
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">format_regex</span>(<span class="ruby-identifier">options</span>)
473
522
  <span class="ruby-identifier">fmt_rx_array</span> = []
474
523
  <span class="ruby-identifier">options</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">fmt</span><span class="ruby-operator">|</span> <span class="ruby-identifier">fmt_rx_array</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">fmt</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/^(.)(.*?)$/</span>, <span class="ruby-string">&#39;\1(\2)?&#39;</span>)) }
@@ -491,7 +540,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
491
540
  <p>Get bookmarks hooked to file or URL. Return array of bookmark hashes.</p>
492
541
 
493
542
  <div class="method-source-code" id="get_hooks-source">
494
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 56</span>
543
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 58</span>
495
544
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_hooks</span>(<span class="ruby-identifier">url</span>)
496
545
  <span class="ruby-identifier">url</span>.<span class="ruby-identifier">valid_hook!</span>
497
546
  <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Invalid target: #{url}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">url</span>
@@ -532,7 +581,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
532
581
  <p>Create bi-directional links between every file/url in the list of arguments</p>
533
582
 
534
583
  <div class="method-source-code" id="link_all-source">
535
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 388</span>
584
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 411</span>
536
585
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">link_all</span>(<span class="ruby-identifier">args</span>)
537
586
  <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
538
587
  <span class="ruby-identifier">source</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">valid_hook</span>
@@ -567,7 +616,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
567
616
  <p>Link 2 or more files/urls with bi-directional hooks.</p>
568
617
 
569
618
  <div class="method-source-code" id="link_files-source">
570
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 290</span>
619
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 313</span>
571
620
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">link_files</span>(<span class="ruby-identifier">args</span>)
572
621
  <span class="ruby-identifier">target</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span>
573
622
  <span class="ruby-identifier">target</span>.<span class="ruby-identifier">valid_hook!</span>
@@ -606,7 +655,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
606
655
  <p>Get a list of all hooks on a file/url.</p>
607
656
 
608
657
  <div class="method-source-code" id="linked_bookmarks-source">
609
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 407</span>
658
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 430</span>
610
659
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">linked_bookmarks</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">opts</span>)
611
660
  <span class="ruby-identifier">result</span> = []
612
661
 
@@ -669,7 +718,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
669
718
  <p>Open the <a href="Hook.html"><code>Hook</code></a> GUI for browsing/performing actions on a file or url</p>
670
719
 
671
720
  <div class="method-source-code" id="open_gui-source">
672
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 259</span>
721
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 282</span>
673
722
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">open_gui</span>(<span class="ruby-identifier">url</span>)
674
723
  <span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
675
724
  tell application &quot;Hook&quot;
@@ -701,7 +750,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
701
750
  <p>Select from a menu of available hooks and open using macOS `open`.</p>
702
751
 
703
752
  <div class="method-source-code" id="open_linked-source">
704
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 275</span>
753
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 298</span>
705
754
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">open_linked</span>(<span class="ruby-identifier">url</span>)
706
755
  <span class="ruby-identifier">marks</span> = <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>)
707
756
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">marks</span>.<span class="ruby-identifier">empty?</span>
@@ -732,7 +781,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
732
781
  <p>Output an array of hooks in the given format.</p>
733
782
 
734
783
  <div class="method-source-code" id="output_array-source">
735
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 454</span>
784
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 477</span>
736
785
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">output_array</span>(<span class="ruby-identifier">hooks_arr</span>, <span class="ruby-identifier">opts</span>)
737
786
  <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">hooks_arr</span>.<span class="ruby-identifier">empty?</span>
738
787
  <span class="ruby-identifier">hooks_arr</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-value">:path</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;&#39;</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:files_only</span>]
@@ -785,7 +834,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
785
834
  <p>Search bookmarks, using both names and addresses unless options contain “:names_only”. Return results as formatted list.</p>
786
835
 
787
836
  <div class="method-source-code" id="search_bookmarks-source">
788
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 158</span>
837
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 160</span>
789
838
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_bookmarks</span>(<span class="ruby-identifier">search</span>, <span class="ruby-identifier">opts</span>)
790
839
  <span class="ruby-keyword">unless</span> <span class="ruby-identifier">search</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">search</span>.<span class="ruby-identifier">empty?</span>
791
840
  <span class="ruby-identifier">result</span> = <span class="ruby-identifier">search_name</span>(<span class="ruby-identifier">search</span>)
@@ -824,7 +873,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
824
873
  <p>Search boomark names/titles. Return array of bookmark hashes.</p>
825
874
 
826
875
  <div class="method-source-code" id="search_name-source">
827
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 104</span>
876
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 106</span>
828
877
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_name</span>(<span class="ruby-identifier">search</span>)
829
878
  <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
830
879
  set searchString to &quot;#{search.strip}&quot;
@@ -858,7 +907,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
858
907
  <p>Search bookmark paths and addresses. Return array of bookmark hashes.</p>
859
908
 
860
909
  <div class="method-source-code" id="search_path_or_address-source">
861
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 122</span>
910
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 124</span>
862
911
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_path_or_address</span>(<span class="ruby-identifier">search</span>)
863
912
  <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
864
913
  set searchString to &quot;#{search.strip}&quot;
@@ -892,7 +941,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
892
941
  <p>Generate a menu of available hooks for selecting one or more hooks to operate on. Revamped to use `fzf`, which is embedded as `lib/helpers/fuzzyfilefinder` to avoid any conflicts. Allows multiple selections with tab key, and type-ahead fuzzy filtering of results.</p>
893
942
 
894
943
  <div class="method-source-code" id="select_hook-source">
895
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 198</span>
944
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 200</span>
896
945
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">select_hook</span>(<span class="ruby-identifier">marks</span>)
897
946
  <span class="ruby-comment"># intpad = marks.length.to_s.length + 1</span>
898
947
  <span class="ruby-comment"># marks.each_with_index do |mark, i|</span>
@@ -939,12 +988,10 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
939
988
  <span class="ruby-string">&#39;--delimiter=&quot;\t&quot;&#39;</span>,
940
989
  <span class="ruby-string">&#39;--with-nth=1,4&#39;</span>,
941
990
  <span class="ruby-string">&#39;--height=60%&#39;</span>,
942
- <span class="ruby-string">&#39;--min-height=10&#39;</span>
943
- ]
944
-
945
- <span class="ruby-identifier">fzf</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword">__FILE__</span>), <span class="ruby-string">&#39;../helpers/fuzzyfilefinder&#39;</span>)
991
+ <span class="ruby-string">&#39;--min-height=10&#39;</span>]
946
992
 
947
993
  <span class="ruby-identifier">sel</span> = <span class="ruby-node">`echo #{Shellwords.escape(options.join(&quot;\n&quot;))} | &#39;#{fzf}&#39; #{args.join(&#39; &#39;)}`</span>.<span class="ruby-identifier">chomp</span>
994
+
948
995
  <span class="ruby-identifier">res</span> = <span class="ruby-identifier">sel</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\n/</span>).<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
949
996
  <span class="ruby-identifier">ps</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\t/</span>)
950
997
  { <span class="ruby-value">name:</span> <span class="ruby-identifier">ps</span>[<span class="ruby-value">0</span>], <span class="ruby-value">path:</span> <span class="ruby-identifier">ps</span>[<span class="ruby-value">1</span>], <span class="ruby-value">url:</span> <span class="ruby-identifier">ps</span>[<span class="ruby-value">2</span>] }
@@ -969,7 +1016,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
969
1016
  <p>Check if format fully matches or matches the first character of available options. Return full valid format or nil</p>
970
1017
 
971
1018
  <div class="method-source-code" id="validate_format-source">
972
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 18</span>
1019
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 20</span>
973
1020
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">validate_format</span>(<span class="ruby-identifier">fmt</span>, <span class="ruby-identifier">options</span>)
974
1021
  <span class="ruby-identifier">valid_format_rx</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">format</span><span class="ruby-operator">|</span> <span class="ruby-identifier">format</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/^(.)(.*)$/</span>, <span class="ruby-string">&#39;^\1(\2)?$&#39;</span>) }
975
1022
  <span class="ruby-identifier">valid_format</span> = <span class="ruby-keyword">nil</span>
@@ -996,7 +1043,7 @@ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby
996
1043
 
997
1044
  <footer id="validator-badges" role="contentinfo">
998
1045
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
999
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
1046
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
1000
1047
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1001
1048
  </footer>
1002
1049
 
data/html/Hooker.html CHANGED
@@ -116,7 +116,7 @@
116
116
  </div>
117
117
 
118
118
  <div class="method-source-code" id="new-source">
119
- <pre><span class="ruby-comment"># File lib/hook/hooker.rb, line 5</span>
119
+ <pre><span class="ruby-comment"># File lib/hook/hooker.rb, line 6</span>
120
120
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>
121
121
  <span class="ruby-keyword">super</span>
122
122
  <span class="ruby-identifier">warn</span> <span class="ruby-string">&quot;Using Hooker class is deprecated, update to use HookApp instead&quot;</span>
@@ -135,7 +135,7 @@
135
135
 
136
136
  <footer id="validator-badges" role="contentinfo">
137
137
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
138
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
138
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
139
139
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
140
140
  </footer>
141
141
 
@@ -64,6 +64,7 @@
64
64
  <li><a href="#label--help">–help</a>
65
65
  <li><a href="#label--version">–version</a>
66
66
  <li><a href="#label-Commands">Commands</a>
67
+ <li><a href="#label-Command-3A+browse++PATH_OR_GLOB">Command: <code>browse PATH_OR_GLOB</code></a>
67
68
  <li><a href="#label-Command-3A+clip-7Ccp++FILE_OR_URL">Command: <code>clip|cp FILE_OR_URL</code></a>
68
69
  <li><a href="#label-Options">Options</a>
69
70
  <li><a href="#label-a-7C--app+APP_NAME">-a|–app APP_NAME</a>
@@ -132,7 +133,7 @@
132
133
 
133
134
  <p>This gem includes a `hook` binary that allows interaction with the features of Hook.app.</p>
134
135
 
135
- <p>v2.0.7</p>
136
+ <p>v2.0.11</p>
136
137
 
137
138
  <h3 id="label-Global+Options">Global Options<span><a href="#label-Global+Options">&para;</a> <a href="#top">&uarr;</a></span></h3>
138
139
 
@@ -146,6 +147,12 @@
146
147
 
147
148
  <h3 id="label-Commands">Commands<span><a href="#label-Commands">&para;</a> <a href="#top">&uarr;</a></span></h3>
148
149
 
150
+ <h4 id="label-Command-3A+browse++PATH_OR_GLOB">Command: <code>browse PATH_OR_GLOB</code><span><a href="#label-Command-3A+browse++PATH_OR_GLOB">&para;</a> <a href="#top">&uarr;</a></span></h4>
151
+
152
+ <p>Browse hooks</p>
153
+
154
+ <p>Select a file to see its hooks, navigate through descendents</p>
155
+
149
156
  <h4 id="label-Command-3A+clip-7Ccp++FILE_OR_URL">Command: <code>clip|cp FILE_OR_URL</code><span><a href="#label-Command-3A+clip-7Ccp++FILE_OR_URL">&para;</a> <a href="#top">&uarr;</a></span></h4>
150
157
 
151
158
  <p>Copy <a href="Hook.html"><code>Hook</code></a> URL for file/url to clipboard</p>
@@ -348,7 +355,7 @@
348
355
 
349
356
  <footer id="validator-badges" role="contentinfo">
350
357
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
351
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
358
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
352
359
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
353
360
  </footer>
354
361
 
data/html/String.html CHANGED
@@ -329,7 +329,7 @@
329
329
 
330
330
  <footer id="validator-badges" role="contentinfo">
331
331
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
332
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
332
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
333
333
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
334
334
  </footer>
335
335
 
data/html/created.rid CHANGED
@@ -1,9 +1,10 @@
1
- Sun, 26 Sep 2021 11:17:54 -0500
1
+ Tue, 19 Jul 2022 14:14:13 -0500
2
2
  README.rdoc Tue, 07 Jul 2020 16:57:07 -0500
3
- lib/hook.rb Sat, 18 Sep 2021 12:27:39 -0500
4
- lib/hook/hookapp.rb Sun, 26 Sep 2021 10:18:14 -0500
5
- lib/hook/hooker.rb Sat, 18 Sep 2021 12:22:34 -0500
3
+ lib/hook.rb Thu, 26 May 2022 08:20:27 -0500
4
+ lib/hook/hookapp.rb Tue, 19 Jul 2022 14:11:18 -0500
5
+ lib/hook/hooker.rb Sun, 31 Oct 2021 07:54:46 -0500
6
6
  lib/hook/markdown_document_listener.rb Sun, 26 Sep 2021 07:45:59 -0500
7
- lib/hook/string.rb Sat, 25 Sep 2021 03:43:59 -0500
8
- lib/hook/version.rb Sun, 26 Sep 2021 11:17:38 -0500
9
- bin/hook Sun, 26 Sep 2021 11:09:37 -0500
7
+ lib/hook/prompt.rb Thu, 26 May 2022 08:20:13 -0500
8
+ lib/hook/string.rb Sun, 31 Oct 2021 07:03:15 -0500
9
+ lib/hook/version.rb Tue, 19 Jul 2022 14:13:19 -0500
10
+ bin/hook Tue, 19 Jul 2022 14:11:16 -0500