hookapp 2.0.3 → 2.0.8
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/.gitignore +1 -0
- data/AUTHORS.md +4 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +49 -66
- data/LICENSE +21 -0
- data/README.md +52 -19
- data/Rakefile +7 -3
- data/bin/hook +114 -78
- data/buildnotes.md +30 -0
- data/hook.rdoc +35 -11
- data/hookapp.gemspec +2 -2
- data/html/App.html +6 -18
- data/html/GLI/Commands/Doc.html +2 -10
- data/html/GLI/Commands/MarkdownDocumentListener.html +34 -230
- data/html/GLI/Commands.html +2 -10
- data/html/GLI.html +2 -10
- data/html/Hook.html +2 -15
- data/html/HookApp.html +99 -319
- data/html/Hooker.html +46 -24
- data/html/README_rdoc.html +49 -23
- data/html/String.html +28 -120
- data/html/created.rid +8 -8
- data/html/css/rdoc.css +21 -1
- data/html/index.html +38 -29
- data/html/js/navigation.js.gz +0 -0
- data/html/js/search_index.js +1 -1
- data/html/js/search_index.js.gz +0 -0
- data/html/js/searcher.js.gz +0 -0
- data/html/table_of_contents.html +33 -77
- data/lib/helpers/fuzzyfilefinder +0 -0
- data/lib/hook/hookapp.rb +39 -21
- data/lib/hook/hooker.rb +5 -2
- data/lib/hook/markdown_document_listener.rb +12 -2
- data/lib/hook/string.rb +4 -0
- data/lib/hook/version.rb +1 -1
- data/lib/hook.rb +5 -4
- data/test/helpers/hook-helpers.rb +76 -0
- data/test/hook_clip_test.rb +24 -0
- data/test/hook_clone_test.rb +30 -0
- data/test/hook_encode_test.rb +30 -0
- data/test/hook_link_test.rb +39 -0
- data/test/hook_list_test.rb +25 -0
- data/test/hook_remove_test.rb +34 -0
- data/test/hook_scripts_test.rb +21 -0
- metadata +19 -22
- data/test/default_test.rb +0 -14
- data/test/hookfiles/01.test +0 -0
- data/test/hookfiles/02.test +0 -0
- data/test/hookfiles/03.test +0 -0
- data/test/hookfiles/04.test +0 -0
- data/test/hookfiles/05.test +0 -0
- data/test/hookfiles/06.test +0 -0
- data/test/hookfiles/07.test +0 -0
- data/test/hookfiles/08.test +0 -0
- data/test/hookfiles/09.test +0 -0
- data/test/hookfiles/10.test +0 -0
- data/test/hookfiles/11.test +0 -0
- data/test/hookfiles/12.test +0 -0
data/html/HookApp.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<head>
|
5
5
|
<meta charset="UTF-8">
|
6
6
|
|
7
|
-
<title>
|
7
|
+
<title>class HookApp - hookapp</title>
|
8
8
|
|
9
9
|
<script type="text/javascript">
|
10
10
|
var rdoc_rel_prefix = "./";
|
@@ -21,9 +21,7 @@
|
|
21
21
|
<link href="./css/rdoc.css" rel="stylesheet">
|
22
22
|
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
<body id="top" role="document" class="module">
|
24
|
+
<body id="top" role="document" class="class">
|
27
25
|
<nav role="navigation">
|
28
26
|
<div id="project-navigation">
|
29
27
|
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
@@ -60,65 +58,52 @@
|
|
60
58
|
<div id="class-metadata">
|
61
59
|
|
62
60
|
|
61
|
+
<div id="parent-class-section" class="nav-section">
|
62
|
+
<h3>Parent</h3>
|
63
|
+
|
64
|
+
<p class="link">Object
|
65
|
+
</div>
|
66
|
+
|
67
|
+
|
63
68
|
|
64
69
|
|
65
|
-
|
70
|
+
<!-- Method Quickref -->
|
66
71
|
<div id="method-list-section" class="nav-section">
|
67
72
|
<h3>Methods</h3>
|
68
73
|
|
69
74
|
<ul class="link-list" role="directory">
|
70
|
-
|
71
75
|
<li ><a href="#method-i-all_bookmarks">#all_bookmarks</a>
|
72
|
-
|
73
76
|
<li ><a href="#method-i-bookmark_for">#bookmark_for</a>
|
74
|
-
|
75
77
|
<li ><a href="#method-i-bookmark_from_app">#bookmark_from_app</a>
|
76
|
-
|
77
78
|
<li ><a href="#method-i-clip_bookmark">#clip_bookmark</a>
|
78
|
-
|
79
79
|
<li ><a href="#method-i-clone_hooks">#clone_hooks</a>
|
80
|
-
|
81
80
|
<li ><a href="#method-i-copy_bookmark">#copy_bookmark</a>
|
82
|
-
|
81
|
+
<li ><a href="#method-i-decode">#decode</a>
|
83
82
|
<li ><a href="#method-i-delete_all_hooks">#delete_all_hooks</a>
|
84
|
-
|
85
83
|
<li ><a href="#method-i-delete_hooks">#delete_hooks</a>
|
86
|
-
|
84
|
+
<li ><a href="#method-i-encode">#encode</a>
|
87
85
|
<li ><a href="#method-i-format_regex">#format_regex</a>
|
88
|
-
|
89
86
|
<li ><a href="#method-i-get_hooks">#get_hooks</a>
|
90
|
-
|
91
87
|
<li ><a href="#method-i-link_all">#link_all</a>
|
92
|
-
|
93
88
|
<li ><a href="#method-i-link_files">#link_files</a>
|
94
|
-
|
95
89
|
<li ><a href="#method-i-linked_bookmarks">#linked_bookmarks</a>
|
96
|
-
|
97
90
|
<li ><a href="#method-i-open_gui">#open_gui</a>
|
98
|
-
|
99
91
|
<li ><a href="#method-i-open_linked">#open_linked</a>
|
100
|
-
|
101
92
|
<li ><a href="#method-i-output_array">#output_array</a>
|
102
|
-
|
103
93
|
<li ><a href="#method-i-search_bookmarks">#search_bookmarks</a>
|
104
|
-
|
105
94
|
<li ><a href="#method-i-search_name">#search_name</a>
|
106
|
-
|
107
95
|
<li ><a href="#method-i-search_path_or_address">#search_path_or_address</a>
|
108
|
-
|
109
96
|
<li ><a href="#method-i-select_hook">#select_hook</a>
|
110
|
-
|
111
97
|
<li ><a href="#method-i-validate_format">#validate_format</a>
|
112
|
-
|
113
98
|
</ul>
|
114
99
|
</div>
|
115
100
|
|
116
101
|
</div>
|
117
102
|
</nav>
|
118
103
|
|
119
|
-
<main role="main" aria-labelledby="
|
120
|
-
<h1 id="
|
121
|
-
|
104
|
+
<main role="main" aria-labelledby="class-HookApp">
|
105
|
+
<h1 id="class-HookApp" class="class">
|
106
|
+
class HookApp
|
122
107
|
</h1>
|
123
108
|
|
124
109
|
<section class="description">
|
@@ -127,41 +112,27 @@
|
|
127
112
|
|
128
113
|
</section>
|
129
114
|
|
130
|
-
|
131
115
|
<section id="5Buntitled-5D" class="documentation-section">
|
132
|
-
|
133
116
|
|
134
|
-
|
135
117
|
|
136
|
-
|
137
118
|
|
138
|
-
|
139
119
|
|
140
|
-
|
120
|
+
|
141
121
|
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
142
122
|
<header>
|
143
123
|
<h3>Public Instance Methods</h3>
|
144
124
|
</header>
|
145
125
|
|
146
|
-
|
147
126
|
<div id="method-i-all_bookmarks" class="method-detail ">
|
148
|
-
|
149
127
|
<div class="method-heading">
|
150
128
|
<span class="method-name">all_bookmarks</span><span
|
151
129
|
class="method-args">()</span>
|
152
|
-
|
153
130
|
<span class="method-click-advice">click to toggle source</span>
|
154
|
-
|
155
131
|
</div>
|
156
|
-
|
157
132
|
|
158
133
|
<div class="method-description">
|
159
|
-
|
160
134
|
<p>Get all known bookmarks. Return array of bookmark hashes.</p>
|
161
|
-
|
162
|
-
|
163
135
|
|
164
|
-
|
165
136
|
<div class="method-source-code" id="all_bookmarks-source">
|
166
137
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 140</span>
|
167
138
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">all_bookmarks</span>
|
@@ -180,33 +151,21 @@
|
|
180
151
|
APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split_hooks</span>
|
181
152
|
<span class="ruby-keyword">end</span></pre>
|
182
153
|
</div>
|
183
|
-
|
184
154
|
</div>
|
185
155
|
|
186
|
-
|
187
156
|
|
188
|
-
|
189
157
|
</div>
|
190
158
|
|
191
|
-
|
192
159
|
<div id="method-i-bookmark_for" class="method-detail ">
|
193
|
-
|
194
160
|
<div class="method-heading">
|
195
161
|
<span class="method-name">bookmark_for</span><span
|
196
162
|
class="method-args">(url)</span>
|
197
|
-
|
198
163
|
<span class="method-click-advice">click to toggle source</span>
|
199
|
-
|
200
164
|
</div>
|
201
|
-
|
202
165
|
|
203
166
|
<div class="method-description">
|
204
|
-
|
205
167
|
<p>Get a <a href="Hook.html"><code>Hook</code></a> bookmark for file or URL. Return bookmark hash.</p>
|
206
|
-
|
207
|
-
|
208
168
|
|
209
|
-
|
210
169
|
<div class="method-source-code" id="bookmark_for-source">
|
211
170
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 32</span>
|
212
171
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bookmark_for</span>(<span class="ruby-identifier">url</span>)
|
@@ -232,33 +191,21 @@
|
|
232
191
|
<span class="ruby-identifier">mark</span>.<span class="ruby-identifier">split_hook</span>
|
233
192
|
<span class="ruby-keyword">end</span></pre>
|
234
193
|
</div>
|
235
|
-
|
236
194
|
</div>
|
237
195
|
|
238
|
-
|
239
196
|
|
240
|
-
|
241
197
|
</div>
|
242
198
|
|
243
|
-
|
244
199
|
<div id="method-i-bookmark_from_app" class="method-detail ">
|
245
|
-
|
246
200
|
<div class="method-heading">
|
247
201
|
<span class="method-name">bookmark_from_app</span><span
|
248
202
|
class="method-args">(app, opts)</span>
|
249
|
-
|
250
203
|
<span class="method-click-advice">click to toggle source</span>
|
251
|
-
|
252
204
|
</div>
|
253
|
-
|
254
205
|
|
255
206
|
<div class="method-description">
|
256
|
-
|
257
207
|
<p>Get a bookmark from the foreground document of specified app.</p>
|
258
|
-
|
259
|
-
|
260
208
|
|
261
|
-
|
262
209
|
<div class="method-source-code" id="bookmark_from_app-source">
|
263
210
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 81</span>
|
264
211
|
<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>)
|
@@ -283,33 +230,21 @@
|
|
283
230
|
<span class="ruby-keyword">end</span>
|
284
231
|
<span class="ruby-keyword">end</span></pre>
|
285
232
|
</div>
|
286
|
-
|
287
233
|
</div>
|
288
234
|
|
289
|
-
|
290
235
|
|
291
|
-
|
292
236
|
</div>
|
293
237
|
|
294
|
-
|
295
238
|
<div id="method-i-clip_bookmark" class="method-detail ">
|
296
|
-
|
297
239
|
<div class="method-heading">
|
298
240
|
<span class="method-name">clip_bookmark</span><span
|
299
241
|
class="method-args">(url, opts)</span>
|
300
|
-
|
301
242
|
<span class="method-click-advice">click to toggle source</span>
|
302
|
-
|
303
243
|
</div>
|
304
|
-
|
305
244
|
|
306
245
|
<div class="method-description">
|
307
|
-
|
308
246
|
<p>Create a bookmark for specified file/url and copy to the clipboard.</p>
|
309
|
-
|
310
|
-
|
311
247
|
|
312
|
-
|
313
248
|
<div class="method-source-code" id="clip_bookmark-source">
|
314
249
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 181</span>
|
315
250
|
<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>)
|
@@ -317,35 +252,23 @@
|
|
317
252
|
<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>)
|
318
253
|
<span class="ruby-keyword">end</span></pre>
|
319
254
|
</div>
|
320
|
-
|
321
255
|
</div>
|
322
256
|
|
323
|
-
|
324
257
|
|
325
|
-
|
326
258
|
</div>
|
327
259
|
|
328
|
-
|
329
260
|
<div id="method-i-clone_hooks" class="method-detail ">
|
330
|
-
|
331
261
|
<div class="method-heading">
|
332
262
|
<span class="method-name">clone_hooks</span><span
|
333
263
|
class="method-args">(args)</span>
|
334
|
-
|
335
264
|
<span class="method-click-advice">click to toggle source</span>
|
336
|
-
|
337
265
|
</div>
|
338
|
-
|
339
266
|
|
340
267
|
<div class="method-description">
|
341
|
-
|
342
268
|
<p>Copy all hooks from source file to target file</p>
|
343
|
-
|
344
|
-
|
345
269
|
|
346
|
-
|
347
270
|
<div class="method-source-code" id="clone_hooks-source">
|
348
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
271
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 313</span>
|
349
272
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clone_hooks</span>(<span class="ruby-identifier">args</span>)
|
350
273
|
<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>
|
351
274
|
<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>
|
@@ -368,33 +291,21 @@
|
|
368
291
|
<span class="ruby-keyword">end</span>
|
369
292
|
<span class="ruby-keyword">end</span></pre>
|
370
293
|
</div>
|
371
|
-
|
372
294
|
</div>
|
373
295
|
|
374
|
-
|
375
296
|
|
376
|
-
|
377
297
|
</div>
|
378
298
|
|
379
|
-
|
380
299
|
<div id="method-i-copy_bookmark" class="method-detail ">
|
381
|
-
|
382
300
|
<div class="method-heading">
|
383
301
|
<span class="method-name">copy_bookmark</span><span
|
384
302
|
class="method-args">(title, url, opts)</span>
|
385
|
-
|
386
303
|
<span class="method-click-advice">click to toggle source</span>
|
387
|
-
|
388
304
|
</div>
|
389
|
-
|
390
305
|
|
391
306
|
<div class="method-description">
|
392
|
-
|
393
307
|
<p>Create a bookmark from specified title and url and copy to the clipboard.</p>
|
394
|
-
|
395
|
-
|
396
308
|
|
397
|
-
|
398
309
|
<div class="method-source-code" id="copy_bookmark-source">
|
399
310
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 187</span>
|
400
311
|
<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>)
|
@@ -405,39 +316,56 @@
|
|
405
316
|
<span class="ruby-node">%(Copied #{opts[:markdown] ? 'Markdown link' : 'Hook URL'} for '#{title}' to clipboard)</span>
|
406
317
|
<span class="ruby-keyword">end</span></pre>
|
407
318
|
</div>
|
319
|
+
</div>
|
320
|
+
|
321
|
+
|
322
|
+
</div>
|
323
|
+
|
324
|
+
<div id="method-i-decode" class="method-detail ">
|
325
|
+
<div class="method-heading">
|
326
|
+
<span class="method-name">decode</span><span
|
327
|
+
class="method-args">(string)</span>
|
328
|
+
<span class="method-click-advice">click to toggle source</span>
|
329
|
+
</div>
|
330
|
+
|
331
|
+
<div class="method-description">
|
408
332
|
|
333
|
+
|
334
|
+
<div class="method-source-code" id="decode-source">
|
335
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 499</span>
|
336
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decode</span>(<span class="ruby-identifier">string</span>)
|
337
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript <<'APPLESCRIPT'
|
338
|
+
tell application "Hook"
|
339
|
+
percent decode "#{string.escape_quotes}"
|
340
|
+
end tell
|
341
|
+
APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>
|
342
|
+
<span class="ruby-identifier">print</span> <span class="ruby-identifier">result</span>
|
343
|
+
<span class="ruby-keyword">end</span></pre>
|
344
|
+
</div>
|
409
345
|
</div>
|
410
346
|
|
411
|
-
|
412
347
|
|
413
|
-
|
414
348
|
</div>
|
415
349
|
|
416
|
-
|
417
350
|
<div id="method-i-delete_all_hooks" class="method-detail ">
|
418
|
-
|
419
351
|
<div class="method-heading">
|
420
352
|
<span class="method-name">delete_all_hooks</span><span
|
421
|
-
class="method-args">(url)</span>
|
422
|
-
|
353
|
+
class="method-args">(url, force: false)</span>
|
423
354
|
<span class="method-click-advice">click to toggle source</span>
|
424
|
-
|
425
355
|
</div>
|
426
|
-
|
427
356
|
|
428
357
|
<div class="method-description">
|
429
|
-
|
430
358
|
<p>Delete all hooked files/urls from target file</p>
|
431
|
-
|
432
|
-
|
433
359
|
|
434
|
-
|
435
360
|
<div class="method-source-code" id="delete_all_hooks-source">
|
436
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
437
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">delete_all_hooks</span>(<span class="ruby-identifier">url</span>)
|
438
|
-
<span class="ruby-
|
439
|
-
|
440
|
-
|
361
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 336</span>
|
362
|
+
<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
|
+
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">force</span>
|
364
|
+
<span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span> <span class="ruby-node">"Are you sure you want to delete ALL hooks from #{url} (y/N)? "</span>
|
365
|
+
<span class="ruby-identifier">res</span> = <span class="ruby-constant">STDIN</span>.<span class="ruby-identifier">gets</span>.<span class="ruby-identifier">strip</span>
|
366
|
+
<span class="ruby-keyword">end</span>
|
367
|
+
|
368
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^y/i</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">force</span>
|
441
369
|
<span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hook</span><span class="ruby-operator">|</span>
|
442
370
|
<span class="ruby-node">`osascript <<'APPLESCRIPT'
|
443
371
|
tell application "Hook"
|
@@ -452,35 +380,23 @@
|
|
452
380
|
<span class="ruby-keyword">end</span>
|
453
381
|
<span class="ruby-keyword">end</span></pre>
|
454
382
|
</div>
|
455
|
-
|
456
383
|
</div>
|
457
384
|
|
458
|
-
|
459
385
|
|
460
|
-
|
461
386
|
</div>
|
462
387
|
|
463
|
-
|
464
388
|
<div id="method-i-delete_hooks" class="method-detail ">
|
465
|
-
|
466
389
|
<div class="method-heading">
|
467
390
|
<span class="method-name">delete_hooks</span><span
|
468
391
|
class="method-args">(args, opts)</span>
|
469
|
-
|
470
392
|
<span class="method-click-advice">click to toggle source</span>
|
471
|
-
|
472
393
|
</div>
|
473
|
-
|
474
394
|
|
475
395
|
<div class="method-description">
|
476
|
-
|
477
396
|
<p>Delete hooks between two files/urls</p>
|
478
|
-
|
479
|
-
|
480
397
|
|
481
|
-
|
482
398
|
<div class="method-source-code" id="delete_hooks-source">
|
483
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
399
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 358</span>
|
484
400
|
<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>)
|
485
401
|
<span class="ruby-identifier">urls</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&</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> }
|
486
402
|
<span class="ruby-identifier">output</span> = []
|
@@ -488,7 +404,7 @@
|
|
488
404
|
<span class="ruby-identifier">urls</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
489
405
|
<span class="ruby-identifier">raise</span> <span class="ruby-node">"Invalid target: #{args[i]}"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">url</span>
|
490
406
|
|
491
|
-
<span class="ruby-identifier">output</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">delete_all_hooks</span>(<span class="ruby-identifier">url</span>))
|
407
|
+
<span class="ruby-identifier">output</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">delete_all_hooks</span>(<span class="ruby-identifier">url</span>, <span class="ruby-value">force:</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:force</span>]))
|
492
408
|
<span class="ruby-keyword">end</span>
|
493
409
|
<span class="ruby-keyword">return</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">"\n"</span>)
|
494
410
|
<span class="ruby-keyword">end</span>
|
@@ -510,33 +426,47 @@
|
|
510
426
|
<span class="ruby-keyword">end</span>
|
511
427
|
<span class="ruby-keyword">end</span></pre>
|
512
428
|
</div>
|
429
|
+
</div>
|
430
|
+
|
431
|
+
|
432
|
+
</div>
|
433
|
+
|
434
|
+
<div id="method-i-encode" class="method-detail ">
|
435
|
+
<div class="method-heading">
|
436
|
+
<span class="method-name">encode</span><span
|
437
|
+
class="method-args">(string)</span>
|
438
|
+
<span class="method-click-advice">click to toggle source</span>
|
439
|
+
</div>
|
440
|
+
|
441
|
+
<div class="method-description">
|
513
442
|
|
443
|
+
|
444
|
+
<div class="method-source-code" id="encode-source">
|
445
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 490</span>
|
446
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encode</span>(<span class="ruby-identifier">string</span>)
|
447
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript <<'APPLESCRIPT'
|
448
|
+
tell application "Hook"
|
449
|
+
percent encode "#{string.escape_quotes}"
|
450
|
+
end tell
|
451
|
+
APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/'/</span>,<span class="ruby-string">'%27'</span>)
|
452
|
+
<span class="ruby-identifier">print</span> <span class="ruby-identifier">result</span>
|
453
|
+
<span class="ruby-keyword">end</span></pre>
|
454
|
+
</div>
|
514
455
|
</div>
|
515
456
|
|
516
|
-
|
517
457
|
|
518
|
-
|
519
458
|
</div>
|
520
459
|
|
521
|
-
|
522
460
|
<div id="method-i-format_regex" class="method-detail ">
|
523
|
-
|
524
461
|
<div class="method-heading">
|
525
462
|
<span class="method-name">format_regex</span><span
|
526
463
|
class="method-args">(options)</span>
|
527
|
-
|
528
464
|
<span class="method-click-advice">click to toggle source</span>
|
529
|
-
|
530
465
|
</div>
|
531
|
-
|
532
466
|
|
533
467
|
<div class="method-description">
|
534
|
-
|
535
468
|
<p>Create a single regex for validation of an array by first char or full match.</p>
|
536
|
-
|
537
|
-
|
538
469
|
|
539
|
-
|
540
470
|
<div class="method-source-code" id="format_regex-source">
|
541
471
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 9</span>
|
542
472
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">format_regex</span>(<span class="ruby-identifier">options</span>)
|
@@ -545,33 +475,21 @@
|
|
545
475
|
<span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">"^(#{fmt_rx_array.join('|')})$"</span>,<span class="ruby-string">'i'</span>)
|
546
476
|
<span class="ruby-keyword">end</span></pre>
|
547
477
|
</div>
|
548
|
-
|
549
478
|
</div>
|
550
479
|
|
551
|
-
|
552
480
|
|
553
|
-
|
554
481
|
</div>
|
555
482
|
|
556
|
-
|
557
483
|
<div id="method-i-get_hooks" class="method-detail ">
|
558
|
-
|
559
484
|
<div class="method-heading">
|
560
485
|
<span class="method-name">get_hooks</span><span
|
561
486
|
class="method-args">(url)</span>
|
562
|
-
|
563
487
|
<span class="method-click-advice">click to toggle source</span>
|
564
|
-
|
565
488
|
</div>
|
566
|
-
|
567
489
|
|
568
490
|
<div class="method-description">
|
569
|
-
|
570
491
|
<p>Get bookmarks hooked to file or URL. Return array of bookmark hashes.</p>
|
571
|
-
|
572
|
-
|
573
492
|
|
574
|
-
|
575
493
|
<div class="method-source-code" id="get_hooks-source">
|
576
494
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 56</span>
|
577
495
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_hooks</span>(<span class="ruby-identifier">url</span>)
|
@@ -598,35 +516,23 @@
|
|
598
516
|
<span class="ruby-identifier">hooks</span>.<span class="ruby-identifier">split_hooks</span>
|
599
517
|
<span class="ruby-keyword">end</span></pre>
|
600
518
|
</div>
|
601
|
-
|
602
519
|
</div>
|
603
520
|
|
604
|
-
|
605
521
|
|
606
|
-
|
607
522
|
</div>
|
608
523
|
|
609
|
-
|
610
524
|
<div id="method-i-link_all" class="method-detail ">
|
611
|
-
|
612
525
|
<div class="method-heading">
|
613
526
|
<span class="method-name">link_all</span><span
|
614
527
|
class="method-args">(args)</span>
|
615
|
-
|
616
528
|
<span class="method-click-advice">click to toggle source</span>
|
617
|
-
|
618
529
|
</div>
|
619
|
-
|
620
530
|
|
621
531
|
<div class="method-description">
|
622
|
-
|
623
532
|
<p>Create bi-directional links between every file/url in the list of arguments</p>
|
624
|
-
|
625
|
-
|
626
533
|
|
627
|
-
|
628
534
|
<div class="method-source-code" id="link_all-source">
|
629
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
535
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 388</span>
|
630
536
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">link_all</span>(<span class="ruby-identifier">args</span>)
|
631
537
|
<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>
|
632
538
|
<span class="ruby-identifier">source</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">valid_hook</span>
|
@@ -645,35 +551,23 @@
|
|
645
551
|
<span class="ruby-node">"Linked #{args.length} files to each other"</span>
|
646
552
|
<span class="ruby-keyword">end</span></pre>
|
647
553
|
</div>
|
648
|
-
|
649
554
|
</div>
|
650
555
|
|
651
|
-
|
652
556
|
|
653
|
-
|
654
557
|
</div>
|
655
558
|
|
656
|
-
|
657
559
|
<div id="method-i-link_files" class="method-detail ">
|
658
|
-
|
659
560
|
<div class="method-heading">
|
660
561
|
<span class="method-name">link_files</span><span
|
661
562
|
class="method-args">(args)</span>
|
662
|
-
|
663
563
|
<span class="method-click-advice">click to toggle source</span>
|
664
|
-
|
665
564
|
</div>
|
666
|
-
|
667
565
|
|
668
566
|
<div class="method-description">
|
669
|
-
|
670
567
|
<p>Link 2 or more files/urls with bi-directional hooks.</p>
|
671
|
-
|
672
|
-
|
673
568
|
|
674
|
-
|
675
569
|
<div class="method-source-code" id="link_files-source">
|
676
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
570
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 290</span>
|
677
571
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">link_files</span>(<span class="ruby-identifier">args</span>)
|
678
572
|
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span>
|
679
573
|
<span class="ruby-identifier">target</span>.<span class="ruby-identifier">valid_hook!</span>
|
@@ -696,35 +590,23 @@
|
|
696
590
|
<span class="ruby-node">"Linked #{args.length} files to #{target}"</span>
|
697
591
|
<span class="ruby-keyword">end</span></pre>
|
698
592
|
</div>
|
699
|
-
|
700
593
|
</div>
|
701
594
|
|
702
|
-
|
703
595
|
|
704
|
-
|
705
596
|
</div>
|
706
597
|
|
707
|
-
|
708
598
|
<div id="method-i-linked_bookmarks" class="method-detail ">
|
709
|
-
|
710
599
|
<div class="method-heading">
|
711
600
|
<span class="method-name">linked_bookmarks</span><span
|
712
601
|
class="method-args">(args, opts)</span>
|
713
|
-
|
714
602
|
<span class="method-click-advice">click to toggle source</span>
|
715
|
-
|
716
603
|
</div>
|
717
|
-
|
718
604
|
|
719
605
|
<div class="method-description">
|
720
|
-
|
721
606
|
<p>Get a list of all hooks on a file/url.</p>
|
722
|
-
|
723
|
-
|
724
607
|
|
725
|
-
|
726
608
|
<div class="method-source-code" id="linked_bookmarks-source">
|
727
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
609
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 407</span>
|
728
610
|
<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>)
|
729
611
|
<span class="ruby-identifier">result</span> = []
|
730
612
|
|
@@ -754,7 +636,7 @@
|
|
754
636
|
<span class="ruby-identifier">hooks_arr</span> = <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>)
|
755
637
|
|
756
638
|
<span class="ruby-identifier">output</span> = <span class="ruby-identifier">output_array</span>(<span class="ruby-identifier">hooks_arr</span>, <span class="ruby-identifier">opts</span>)
|
757
|
-
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">push</span>({ <span class="ruby-value">file:</span> <span class="ruby-identifier">filename</span>, <span class="ruby-value">links:</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>) })
|
639
|
+
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">push</span>({ <span class="ruby-value">file:</span> <span class="ruby-identifier">filename</span>, <span class="ruby-value">links:</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>) }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
|
758
640
|
<span class="ruby-keyword">end</span>
|
759
641
|
|
760
642
|
|
@@ -771,35 +653,23 @@
|
|
771
653
|
<span class="ruby-identifier">result</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>)
|
772
654
|
<span class="ruby-keyword">end</span></pre>
|
773
655
|
</div>
|
774
|
-
|
775
656
|
</div>
|
776
657
|
|
777
|
-
|
778
658
|
|
779
|
-
|
780
659
|
</div>
|
781
660
|
|
782
|
-
|
783
661
|
<div id="method-i-open_gui" class="method-detail ">
|
784
|
-
|
785
662
|
<div class="method-heading">
|
786
663
|
<span class="method-name">open_gui</span><span
|
787
664
|
class="method-args">(url)</span>
|
788
|
-
|
789
665
|
<span class="method-click-advice">click to toggle source</span>
|
790
|
-
|
791
666
|
</div>
|
792
|
-
|
793
667
|
|
794
668
|
<div class="method-description">
|
795
|
-
|
796
669
|
<p>Open the <a href="Hook.html"><code>Hook</code></a> GUI for browsing/performing actions on a file or url</p>
|
797
|
-
|
798
|
-
|
799
670
|
|
800
|
-
|
801
671
|
<div class="method-source-code" id="open_gui-source">
|
802
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
672
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 259</span>
|
803
673
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">open_gui</span>(<span class="ruby-identifier">url</span>)
|
804
674
|
<span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript <<'APPLESCRIPT'
|
805
675
|
tell application "Hook"
|
@@ -815,76 +685,54 @@
|
|
815
685
|
<span class="ruby-identifier">raise</span> <span class="ruby-identifier">result</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">empty?</span>
|
816
686
|
<span class="ruby-keyword">end</span></pre>
|
817
687
|
</div>
|
818
|
-
|
819
688
|
</div>
|
820
689
|
|
821
|
-
|
822
690
|
|
823
|
-
|
824
691
|
</div>
|
825
692
|
|
826
|
-
|
827
693
|
<div id="method-i-open_linked" class="method-detail ">
|
828
|
-
|
829
694
|
<div class="method-heading">
|
830
695
|
<span class="method-name">open_linked</span><span
|
831
696
|
class="method-args">(url)</span>
|
832
|
-
|
833
697
|
<span class="method-click-advice">click to toggle source</span>
|
834
|
-
|
835
698
|
</div>
|
836
|
-
|
837
699
|
|
838
700
|
<div class="method-description">
|
839
|
-
|
840
701
|
<p>Select from a menu of available hooks and open using macOS `open`.</p>
|
841
|
-
|
842
|
-
|
843
702
|
|
844
|
-
|
845
703
|
<div class="method-source-code" id="open_linked-source">
|
846
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
704
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 275</span>
|
847
705
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">open_linked</span>(<span class="ruby-identifier">url</span>)
|
848
706
|
<span class="ruby-identifier">marks</span> = <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>)
|
849
707
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">marks</span>.<span class="ruby-identifier">empty?</span>
|
850
708
|
<span class="ruby-identifier">warn</span> <span class="ruby-node">"No hooks found for #{url}"</span>
|
851
709
|
<span class="ruby-keyword">else</span>
|
852
710
|
<span class="ruby-identifier">res</span> = <span class="ruby-identifier">select_hook</span>(<span class="ruby-identifier">marks</span>)
|
853
|
-
<span class="ruby-
|
854
|
-
<span class="ruby-
|
855
|
-
|
711
|
+
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">empty?</span>
|
712
|
+
<span class="ruby-identifier">res</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">mark</span><span class="ruby-operator">|</span>
|
713
|
+
<span class="ruby-node">`open '#{mark[:url]}'`</span>
|
714
|
+
}
|
715
|
+
<span class="ruby-keyword">end</span>
|
856
716
|
<span class="ruby-keyword">end</span>
|
857
717
|
<span class="ruby-keyword">end</span></pre>
|
858
718
|
</div>
|
859
|
-
|
860
719
|
</div>
|
861
720
|
|
862
|
-
|
863
721
|
|
864
|
-
|
865
722
|
</div>
|
866
723
|
|
867
|
-
|
868
724
|
<div id="method-i-output_array" class="method-detail ">
|
869
|
-
|
870
725
|
<div class="method-heading">
|
871
726
|
<span class="method-name">output_array</span><span
|
872
727
|
class="method-args">(hooks_arr, opts)</span>
|
873
|
-
|
874
728
|
<span class="method-click-advice">click to toggle source</span>
|
875
|
-
|
876
729
|
</div>
|
877
|
-
|
878
730
|
|
879
731
|
<div class="method-description">
|
880
|
-
|
881
732
|
<p>Output an array of hooks in the given format.</p>
|
882
|
-
|
883
|
-
|
884
733
|
|
885
|
-
|
886
734
|
<div class="method-source-code" id="output_array-source">
|
887
|
-
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line
|
735
|
+
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 454</span>
|
888
736
|
<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>)
|
889
737
|
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">hooks_arr</span>.<span class="ruby-identifier">empty?</span>
|
890
738
|
<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">''</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:files_only</span>]
|
@@ -915,39 +763,27 @@
|
|
915
763
|
<span class="ruby-keyword">end</span>
|
916
764
|
<span class="ruby-keyword">end</span>
|
917
765
|
<span class="ruby-keyword">else</span>
|
918
|
-
<span class="ruby-identifier">
|
766
|
+
<span class="ruby-identifier">warn</span> <span class="ruby-string">'No bookmarks'</span>
|
919
767
|
<span class="ruby-keyword">end</span>
|
920
768
|
|
921
769
|
<span class="ruby-identifier">output</span>
|
922
770
|
<span class="ruby-keyword">end</span></pre>
|
923
771
|
</div>
|
924
|
-
|
925
772
|
</div>
|
926
773
|
|
927
|
-
|
928
774
|
|
929
|
-
|
930
775
|
</div>
|
931
776
|
|
932
|
-
|
933
777
|
<div id="method-i-search_bookmarks" class="method-detail ">
|
934
|
-
|
935
778
|
<div class="method-heading">
|
936
779
|
<span class="method-name">search_bookmarks</span><span
|
937
780
|
class="method-args">(search, opts)</span>
|
938
|
-
|
939
781
|
<span class="method-click-advice">click to toggle source</span>
|
940
|
-
|
941
782
|
</div>
|
942
|
-
|
943
783
|
|
944
784
|
<div class="method-description">
|
945
|
-
|
946
785
|
<p>Search bookmarks, using both names and addresses unless options contain “:names_only”. Return results as formatted list.</p>
|
947
|
-
|
948
|
-
|
949
786
|
|
950
|
-
|
951
787
|
<div class="method-source-code" id="search_bookmarks-source">
|
952
788
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 158</span>
|
953
789
|
<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>)
|
@@ -966,39 +802,27 @@
|
|
966
802
|
<span class="ruby-identifier">output</span> = <span class="ruby-identifier">output_array</span>(<span class="ruby-identifier">result</span>, <span class="ruby-identifier">opts</span>)
|
967
803
|
|
968
804
|
<span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:format</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^v/</span>
|
969
|
-
<span class="ruby-node">"Search results for: #{search}\n---------\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">"\n"</span>)
|
805
|
+
<span class="ruby-node">"Search results for: #{search}\n---------\n"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">"\n"</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
|
970
806
|
<span class="ruby-keyword">else</span>
|
971
|
-
<span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>)
|
807
|
+
<span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
|
972
808
|
<span class="ruby-keyword">end</span>
|
973
809
|
<span class="ruby-keyword">end</span></pre>
|
974
810
|
</div>
|
975
|
-
|
976
811
|
</div>
|
977
812
|
|
978
|
-
|
979
813
|
|
980
|
-
|
981
814
|
</div>
|
982
815
|
|
983
|
-
|
984
816
|
<div id="method-i-search_name" class="method-detail ">
|
985
|
-
|
986
817
|
<div class="method-heading">
|
987
818
|
<span class="method-name">search_name</span><span
|
988
819
|
class="method-args">(search)</span>
|
989
|
-
|
990
820
|
<span class="method-click-advice">click to toggle source</span>
|
991
|
-
|
992
821
|
</div>
|
993
|
-
|
994
822
|
|
995
823
|
<div class="method-description">
|
996
|
-
|
997
824
|
<p>Search boomark names/titles. Return array of bookmark hashes.</p>
|
998
|
-
|
999
|
-
|
1000
825
|
|
1001
|
-
|
1002
826
|
<div class="method-source-code" id="search_name-source">
|
1003
827
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 104</span>
|
1004
828
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_name</span>(<span class="ruby-identifier">search</span>)
|
@@ -1018,33 +842,21 @@
|
|
1018
842
|
APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split_hooks</span>
|
1019
843
|
<span class="ruby-keyword">end</span></pre>
|
1020
844
|
</div>
|
1021
|
-
|
1022
845
|
</div>
|
1023
846
|
|
1024
|
-
|
1025
847
|
|
1026
|
-
|
1027
848
|
</div>
|
1028
849
|
|
1029
|
-
|
1030
850
|
<div id="method-i-search_path_or_address" class="method-detail ">
|
1031
|
-
|
1032
851
|
<div class="method-heading">
|
1033
852
|
<span class="method-name">search_path_or_address</span><span
|
1034
853
|
class="method-args">(search)</span>
|
1035
|
-
|
1036
854
|
<span class="method-click-advice">click to toggle source</span>
|
1037
|
-
|
1038
855
|
</div>
|
1039
|
-
|
1040
856
|
|
1041
857
|
<div class="method-description">
|
1042
|
-
|
1043
858
|
<p>Search bookmark paths and addresses. Return array of bookmark hashes.</p>
|
1044
|
-
|
1045
|
-
|
1046
859
|
|
1047
|
-
|
1048
860
|
<div class="method-source-code" id="search_path_or_address-source">
|
1049
861
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 122</span>
|
1050
862
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_path_or_address</span>(<span class="ruby-identifier">search</span>)
|
@@ -1064,33 +876,21 @@
|
|
1064
876
|
APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split_hooks</span>
|
1065
877
|
<span class="ruby-keyword">end</span></pre>
|
1066
878
|
</div>
|
1067
|
-
|
1068
879
|
</div>
|
1069
880
|
|
1070
|
-
|
1071
881
|
|
1072
|
-
|
1073
882
|
</div>
|
1074
883
|
|
1075
|
-
|
1076
884
|
<div id="method-i-select_hook" class="method-detail ">
|
1077
|
-
|
1078
885
|
<div class="method-heading">
|
1079
886
|
<span class="method-name">select_hook</span><span
|
1080
887
|
class="method-args">(marks)</span>
|
1081
|
-
|
1082
888
|
<span class="method-click-advice">click to toggle source</span>
|
1083
|
-
|
1084
889
|
</div>
|
1085
|
-
|
1086
890
|
|
1087
891
|
<div class="method-description">
|
1088
|
-
|
1089
892
|
<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>
|
1090
|
-
|
1091
|
-
|
1092
893
|
|
1093
|
-
|
1094
894
|
<div class="method-source-code" id="select_hook-source">
|
1095
895
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 198</span>
|
1096
896
|
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">select_hook</span>(<span class="ruby-identifier">marks</span>)
|
@@ -1131,7 +931,8 @@
|
|
1131
931
|
<span class="ruby-identifier">raise</span> <span class="ruby-string">"Error processing available hooks"</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">empty?</span>
|
1132
932
|
|
1133
933
|
<span class="ruby-identifier">args</span> = [<span class="ruby-string">'--layout=reverse-list'</span>,
|
1134
|
-
<span class="ruby-string">'--header="esc: cancel, tab: multi-select, return: open
|
934
|
+
<span class="ruby-string">'--header="esc: cancel, tab: multi-select, ctrl-a: select all, return: open"'</span>,
|
935
|
+
<span class="ruby-string">'--bind ctrl-a:select-all'</span>,
|
1135
936
|
<span class="ruby-string">'--prompt=" Select hooks > "'</span>,
|
1136
937
|
<span class="ruby-string">'--multi'</span>,
|
1137
938
|
<span class="ruby-string">'--tabstop=4'</span>,
|
@@ -1144,45 +945,29 @@
|
|
1144
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">'../helpers/fuzzyfilefinder'</span>)
|
1145
946
|
|
1146
947
|
<span class="ruby-identifier">sel</span> = <span class="ruby-node">`echo #{Shellwords.escape(options.join("\n"))} | '#{fzf}' #{args.join(' ')}`</span>.<span class="ruby-identifier">chomp</span>
|
1147
|
-
<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>
|
948
|
+
<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>
|
1148
949
|
<span class="ruby-identifier">ps</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\t/</span>)
|
1149
950
|
{ <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>] }
|
1150
|
-
}
|
1151
|
-
|
1152
|
-
<span class="ruby-keyword">if</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
1153
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-string">'Cancelled (empty response)'</span>
|
1154
951
|
<span class="ruby-keyword">end</span>
|
1155
952
|
|
1156
|
-
<span class="ruby-identifier">res</span>
|
953
|
+
<span class="ruby-identifier">res</span> <span class="ruby-operator">||</span> []
|
1157
954
|
<span class="ruby-keyword">end</span></pre>
|
1158
955
|
</div>
|
1159
|
-
|
1160
956
|
</div>
|
1161
957
|
|
1162
|
-
|
1163
958
|
|
1164
|
-
|
1165
959
|
</div>
|
1166
960
|
|
1167
|
-
|
1168
961
|
<div id="method-i-validate_format" class="method-detail ">
|
1169
|
-
|
1170
962
|
<div class="method-heading">
|
1171
963
|
<span class="method-name">validate_format</span><span
|
1172
964
|
class="method-args">(fmt, options)</span>
|
1173
|
-
|
1174
965
|
<span class="method-click-advice">click to toggle source</span>
|
1175
|
-
|
1176
966
|
</div>
|
1177
|
-
|
1178
967
|
|
1179
968
|
<div class="method-description">
|
1180
|
-
|
1181
969
|
<p>Check if format fully matches or matches the first character of available options. Return full valid format or nil</p>
|
1182
|
-
|
1183
|
-
|
1184
970
|
|
1185
|
-
|
1186
971
|
<div class="method-source-code" id="validate_format-source">
|
1187
972
|
<pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 18</span>
|
1188
973
|
<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>)
|
@@ -1198,25 +983,20 @@
|
|
1198
983
|
<span class="ruby-identifier">valid_format</span>
|
1199
984
|
<span class="ruby-keyword">end</span></pre>
|
1200
985
|
</div>
|
1201
|
-
|
1202
986
|
</div>
|
1203
987
|
|
1204
|
-
|
1205
988
|
|
1206
|
-
|
1207
989
|
</div>
|
1208
990
|
|
1209
|
-
|
1210
991
|
</section>
|
1211
|
-
|
1212
|
-
</section>
|
1213
992
|
|
993
|
+
</section>
|
1214
994
|
</main>
|
1215
995
|
|
1216
996
|
|
1217
997
|
<footer id="validator-badges" role="contentinfo">
|
1218
998
|
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
1219
|
-
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.
|
999
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
|
1220
1000
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
1221
1001
|
</footer>
|
1222
1002
|
|