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