searchlink 2.3.60 → 2.3.61

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: 90196cb473d5230cce634897bd0b7e59a5d7d2a6966480cef6c4cced7503f73c
4
- data.tar.gz: a719aa259b7d20a45e6453d6f4edd2784c0d6f6f386cf9709ca191e3700cc8ec
3
+ metadata.gz: cff5bedf7ccbc233a648654e9f3c7bf41981a451c11ddfb6b1fd90741ae6ae2a
4
+ data.tar.gz: 41e05ed7af669c38d093eb5f109489a786e5bef29575caade95c8328332abf06
5
5
  SHA512:
6
- metadata.gz: 2463f6f2745687aee721ed1055049b3ff459b6e7f763460c549ed2fc4ea5a2fc7eaad1e1ffe251a1e232a7ed599cc6f8835da316d0eba7a9b74f561511a51f89
7
- data.tar.gz: d5b691776856fb06312ec6edbfcacdb5cd60de9c336c9cc691262de0e5a72f2f79c82f1f44cbc1942e3eca016a046b57f34e3b3b93414166943589576803cef2
6
+ metadata.gz: 1fcb8a00815275b8263805029d47d50d8fd5d934de2880dcfb32c41384652c5791a0c2415e5cead7b2649c348b5374f050d2a4f74b817b8399e25efd5bc72912
7
+ data.tar.gz: c65f32af3fdeca3ea36306b92babcaa09cfb4c1aee01c5569a1dcf8132821d9b94a05e9f186961a2e67990db6ec409b22562b12e73ef7ca4517036263a8bc642
@@ -17,10 +17,19 @@ module SL
17
17
  class SearchLink
18
18
  # Values found in ~/.searchlink will override defaults in
19
19
  # this script
20
+ def config_file
21
+ old_style = File.expand_path('~/.searchlink')
22
+ new_style = File.expand_path('~/.config/searchlink/config.yaml')
23
+ if File.exist?(old_style)
24
+ return old_style
25
+ else
26
+ return new_style
27
+ end
28
+ end
20
29
 
21
30
  def initialize(opt = {})
22
31
  SL.printout = opt[:echo] || false
23
- unless File.exist? File.expand_path('~/.searchlink')
32
+ unless File.exist? config_file
24
33
  default_config = <<~ENDCONFIG
25
34
  # set to true to have an HTML comment included detailing any errors
26
35
  # Can be disabled per search with `--d`, or enabled with `++d`.
@@ -146,12 +155,12 @@ module SL
146
155
 
147
156
  ENDCONFIG
148
157
 
149
- File.open(File.expand_path('~/.searchlink'), 'w') do |f|
158
+ File.open(config_file, 'w') do |f|
150
159
  f.puts default_config
151
160
  end
152
161
  end
153
162
 
154
- config = YAML.load_file(File.expand_path('~/.searchlink'))
163
+ config = YAML.load_file(config_file)
155
164
 
156
165
  # set to true to have an HTML comment inserted showing any errors
157
166
  config['debug'] ||= false
@@ -24,9 +24,9 @@ module SL
24
24
  def description_for_search(search_type)
25
25
  description = "#{search_type} search"
26
26
  plugins[:search].each do |_, plugin|
27
- s = plugin[:searches].select { |s| s[0] == search_type }
28
- unless s.empty?
29
- description = s[0][1]
27
+ search = plugin[:searches].select { |s| s[0].is_a?(Array) ? s[0].include?(search_type) : s[0] == search_type }
28
+ unless search.empty?
29
+ description = search[0][1]
30
30
  break
31
31
  end
32
32
  end
@@ -42,11 +42,14 @@ module SL
42
42
  searches = plugins[:search]
43
43
  .flat_map { |_, plugin| plugin[:searches] }
44
44
  .reject { |s| s[1].nil? }
45
- .sort_by { |s| s[0] }
45
+ .sort_by { |s| s[0].is_a?(Array) ? s[0][0] : s[0] }
46
46
  out = ['<table id="searches">',
47
47
  '<thead><td>Shortcut</td><td>Search Type</td></thead>',
48
48
  '<tbody>']
49
- searches.each { |s| out << "<tr><td><code>!#{s[0]}</code></td><td>#{s[1]}</td></tr>" }
49
+
50
+ searches.each do |s|
51
+ out << "<tr><td><code>!#{s[0].is_a?(Array) ? "#{s[0][0]} (#{s[0][1..].join(',')})" : s[0]}</code></td><td>#{s[1]}</td></tr>"
52
+ end
50
53
  out.concat(['</tbody>', '</table>']).join("\n")
51
54
  end
52
55
 
@@ -58,9 +61,11 @@ module SL
58
61
  def available_searches
59
62
  searches = []
60
63
  plugins[:search].each { |_, plugin| searches.concat(plugin[:searches].delete_if { |s| s[1].nil? }) }
61
- out = ''
62
- searches.each { |s| out += "!#{s[0]}#{s[0].spacer}#{s[1]}\n" }
63
- out
64
+ out = []
65
+ searches.each do |s|
66
+ out += "!#{s[0].is_a?(Array) ? "#{s[0][0]} (#{s[0][1..].join(',')})" : s[0]}#{s[0].spacer}#{s[1]}"
67
+ end
68
+ out.join("\n")
64
69
  end
65
70
 
66
71
  def best_search_match(term)
@@ -110,7 +115,12 @@ module SL
110
115
 
111
116
  def load_custom
112
117
  plugins_folder = File.expand_path('~/.local/searchlink/plugins')
113
- return unless File.directory?(plugins_folder)
118
+
119
+ Dir.glob(File.join(plugins_folder, '**/*.rb')).sort.each do |plugin|
120
+ require plugin
121
+ end
122
+
123
+ plugins_folder = File.expand_path('~/.config/searchlink/plugins')
114
124
 
115
125
  Dir.glob(File.join(plugins_folder, '**/*.rb')).sort.each do |plugin|
116
126
  require plugin
@@ -78,7 +78,7 @@ module SL
78
78
  ## @return [String] path to new cache file
79
79
  ##
80
80
  def cache_file_for(filename)
81
- cache_folder = File.expand_path('~/.local/share/searchlink/cache')
81
+ cache_folder = File.expand_path('~/.config/searchlink/cache')
82
82
  FileUtils.mkdir_p(cache_folder) unless File.directory?(cache_folder)
83
83
  File.join(cache_folder, filename.sub(/(\.cache)?$/, '.cache'))
84
84
  end
@@ -1,5 +1,5 @@
1
1
  module SL
2
- VERSION = '2.3.60'
2
+ VERSION = '2.3.61'
3
3
  end
4
4
 
5
5
  module SL
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: searchlink
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.60
4
+ version: 2.3.61
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra