searchlink 2.3.60 → 2.3.61

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