hookapp 2.0.8 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17971d6f699aa3ec68b8b4d9903b112858c04484747c15117cea24b90839a4c9
4
- data.tar.gz: 3b4551d1d1553e4c70129341848584a1542bc4af7c00e2cacb1dd6bf540bf514
3
+ metadata.gz: 2f462bf978c37d12aea3ce3a7295369efd033dc157a3c89a51d3f0d5033e27c5
4
+ data.tar.gz: 87b79ea00550040435fbd2eadf7eb06c328c5024c098783e5e2263f8a4c86ace
5
5
  SHA512:
6
- metadata.gz: ad634683684e623978d4b60ad22beea237e228ae9ff3dc999e50e0083e2eba59b192a9e928e26057082d23124e2714c7f41b68ebb0ab68320239611959c521b9
7
- data.tar.gz: 336ee727add0a904bbf81a97e4327596e0936af32dd7bb66b6cf580ba9d35828212ee7c18a1ec8d87841c1edd7a20d1c30e24f8f2d7803bdcc8dd66986dd3f92
6
+ metadata.gz: ffa2690de523d14aeae2d2bfbe8b9d1e92e8bfd1ec9b225c480c17666633e1b204f1fac4a5b4789e114aab4280ce87effbbf95d0b674cf60cb55e18e9f917e04
7
+ data.tar.gz: a51a97bf835d892dcb300f904c701823a2de808a80c4ea24468ab0657c8b048dcc3fa85c0e5371fbd20120702d2d783f09b47c7b9cb4f39688881dcb363b86e1
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ #### 2.0.10
2
+
3
+ - Fix permissions issues when installed using sudo
4
+
5
+ #### 2.0.9
6
+
7
+ - Fix fzf integration across platforms
8
+
1
9
  #### 2.0.8
2
10
 
3
11
  - Bug fixes
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hookapp (2.0.7)
4
+ hookapp (2.0.11)
5
5
  gli (~> 2.20.1)
6
+ tty-which (~> 0.5, >= 0.5.0)
6
7
 
7
8
  GEM
8
9
  remote: http://rubygems.org/
@@ -17,53 +18,47 @@ GEM
17
18
  builder (3.2.4)
18
19
  childprocess (3.0.0)
19
20
  contracts (0.17)
20
- cucumber (7.0.0)
21
+ cucumber (8.0.0)
21
22
  builder (~> 3.2, >= 3.2.4)
22
- cucumber-core (~> 10.0, >= 10.0.1)
23
- cucumber-create-meta (~> 6.0, >= 6.0.1)
24
- cucumber-cucumber-expressions (~> 12.1, >= 12.1.1)
25
- cucumber-gherkin (~> 20.0, >= 20.0.1)
26
- cucumber-html-formatter (~> 16.0, >= 16.0.1)
27
- cucumber-messages (~> 17.0, >= 17.0.1)
28
- cucumber-wire (~> 6.0, >= 6.0.1)
29
- diff-lcs (~> 1.4, >= 1.4.4)
30
- mime-types (~> 3.3, >= 3.3.1)
31
- multi_test (~> 0.1, >= 0.1.2)
23
+ cucumber-ci-environment (~> 9.0, >= 9.0.4)
24
+ cucumber-core (~> 11.0, >= 11.0.0)
25
+ cucumber-cucumber-expressions (~> 15.1, >= 15.1.1)
26
+ cucumber-gherkin (~> 23.0, >= 23.0.1)
27
+ cucumber-html-formatter (~> 19.1, >= 19.1.0)
28
+ cucumber-messages (~> 18.0, >= 18.0.0)
29
+ diff-lcs (~> 1.5, >= 1.5.0)
30
+ mime-types (~> 3.4, >= 3.4.1)
31
+ multi_test (~> 1.1, >= 1.1.0)
32
32
  sys-uname (~> 1.2, >= 1.2.2)
33
- cucumber-core (10.0.1)
34
- cucumber-gherkin (~> 20.0, >= 20.0.1)
35
- cucumber-messages (~> 17.0, >= 17.0.1)
36
- cucumber-tag-expressions (~> 3.0, >= 3.0.1)
37
- cucumber-create-meta (6.0.1)
38
- cucumber-messages (~> 17.0, >= 17.0.1)
39
- sys-uname (~> 1.2, >= 1.2.2)
40
- cucumber-cucumber-expressions (12.1.3)
41
- cucumber-gherkin (20.0.1)
42
- cucumber-messages (~> 17.0, >= 17.0.1)
43
- cucumber-html-formatter (16.0.1)
44
- cucumber-messages (~> 17.0, >= 17.0.1)
45
- cucumber-messages (17.1.1)
46
- cucumber-tag-expressions (3.0.1)
47
- cucumber-wire (6.1.1)
48
- cucumber-core (~> 10.0, >= 10.0.1)
49
- cucumber-cucumber-expressions (~> 12.1, >= 12.1.2)
50
- cucumber-messages (~> 17.0, >= 17.0.1)
51
- diff-lcs (1.4.4)
52
- ffi (1.15.4)
33
+ cucumber-ci-environment (9.0.4)
34
+ cucumber-core (11.0.0)
35
+ cucumber-gherkin (~> 23.0, >= 23.0.1)
36
+ cucumber-messages (~> 18.0, >= 18.0.0)
37
+ cucumber-tag-expressions (~> 4.1, >= 4.1.0)
38
+ cucumber-cucumber-expressions (15.2.0)
39
+ cucumber-gherkin (23.0.1)
40
+ cucumber-messages (~> 18.0, >= 18.0.0)
41
+ cucumber-html-formatter (19.1.0)
42
+ cucumber-messages (~> 18.0, >= 18.0.0)
43
+ cucumber-messages (18.0.0)
44
+ cucumber-tag-expressions (4.1.0)
45
+ diff-lcs (1.5.0)
46
+ ffi (1.15.5)
53
47
  gli (2.20.1)
54
- mime-types (3.3.1)
48
+ mime-types (3.4.1)
55
49
  mime-types-data (~> 3.2015)
56
- mime-types-data (3.2021.0901)
57
- multi_test (0.1.2)
50
+ mime-types-data (3.2022.0105)
51
+ multi_test (1.1.0)
58
52
  rake (13.0.6)
59
- rdoc (6.3.2)
60
- rspec-expectations (3.10.1)
53
+ rdoc (6.3.3)
54
+ rspec-expectations (3.11.0)
61
55
  diff-lcs (>= 1.2.0, < 2.0)
62
- rspec-support (~> 3.10.0)
63
- rspec-support (3.10.2)
56
+ rspec-support (~> 3.11.0)
57
+ rspec-support (3.11.0)
64
58
  sys-uname (1.2.2)
65
59
  ffi (~> 1.1)
66
- thor (1.1.0)
60
+ thor (1.2.1)
61
+ tty-which (0.5.0)
67
62
 
68
63
  PLATFORMS
69
64
  ruby
data/README.md CHANGED
@@ -6,7 +6,7 @@ CLI interface for Hook.app (macOS)
6
6
 
7
7
  This gem includes a `hook` binary that allows interaction with the features of Hook.app.
8
8
 
9
- *v2.0.7*
9
+ *v2.0.11*
10
10
 
11
11
  ## Installation
12
12
 
@@ -101,6 +101,14 @@ Display the program version
101
101
 
102
102
  ## Commands
103
103
 
104
+ ### `$ hook` <mark>`browse`</mark> `PATH_OR_GLOB`
105
+
106
+ *Browse hooks*
107
+
108
+ > Select a file to see its hooks, navigate through descendents
109
+
110
+ * * * * * *
111
+
104
112
  ### `$ hook` <mark>`clip|cp`</mark> `FILE_OR_URL`
105
113
 
106
114
  *Copy Hook URL for file/url to clipboard*
@@ -358,5 +366,5 @@ This software is licensed under the MIT License.
358
366
  THE SOFTWARE.
359
367
 
360
368
 
361
- Documentation generated 2021-09-26 07:50
369
+ Documentation generated 2022-07-19 14:13
362
370
 
data/bin/hook CHANGED
@@ -242,6 +242,15 @@ filetype by macOS. Allows multiple selections with tab key, and type-ahead fuzzy
242
242
  end
243
243
  end
244
244
 
245
+ desc 'Browse hooks'
246
+ long_desc 'Select a file to see its hooks, navigate through descendents'
247
+ arg_name 'PATH_OR_GLOB'
248
+ command %i[browse] do |c|
249
+ c.action do |_, _, args|
250
+ hookapp.browse_bookmarks(args)
251
+ end
252
+ end
253
+
245
254
  desc 'Open the specified file or url in Hook GUI'
246
255
  long_desc 'Opens Hook.app on the specified file/URL for browsing and performing actions.
247
256
 
data/hook.rdoc CHANGED
@@ -4,7 +4,7 @@ Hook.app is a productivity tool for macOS <https://hookproductivity.com/>.
4
4
 
5
5
  This gem includes a `hook` binary that allows interaction with the features of Hook.app.
6
6
 
7
- v2.0.7
7
+ v2.0.11
8
8
 
9
9
  === Global Options
10
10
  === --help
@@ -18,6 +18,10 @@ Display the program version
18
18
 
19
19
 
20
20
  === Commands
21
+ ==== Command: <tt>browse PATH_OR_GLOB</tt>
22
+ Browse hooks
23
+
24
+ Select a file to see its hooks, navigate through descendents
21
25
  ==== Command: <tt>clip|cp FILE_OR_URL</tt>
22
26
  Copy Hook URL for file/url to clipboard
23
27
 
data/hookapp.gemspec CHANGED
@@ -20,4 +20,5 @@ Gem::Specification.new do |s|
20
20
  s.add_development_dependency('rake', '~> 13.0.1')
21
21
  s.add_development_dependency('rdoc', '~> 6.3.2')
22
22
  s.add_runtime_dependency('gli', '~> 2.20.1')
23
+ s.add_runtime_dependency('tty-which', '~> 0.5', '>= 0.5.0')
23
24
  end
data/html/App.html CHANGED
@@ -101,7 +101,7 @@
101
101
 
102
102
  <footer id="validator-badges" role="contentinfo">
103
103
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
104
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
104
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
105
105
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
106
106
  </footer>
107
107
 
@@ -85,7 +85,7 @@
85
85
 
86
86
  <footer id="validator-badges" role="contentinfo">
87
87
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
88
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
88
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
89
89
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
90
90
  </footer>
91
91
 
@@ -515,7 +515,7 @@
515
515
 
516
516
  <footer id="validator-badges" role="contentinfo">
517
517
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
518
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
518
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
519
519
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
520
520
  </footer>
521
521
 
@@ -85,7 +85,7 @@
85
85
 
86
86
  <footer id="validator-badges" role="contentinfo">
87
87
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
88
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
88
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
89
89
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
90
90
  </footer>
91
91
 
data/html/GLI.html CHANGED
@@ -85,7 +85,7 @@
85
85
 
86
86
  <footer id="validator-badges" role="contentinfo">
87
87
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
88
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
88
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
89
89
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
90
90
  </footer>
91
91
 
@@ -0,0 +1,100 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module Hook::Prompt - hookapp</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
12
+ </script>
13
+
14
+ <script src="../js/navigation.js" defer></script>
15
+ <script src="../js/search.js" defer></script>
16
+ <script src="../js/search_index.js" defer></script>
17
+ <script src="../js/searcher.js" defer></script>
18
+ <script src="../js/darkfish.js" defer></script>
19
+
20
+ <link href="../css/fonts.css" rel="stylesheet">
21
+ <link href="../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+ <body id="top" role="document" class="module">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+
62
+ <div id="includes-section" class="nav-section">
63
+ <h3>Included Modules</h3>
64
+
65
+ <ul class="link-list">
66
+ <li><a class="include" href="PromptSTD.html">Hook::PromptSTD</a>
67
+ <li><a class="include" href="PromptFZF.html">Hook::PromptFZF</a>
68
+ </ul>
69
+ </div>
70
+
71
+
72
+
73
+ </div>
74
+ </nav>
75
+
76
+ <main role="main" aria-labelledby="module-Hook::Prompt">
77
+ <h1 id="module-Hook::Prompt" class="module">
78
+ module Hook::Prompt
79
+ </h1>
80
+
81
+ <section class="description">
82
+
83
+ </section>
84
+
85
+ <section id="5Buntitled-5D" class="documentation-section">
86
+
87
+
88
+
89
+
90
+
91
+ </section>
92
+ </main>
93
+
94
+
95
+ <footer id="validator-badges" role="contentinfo">
96
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
97
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
98
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
99
+ </footer>
100
+
@@ -0,0 +1,243 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module Hook::PromptFZF - hookapp</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ var index_rel_prefix = "../";
12
+ </script>
13
+
14
+ <script src="../js/navigation.js" defer></script>
15
+ <script src="../js/search.js" defer></script>
16
+ <script src="../js/search_index.js" defer></script>
17
+ <script src="../js/searcher.js" defer></script>
18
+ <script src="../js/darkfish.js" defer></script>
19
+
20
+ <link href="../css/fonts.css" rel="stylesheet">
21
+ <link href="../css/rdoc.css" rel="stylesheet">
22
+
23
+
24
+ <body id="top" role="document" class="module">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+
62
+
63
+
64
+ <!-- Method Quickref -->
65
+ <div id="method-list-section" class="nav-section">
66
+ <h3>Methods</h3>
67
+
68
+ <ul class="link-list" role="directory">
69
+ <li ><a href="#method-i-fzf">#fzf</a>
70
+ <li ><a href="#method-i-install_fzf">#install_fzf</a>
71
+ <li ><a href="#method-i-uninstall_fzf">#uninstall_fzf</a>
72
+ <li ><a href="#method-i-which_fzf">#which_fzf</a>
73
+ </ul>
74
+ </div>
75
+
76
+ </div>
77
+ </nav>
78
+
79
+ <main role="main" aria-labelledby="module-Hook::PromptFZF">
80
+ <h1 id="module-Hook::PromptFZF" class="module">
81
+ module Hook::PromptFZF
82
+ </h1>
83
+
84
+ <section class="description">
85
+
86
+ <p>Methods for working installing/using FuzzyFileFinder</p>
87
+
88
+ </section>
89
+
90
+ <section id="5Buntitled-5D" class="documentation-section">
91
+
92
+
93
+
94
+
95
+
96
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
97
+ <header>
98
+ <h3>Public Instance Methods</h3>
99
+ </header>
100
+
101
+ <div id="method-i-fzf" class="method-detail ">
102
+ <div class="method-heading">
103
+ <span class="method-name">fzf</span><span
104
+ class="method-args">()</span>
105
+ <span class="method-click-advice">click to toggle source</span>
106
+ </div>
107
+
108
+ <div class="method-description">
109
+ <p>Get path to fzf binary, installing if needed</p>
110
+
111
+ <p>@return [String] Path to fzf binary</p>
112
+
113
+ <div class="method-source-code" id="fzf-source">
114
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 39</span>
115
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">fzf</span>
116
+ <span class="ruby-ivar">@fzf</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">install_fzf</span>
117
+ <span class="ruby-keyword">end</span></pre>
118
+ </div>
119
+ </div>
120
+
121
+
122
+ </div>
123
+
124
+ <div id="method-i-install_fzf" class="method-detail ">
125
+ <div class="method-heading">
126
+ <span class="method-name">install_fzf</span><span
127
+ class="method-args">(force: false)</span>
128
+ <span class="method-click-advice">click to toggle source</span>
129
+ </div>
130
+
131
+ <div class="method-description">
132
+ <p>Install fzf on the current system. Installs to a subdirectory of the gem</p>
133
+
134
+ <p>@param force [Boolean] If true, reinstall if</p>
135
+
136
+ <pre class="ruby"><span class="ruby-identifier">needed</span>
137
+ </pre>
138
+
139
+ <p>@return [String] Path to fzf binary</p>
140
+
141
+ <div class="method-source-code" id="install_fzf-source">
142
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 74</span>
143
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">install_fzf</span>(<span class="ruby-value">force:</span> <span class="ruby-keyword">false</span>)
144
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">force</span>
145
+ <span class="ruby-identifier">uninstall_fzf</span>
146
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">which_fzf</span>
147
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">which_fzf</span>
148
+ <span class="ruby-keyword">end</span>
149
+
150
+ <span class="ruby-identifier">fzf_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword">__FILE__</span>), <span class="ruby-string">&#39;../helpers/fzf&#39;</span>)
151
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">fzf_dir</span>) <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">fzf_dir</span>)
152
+ <span class="ruby-identifier">fzf_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">fzf_dir</span>, <span class="ruby-string">&#39;bin/fzf&#39;</span>)
153
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">fzf_bin</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">fzf_bin</span>)
154
+
155
+ <span class="ruby-identifier">warn</span> <span class="ruby-string">&#39;fzf: Compiling and installing fzf -- this will only happen once&#39;</span>
156
+ <span class="ruby-identifier">warn</span> <span class="ruby-string">&#39;fzf: fzf is copyright Junegunn Choi, MIT License &lt;https://github.com/junegunn/fzf/blob/master/LICENSE&gt;&#39;</span>
157
+
158
+ <span class="ruby-identifier">silence_std</span>
159
+ <span class="ruby-node">`&#39;#{fzf_dir}/install&#39; --bin --no-key-bindings --no-completion --no-update-rc --no-bash --no-zsh --no-fish &amp;&gt; /dev/null`</span>
160
+ <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">fzf_bin</span>)
161
+ <span class="ruby-identifier">restore_std</span>
162
+ <span class="ruby-identifier">warn</span> <span class="ruby-string">&#39;Error installing, trying again as root&#39;</span>
163
+ <span class="ruby-identifier">silence_std</span>
164
+ <span class="ruby-node">`sudo &#39;#{fzf_dir}/install&#39; --bin --no-key-bindings --no-completion --no-update-rc --no-bash --no-zsh --no-fish &amp;&gt; /dev/null`</span>
165
+ <span class="ruby-keyword">end</span>
166
+ <span class="ruby-identifier">restore_std</span>
167
+ <span class="ruby-keyword">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">fzf_bin</span>)
168
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&#39;fzf: unable to install fzf. You can install manually and Hook CLI will use the system version.&#39;</span>
169
+ <span class="ruby-identifier">puts</span> <span class="ruby-string">&#39;fzf: see https://github.com/junegunn/fzf#installation&#39;</span>
170
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-string">&#39;Error installing fzf, please report at https://github.com/ttscoff/hookapp/issues&#39;</span>)
171
+ <span class="ruby-keyword">end</span>
172
+
173
+ <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;fzf: installed to #{fzf}&quot;</span>
174
+ <span class="ruby-identifier">fzf_bin</span>
175
+ <span class="ruby-keyword">end</span></pre>
176
+ </div>
177
+ </div>
178
+
179
+
180
+ </div>
181
+
182
+ <div id="method-i-uninstall_fzf" class="method-detail ">
183
+ <div class="method-heading">
184
+ <span class="method-name">uninstall_fzf</span><span
185
+ class="method-args">()</span>
186
+ <span class="method-click-advice">click to toggle source</span>
187
+ </div>
188
+
189
+ <div class="method-description">
190
+ <p>Remove fzf binary</p>
191
+
192
+ <div class="method-source-code" id="uninstall_fzf-source">
193
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 46</span>
194
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">uninstall_fzf</span>
195
+ <span class="ruby-identifier">fzf_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword">__FILE__</span>), <span class="ruby-string">&#39;../helpers/fzf/bin/fzf&#39;</span>)
196
+ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_f</span>(<span class="ruby-identifier">fzf_bin</span>) <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">fzf_bin</span>)
197
+ <span class="ruby-identifier">warn</span> <span class="ruby-string">&#39;fzf: removed #{fzf_bin}&#39;</span>
198
+ <span class="ruby-keyword">end</span></pre>
199
+ </div>
200
+ </div>
201
+
202
+
203
+ </div>
204
+
205
+ <div id="method-i-which_fzf" class="method-detail ">
206
+ <div class="method-heading">
207
+ <span class="method-name">which_fzf</span><span
208
+ class="method-args">()</span>
209
+ <span class="method-click-advice">click to toggle source</span>
210
+ </div>
211
+
212
+ <div class="method-description">
213
+ <p>Return the path to the fzf binary</p>
214
+
215
+ <p>@return [String] Path to fzf</p>
216
+
217
+ <div class="method-source-code" id="which_fzf-source">
218
+ <pre><span class="ruby-comment"># File lib/hook/prompt.rb, line 57</span>
219
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">which_fzf</span>
220
+ <span class="ruby-identifier">fzf_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword">__FILE__</span>), <span class="ruby-string">&#39;../helpers/fzf&#39;</span>)
221
+ <span class="ruby-identifier">fzf_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">fzf_dir</span>, <span class="ruby-string">&#39;bin/fzf&#39;</span>)
222
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">fzf_bin</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">fzf_bin</span>)
223
+
224
+ <span class="ruby-constant">TTY</span><span class="ruby-operator">::</span><span class="ruby-constant">Which</span>.<span class="ruby-identifier">which</span>(<span class="ruby-string">&#39;fzf&#39;</span>)
225
+ <span class="ruby-keyword">end</span></pre>
226
+ </div>
227
+ </div>
228
+
229
+
230
+ </div>
231
+
232
+ </section>
233
+
234
+ </section>
235
+ </main>
236
+
237
+
238
+ <footer id="validator-badges" role="contentinfo">
239
+ <p><a href="https://validator.w3.org/check/referer">Validate</a>
240
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.3.
241
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
242
+ </footer>
243
+