howzit 2.0.16 → 2.0.19

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: df621f3d6e973282799aa664b3042f22f641754d979cf711848146b04c89cd92
4
- data.tar.gz: 134041be4b4eaecc4cb31793dbe57dfdefed601b56ef8d1b17b399615831c0ad
3
+ metadata.gz: 7c08d6ceea211cc4e603a59c5e2f1ac7c2db806d55a8eaa1f260e1f0994bdf45
4
+ data.tar.gz: c5b6c284c725a8f1edabc07723a18d0e9d9c56204be0b7fb50e0d3bb1b5efccf
5
5
  SHA512:
6
- metadata.gz: c896a32bef2ea983ef78082e685ac0f89e93a2e48b751c9dc5a3f744eb2687cf3005ffdcd5ea09284a3710ea56cc001746193855a195986290f9a98242598317
7
- data.tar.gz: 05ccc75166128a3e2aefa7f143cd6076bef60dba024bb7c508aabc5865334f2e95bafaedeb151850704c6ac6fcc888101560f74e75b4b4cfc1afabe8ddaacaae
6
+ metadata.gz: 8c456e2c7f820777d6e07a26fcc677bfa8ac09a12bd409e870c37dbaa431f186ac551575b6eead585d446a02b533b5c729eba4dfac40b2caa876ff9f63400c9b
7
+ data.tar.gz: 03717f2b209cf812b31e5da66ab57000e7e54cd52efa08b8bc7e4c2840e30581509af401e76e8ccef9e5cd0b232d04601eb6d5723b49cc1e6ae3bb7e760bff29
data/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ### 2.0.19
2
+
3
+ 2022-08-08 06:18
4
+
5
+ #### IMPROVED
6
+
7
+ - Sort options in help output
8
+
9
+ ### 2.0.18
10
+
11
+ 2022-08-08 03:48
12
+
13
+ #### NEW
14
+
15
+ - Use --ask to require confirmation of all tasks when running a topic
16
+
17
+ ### 2.0.17
18
+
19
+ 2022-08-07 06:09
20
+
1
21
  ### 2.0.16
2
22
 
3
23
  2022-08-07 06:05
data/bin/howzit CHANGED
@@ -20,6 +20,10 @@ OptionParser.new do |opts|
20
20
 
21
21
  opts.separator " Behavior:\n\n" #=================================================================== BEHAVIOR
22
22
 
23
+ opts.on('--ask', 'Request confirmation for all tasks when running a topic') do
24
+ Howzit.options[:ask] = true
25
+ end
26
+
23
27
  opts.on('--default', 'Answer all prompts with default response') do
24
28
  Howzit.options[:default] = true
25
29
  end
@@ -40,7 +44,7 @@ OptionParser.new do |opts|
40
44
 
41
45
  opts.separator "\n Listing:\n\n" #=================================================================== LISTING
42
46
 
43
- opts.on('-L', '--list-completions', 'List topics for completion') do
47
+ opts.on('-L', '--list-completions', 'List topics (completion-compatible)') do
44
48
  Howzit.options[:list_topics] = true
45
49
  Howzit.options[:list_topic_titles] = true
46
50
  end
@@ -94,11 +98,6 @@ OptionParser.new do |opts|
94
98
  Process.exit 0
95
99
  end
96
100
 
97
- opts.on('--edit-template NAME', 'Create or edit a template') do |template|
98
- Howzit.buildnote.edit_template(template)
99
- Process.exit 0
100
- end
101
-
102
101
  opts.on('--config-get [KEY]', 'Display the configuration settings or setting for a specific key') do |k|
103
102
  if k.nil?
104
103
  Howzit::Config::DEFAULTS.sort_by { |key, _| key }.each do |key, _|
@@ -132,14 +131,19 @@ OptionParser.new do |opts|
132
131
  Process.exit 0
133
132
  end
134
133
 
135
- opts.on('--edit-config', "Edit configuration file using editor (#{Howzit.options[:editor]})") do
134
+ desc = %(Edit buildnotes file in current working directory using editor (#{File.basename(Howzit.options[:config_editor])}))
135
+ opts.on('-e', '--edit', desc) do
136
+ Howzit.buildnote.edit
137
+ Process.exit 0
138
+ end
139
+
140
+ opts.on('--edit-config', "Edit configuration file using editor (#{File.basename(Howzit.options[:editor])})") do
136
141
  Howzit.config.editor
137
142
  Process.exit 0
138
143
  end
139
144
 
140
- desc = %(Edit buildnotes file in current working directory using editor (#{Howzit.options[:config_editor]}))
141
- opts.on('-e', '--edit', desc) do
142
- Howzit.buildnote.edit
145
+ opts.on('--edit-template NAME', 'Create or edit a template') do |template|
146
+ Howzit.buildnote.edit_template(template)
143
147
  Process.exit 0
144
148
  end
145
149
 
data/lib/howzit/config.rb CHANGED
@@ -87,6 +87,7 @@ module Howzit
87
87
  def load_options
88
88
  Color.coloring = $stdout.isatty
89
89
  flags = {
90
+ ask: false,
90
91
  choose: false,
91
92
  default: false,
92
93
  for_topic: nil,
data/lib/howzit/task.rb CHANGED
@@ -73,9 +73,9 @@ module Howzit
73
73
  matches = Howzit.buildnote.find_topic(@action)
74
74
  raise "Topic not found: #{@action}" if matches.empty?
75
75
 
76
- $stderr.puts "{by}Running tasks from {bw}#{matches[0].title}{x}".c if Howzit.options[:log_level] < 2
76
+ Howzit.console.info("{by}Running tasks from {bw}#{matches[0].title}{x}".c)
77
77
  output.concat(matches[0].run(nested: true))
78
- $stderr.puts "{by}End include: #{matches[0].tasks.count} tasks{x}".c if Howzit.options[:log_level] < 2
78
+ Howzit.console.info("{by}End include: #{matches[0].tasks.count} tasks{x}".c)
79
79
  [output, matches[0].tasks.count]
80
80
  end
81
81
 
@@ -84,7 +84,7 @@ module Howzit
84
84
  ##
85
85
  def run_run
86
86
  title = Howzit.options[:show_all_code] ? @action : @title
87
- $stderr.puts "{bg}Running {bw}#{title}{x}".c if Howzit.options[:log_level] < 2
87
+ Howzit.console.info("{bg}Running {bw}#{title}{x}".c)
88
88
  system(@action)
89
89
  end
90
90
 
@@ -93,7 +93,7 @@ module Howzit
93
93
  ##
94
94
  def run_copy
95
95
  title = Howzit.options[:show_all_code] ? @action : @title
96
- $stderr.puts "{bg}Copied {bw}#{title}{bg} to clipboard{x}".c if Howzit.options[:log_level] < 2
96
+ Howzit.console.info("{bg}Copied {bw}#{title}{bg} to clipboard{x}".c)
97
97
  os_copy(@action)
98
98
  end
99
99
 
@@ -107,21 +107,21 @@ module Howzit
107
107
  out = "{bg}Copying {bw}#{string}".c
108
108
  case os
109
109
  when /darwin.*/i
110
- $stderr.puts "#{out} (macOS){x}".c if Howzit.options[:log_level].zero?
110
+ Howzit.console.debug("#{out} (macOS){x}".c)
111
111
  `echo #{Shellwords.escape(string)}'\\c'|pbcopy`
112
112
  when /mingw|mswin/i
113
- $stderr.puts "#{out} (Windows){x}".c if Howzit.options[:log_level].zero?
113
+ Howzit.console.debug("#{out} (Windows){x}".c)
114
114
  `echo #{Shellwords.escape(string)} | clip`
115
115
  else
116
116
  if 'xsel'.available?
117
- $stderr.puts "#{out} (Linux, xsel){x}".c if Howzit.options[:log_level].zero?
117
+ Howzit.console.debug("#{out} (Linux, xsel){x}".c)
118
118
  `echo #{Shellwords.escape(string)}'\\c'|xsel -i`
119
119
  elsif 'xclip'.available?
120
- $stderr.puts "#{out} (Linux, xclip){x}".c if Howzit.options[:log_level].zero?
120
+ Howzit.console.debug("#{out} (Linux, xclip){x}".c)
121
121
  `echo #{Shellwords.escape(string)}'\\c'|xclip -i`
122
122
  else
123
- $stderr.puts out if Howzit.options[:log_level].zero?
124
- $stderr.puts 'Unable to determine executable for clipboard.'
123
+ Howzit.console.debug(out)
124
+ Howzit.console.warn('Unable to determine executable for clipboard.')
125
125
  end
126
126
  end
127
127
  end
data/lib/howzit/topic.rb CHANGED
@@ -51,7 +51,7 @@ module Howzit
51
51
  end
52
52
 
53
53
  @tasks.each do |task|
54
- if task.optional
54
+ if task.optional || Howzit.options[:ask]
55
55
  note = if task.type == :include
56
56
  task_count = Howzit.buildnote.find_topic(task.action)[0].tasks.count
57
57
  " (#{task_count} tasks)"
@@ -3,5 +3,5 @@
3
3
  # Primary module for this gem.
4
4
  module Howzit
5
5
  # Current Howzit version.
6
- VERSION = '2.0.16'
6
+ VERSION = '2.0.19'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: howzit
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.16
4
+ version: 2.0.19
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brett Terpstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-07 00:00:00.000000000 Z
11
+ date: 2022-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler