hiiro 0.1.64 → 0.1.66
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 +4 -4
- data/editboth +19 -0
- data/lib/hiiro/sk.rb +8 -0
- data/lib/hiiro/version.rb +1 -1
- data/lib/hiiro.rb +4 -0
- data/plugins/tasks.rb +29 -23
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: faccc5bdf44ff09a979a082a288539bba108912bde19b854cdc88a7c64484323
|
|
4
|
+
data.tar.gz: 7ecd4b4b79589a042e37188d6fa2355c755e066830a2e7b2250f925d3bc8a13c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 434536b4f52e7a87e4e6f9ec9d02f67c216dc0055cf5027c86b57ae40d33cc1bd018aa83f0a72c97497d9d69124f40d985b072b71447172a7e29dd9fe540864f
|
|
7
|
+
data.tar.gz: 36290dcf8e5a58047bf79abe6701ba4e522254ed9da923f6cdd87ee48fa9e2e75bd08d92c3022a0541331688a33762671c36974757e090639841f5ba419ae963
|
data/editboth
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
home_map = {
|
|
4
|
+
'plugins' => File.join(Dir.home, '.config', 'hiiro', 'plugins'),
|
|
5
|
+
'bin' => File.join(Dir.home, 'bin'),
|
|
6
|
+
'exe' => File.join(Dir.home, 'bin'),
|
|
7
|
+
'lib' => File.dirname(`gem which hiiro`),
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
files = ARGV.flat_map do |fname|
|
|
11
|
+
key, *_ = fname.split(?/)
|
|
12
|
+
|
|
13
|
+
[fname, fname.sub(key, home_map[key])]
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
editor = ENV['EDITOR'] || 'safe_nvim' || 'nvim'
|
|
17
|
+
|
|
18
|
+
system(editor, '-O2', *files)
|
|
19
|
+
|
data/lib/hiiro/sk.rb
CHANGED
data/lib/hiiro/version.rb
CHANGED
data/lib/hiiro.rb
CHANGED
|
@@ -163,6 +163,10 @@ class Hiiro
|
|
|
163
163
|
@git ||= Git.new(self, Dir.pwd)
|
|
164
164
|
end
|
|
165
165
|
|
|
166
|
+
def attach_method(name, &block)
|
|
167
|
+
define_singleton_method(name.to_sym, &block)
|
|
168
|
+
end
|
|
169
|
+
|
|
166
170
|
def load_plugins(*plugins)
|
|
167
171
|
plugins.flatten.each { |plugin| load_plugin(plugin) }
|
|
168
172
|
end
|
data/plugins/tasks.rb
CHANGED
|
@@ -517,9 +517,10 @@ class TaskManager
|
|
|
517
517
|
branch_name = nil
|
|
518
518
|
|
|
519
519
|
if task_name.nil?
|
|
520
|
-
|
|
521
|
-
return unless
|
|
522
|
-
|
|
520
|
+
branch = select_branch_interactive
|
|
521
|
+
return unless branch
|
|
522
|
+
print branch
|
|
523
|
+
return
|
|
523
524
|
end
|
|
524
525
|
|
|
525
526
|
task = task_by_name(task_name)
|
|
@@ -630,14 +631,14 @@ class TaskManager
|
|
|
630
631
|
end
|
|
631
632
|
|
|
632
633
|
def select_branch_interactive(prompt = nil)
|
|
633
|
-
|
|
634
|
-
tasks.
|
|
634
|
+
name_map = if scope == :subtask
|
|
635
|
+
tasks.sort_by(&:short_name).each_with_object({}) { |t,h| h[format('%-25s | %s', t.short_name, t.branch)] = t.branch }
|
|
635
636
|
else
|
|
636
|
-
environment.all_tasks.
|
|
637
|
+
environment.all_tasks.sort_by(&:name).each_with_object({}) { |t,h| h[format('%-25s | %s', t.name, t.branch)] = t.branch }
|
|
637
638
|
end
|
|
638
|
-
return nil if
|
|
639
|
+
return nil if name_map.empty?
|
|
639
640
|
|
|
640
|
-
|
|
641
|
+
Hiiro::Sk.map_select(name_map)
|
|
641
642
|
end
|
|
642
643
|
|
|
643
644
|
# --- Private helpers ---
|
|
@@ -809,33 +810,36 @@ module Tasks
|
|
|
809
810
|
add_subcommands(hiiro)
|
|
810
811
|
end
|
|
811
812
|
|
|
812
|
-
def self.attach_methods(hiiro)
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
813
|
+
def self.attach_methods(hiiro, task_manager=nil)
|
|
814
|
+
environment = Environment.current
|
|
815
|
+
|
|
816
|
+
hiiro.attach_method(:environment) { environment }
|
|
817
|
+
hiiro.attach_method(:env) { environment }
|
|
818
|
+
hiiro.attach_method(:task_manager) { task_manager }
|
|
819
|
+
hiiro.attach_method(:tm) { task_manager }
|
|
820
|
+
|
|
821
|
+
hiiro
|
|
818
822
|
end
|
|
819
823
|
|
|
820
824
|
def self.add_subcommands(hiiro)
|
|
821
825
|
hiiro.add_subcmd(:task) do |*args|
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
task_hiiro.run
|
|
826
|
+
tm = TaskManager.new(hiiro, scope: :task)
|
|
827
|
+
build_hiiro(hiiro, tm).run
|
|
825
828
|
end
|
|
826
829
|
|
|
827
830
|
hiiro.add_subcmd(:subtask) do |*args|
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
task_hiiro.run
|
|
831
|
+
tm = TaskManager.new(hiiro, scope: :subtask)
|
|
832
|
+
build_hiiro(hiiro, tm).run
|
|
831
833
|
end
|
|
832
834
|
end
|
|
833
835
|
|
|
834
|
-
def self.build_hiiro(parent_hiiro,
|
|
836
|
+
def self.build_hiiro(parent_hiiro, tm)
|
|
835
837
|
bin_name = [parent_hiiro.bin, parent_hiiro.subcmd || ''].join('-')
|
|
836
838
|
|
|
837
|
-
Hiiro.init(
|
|
838
|
-
|
|
839
|
+
task_hiiro = Hiiro.init(
|
|
840
|
+
bin_name:,
|
|
841
|
+
args: parent_hiiro.args,
|
|
842
|
+
) do |h|
|
|
839
843
|
h.add_subcmd(:list) { tm.list }
|
|
840
844
|
h.add_subcmd(:ls) { tm.list }
|
|
841
845
|
|
|
@@ -893,5 +897,7 @@ module Tasks
|
|
|
893
897
|
system(ENV['EDITOR'] || 'nvim', __FILE__)
|
|
894
898
|
end
|
|
895
899
|
end
|
|
900
|
+
|
|
901
|
+
attach_methods task_hiiro, tm
|
|
896
902
|
end
|
|
897
903
|
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.
|
|
4
|
+
version: 0.1.66
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Joshua Toyota
|
|
@@ -95,6 +95,7 @@ files:
|
|
|
95
95
|
- docs/h-session.md
|
|
96
96
|
- docs/h-video.md
|
|
97
97
|
- docs/h-window.md
|
|
98
|
+
- editboth
|
|
98
99
|
- exe/h
|
|
99
100
|
- hiiro.gemspec
|
|
100
101
|
- lib/hiiro.rb
|