hiiro 0.1.87 → 0.1.88

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/h-buffer +23 -17
  3. data/lib/hiiro/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ce90e3d37e2dfb575b7a30f2070c605e377146073fe32f715768383b907290f4
4
- data.tar.gz: a700aaee8c6b5c0eadfe6fe694df2a97291b38aa289c6c5dfce931e8ce1df39d
3
+ metadata.gz: b7cb7a6ce802264b5f0749fc119083f961e671dcf316dea88e0337c3f9ad6514
4
+ data.tar.gz: fd5f8e971430143cc0d3c5a69ef566b2b84cf91392371843ce45b1ccbf429683
5
5
  SHA512:
6
- metadata.gz: 398be942e72ed10cd94becb6626d2c29bedd8554647e792b05cccea5098964085995a7eae2ebf0c15a3d5bacac73766884fcdb9ed8499d6546e3fb71ae48d59d
7
- data.tar.gz: d6f3682431737967af381781a888d028b5b2fe13617d34eba984bebed53e5c4ffcbe41c9c79d72eba70aec3cfb8400f8185db5cf678953475896a5f96948922e
6
+ metadata.gz: 4e54192831986a7b1d5dead8db42775a2a758c020b0bd10c22879ee491256bad087dbdaa773a9d4e8ebd478916709dca8ff9027ac812be0e31f4b1aea45d3d7b
7
+ data.tar.gz: 5dd8c44cf7b57ef21296ebff7ed89883cf36a9105cffebd0d7de2df35f12bb0b0e3980539839af5a1f5543700298dccccdf3ade98b4e19f0a7ce3844556bc303
data/bin/h-buffer CHANGED
@@ -6,6 +6,19 @@ def buffer_names
6
6
  `tmux list-buffers -F '\#{buffer_name}'`.strip.split("\n")
7
7
  end
8
8
 
9
+ def show_buffer(name, *args)
10
+ `tmux show-buffer -b #{name.shellescape} #{args.shelljoin}`
11
+ end
12
+
13
+ def buffer_map
14
+ output = `tmux list-buffers -F '\#{buffer_name}: \#{buffer_sample}'`.strip
15
+
16
+ lines = output.split("\n").each_with_object({}) do |line, h|
17
+ buffer_name = line.split(': ', 2).first
18
+ h[line] = buffer_name
19
+ end
20
+ end
21
+
9
22
  def find_buffer(partial)
10
23
  buffer_list = buffer_names
11
24
 
@@ -17,20 +30,17 @@ def find_buffer(partial)
17
30
  end
18
31
 
19
32
  def select_buffer(partial = nil)
20
- names = buffer_names
21
- return nil if names.empty?
33
+ buffers = buffer_map
34
+ return nil if buffers.empty?
22
35
 
23
36
  if partial
24
- names = names.grep(Regexp.new(partial))
37
+ buffers = buffers.select{|k,v| ![k.to_s, v.to_s].grep(Regexp.new(partial)).empty? }
25
38
  end
26
39
 
27
- return nil if names.empty?
28
- return names.first if names.length == 1
40
+ return nil if buffers.empty?
41
+ return buffers.first if buffers.length == 1
29
42
 
30
- selected, status = Hiiro::Fuzzyfind.select(names)
31
- return nil unless status.success?
32
-
33
- selected.strip.empty? ? nil : selected.strip
43
+ Hiiro::Fuzzyfind.map_select(buffers)
34
44
  end
35
45
 
36
46
  o = Hiiro.init(*ARGV, plugins: [Pins])
@@ -41,12 +51,13 @@ o.add_subcmd(:ls) { |*args|
41
51
 
42
52
  o.add_subcmd(:show) { |name = nil, *args|
43
53
  buffer = select_buffer(name)
54
+
44
55
  unless buffer
45
56
  puts "No buffer selected or found"
46
57
  next
47
58
  end
48
59
 
49
- system('tmux', 'show-buffer', '-b', buffer, *args)
60
+ print show_buffer(buffer, *args)
50
61
  }
51
62
 
52
63
  o.add_subcmd(:copy) { |name = nil, *args|
@@ -56,13 +67,8 @@ o.add_subcmd(:copy) { |name = nil, *args|
56
67
  next
57
68
  end
58
69
 
59
- require 'open3'
60
- content = `tmux show-buffer -b #{buffer}`
61
- Open3.popen3('pbcopy') do |stdin, stdout, stderr, wait_thr|
62
- stdin.write(content)
63
- stdin.close
64
- wait_thr.value
65
- end
70
+ content = show_buffer(buffer)
71
+ Hiiro::Shell.pipe(content, 'pbcopy')
66
72
  puts "Copied buffer '#{buffer}' to clipboard"
67
73
  }
68
74
 
data/lib/hiiro/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Hiiro
2
- VERSION = "0.1.87"
2
+ VERSION = "0.1.88"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiiro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.87
4
+ version: 0.1.88
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Toyota