bashly 0.8.2 → 0.8.3

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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bashly/concerns/renderable.rb +3 -6
  3. data/lib/bashly/extensions/string.rb +2 -2
  4. data/lib/bashly/templates/strings.yml +1 -0
  5. data/lib/bashly/version.rb +1 -1
  6. data/lib/bashly/views/README.md +6 -0
  7. data/lib/bashly/views/argument/usage.gtx +15 -0
  8. data/lib/bashly/views/argument/validations.gtx +11 -0
  9. data/lib/bashly/views/command/catch_all_filter.gtx +10 -0
  10. data/lib/bashly/views/command/command_fallback.gtx +42 -0
  11. data/lib/bashly/views/command/command_filter.gtx +29 -0
  12. data/lib/bashly/views/command/command_functions.gtx +5 -0
  13. data/lib/bashly/views/command/default_assignments.gtx +13 -0
  14. data/lib/bashly/views/command/default_initialize_script.gtx +7 -0
  15. data/lib/bashly/views/command/default_root_script.gtx +4 -0
  16. data/lib/bashly/views/command/default_script.gtx +5 -0
  17. data/lib/bashly/views/command/dependencies_filter.gtx +10 -0
  18. data/lib/bashly/views/command/environment_variables_filter.gtx +18 -0
  19. data/lib/bashly/views/command/fixed_flags_filter.gtx +20 -0
  20. data/lib/bashly/views/command/footer.gtx +5 -0
  21. data/lib/bashly/views/command/function.gtx +6 -0
  22. data/lib/bashly/views/command/initialize.gtx +12 -0
  23. data/lib/bashly/views/command/inspect_args.gtx +21 -0
  24. data/lib/bashly/views/command/long_usage.gtx +13 -0
  25. data/lib/bashly/views/command/master_script.gtx +17 -0
  26. data/lib/bashly/views/command/normalize_input.gtx +25 -0
  27. data/lib/bashly/views/command/parse_requirements.gtx +26 -0
  28. data/lib/bashly/views/command/parse_requirements_case.gtx +11 -0
  29. data/lib/bashly/views/command/parse_requirements_case_catch_all.gtx +23 -0
  30. data/lib/bashly/views/command/parse_requirements_case_repeatable.gtx +24 -0
  31. data/lib/bashly/views/command/parse_requirements_case_simple.gtx +25 -0
  32. data/lib/bashly/views/command/parse_requirements_while.gtx +33 -0
  33. data/lib/bashly/views/command/required_args_filter.gtx +13 -0
  34. data/lib/bashly/views/command/required_flags_filter.gtx +12 -0
  35. data/lib/bashly/views/command/root_command.gtx +6 -0
  36. data/lib/bashly/views/command/run.gtx +28 -0
  37. data/lib/bashly/views/command/usage.gtx +50 -0
  38. data/lib/bashly/views/command/usage_args.gtx +20 -0
  39. data/lib/bashly/views/command/usage_commands.gtx +18 -0
  40. data/lib/bashly/views/command/usage_environment_variables.gtx +10 -0
  41. data/lib/bashly/views/command/usage_examples.gtx +10 -0
  42. data/lib/bashly/views/command/usage_fixed_flags.gtx +13 -0
  43. data/lib/bashly/views/command/usage_flags.gtx +7 -0
  44. data/lib/bashly/views/command/user_filter.gtx +13 -0
  45. data/lib/bashly/views/command/user_lib.gtx +11 -0
  46. data/lib/bashly/views/command/version_command.gtx +6 -0
  47. data/lib/bashly/views/command/whitelist_filter.gtx +41 -0
  48. data/lib/bashly/views/environment_variable/usage.gtx +11 -0
  49. data/lib/bashly/views/flag/case.gtx +6 -0
  50. data/lib/bashly/views/flag/case_arg.gtx +25 -0
  51. data/lib/bashly/views/flag/case_no_arg.gtx +11 -0
  52. data/lib/bashly/views/flag/conflicts.gtx +22 -0
  53. data/lib/bashly/views/flag/usage.gtx +15 -0
  54. data/lib/bashly/views/flag/validations.gtx +11 -0
  55. data/lib/bashly/views/wrapper/bash3_bouncer.gtx +7 -0
  56. data/lib/bashly/views/wrapper/header.gtx +5 -0
  57. data/lib/bashly/views/wrapper/wrapper.gtx +8 -0
  58. metadata +74 -58
  59. data/lib/bashly/views/argument/usage.erb +0 -10
  60. data/lib/bashly/views/argument/validations.erb +0 -8
  61. data/lib/bashly/views/command/catch_all_filter.erb +0 -7
  62. data/lib/bashly/views/command/command_fallback.erb +0 -45
  63. data/lib/bashly/views/command/command_filter.erb +0 -22
  64. data/lib/bashly/views/command/command_functions.erb +0 -4
  65. data/lib/bashly/views/command/default_assignments.erb +0 -7
  66. data/lib/bashly/views/command/default_initialize_script.erb +0 -6
  67. data/lib/bashly/views/command/default_root_script.erb +0 -3
  68. data/lib/bashly/views/command/default_script.erb +0 -4
  69. data/lib/bashly/views/command/dependencies_filter.erb +0 -9
  70. data/lib/bashly/views/command/environment_variables_filter.erb +0 -14
  71. data/lib/bashly/views/command/fixed_flags_filter.erb +0 -24
  72. data/lib/bashly/views/command/footer.erb +0 -3
  73. data/lib/bashly/views/command/function.erb +0 -4
  74. data/lib/bashly/views/command/initialize.erb +0 -8
  75. data/lib/bashly/views/command/inspect_args.erb +0 -19
  76. data/lib/bashly/views/command/master_script.erb +0 -14
  77. data/lib/bashly/views/command/normalize_input.erb +0 -24
  78. data/lib/bashly/views/command/parse_requirements.erb +0 -22
  79. data/lib/bashly/views/command/parse_requirements_case.erb +0 -8
  80. data/lib/bashly/views/command/parse_requirements_case_catch_all.erb +0 -18
  81. data/lib/bashly/views/command/parse_requirements_case_repeatable.erb +0 -18
  82. data/lib/bashly/views/command/parse_requirements_case_simple.erb +0 -18
  83. data/lib/bashly/views/command/parse_requirements_while.erb +0 -26
  84. data/lib/bashly/views/command/required_args_filter.erb +0 -7
  85. data/lib/bashly/views/command/required_flags_filter.erb +0 -7
  86. data/lib/bashly/views/command/root_command.erb +0 -4
  87. data/lib/bashly/views/command/run.erb +0 -23
  88. data/lib/bashly/views/command/usage.erb +0 -50
  89. data/lib/bashly/views/command/usage_args.erb +0 -14
  90. data/lib/bashly/views/command/usage_commands.erb +0 -13
  91. data/lib/bashly/views/command/usage_environment_variables.erb +0 -6
  92. data/lib/bashly/views/command/usage_examples.erb +0 -7
  93. data/lib/bashly/views/command/usage_fixed_flags.erb +0 -17
  94. data/lib/bashly/views/command/usage_flags.erb +0 -4
  95. data/lib/bashly/views/command/user_filter.erb +0 -11
  96. data/lib/bashly/views/command/user_lib.erb +0 -6
  97. data/lib/bashly/views/command/version_command.erb +0 -4
  98. data/lib/bashly/views/command/whitelist_filter.erb +0 -33
  99. data/lib/bashly/views/environment_variable/usage.erb +0 -7
  100. data/lib/bashly/views/flag/case.erb +0 -4
  101. data/lib/bashly/views/flag/case_arg.erb +0 -19
  102. data/lib/bashly/views/flag/case_no_arg.erb +0 -8
  103. data/lib/bashly/views/flag/conflicts.erb +0 -18
  104. data/lib/bashly/views/flag/usage.erb +0 -10
  105. data/lib/bashly/views/flag/validations.erb +0 -8
  106. data/lib/bashly/views/wrapper/bash3_bouncer.erb +0 -5
  107. data/lib/bashly/views/wrapper/header.erb +0 -4
  108. data/lib/bashly/views/wrapper/wrapper.erb +0 -6
@@ -0,0 +1,20 @@
1
+ = view_marker
2
+
3
+ > printf "{{ strings[:arguments] }}\n"
4
+
5
+ if args.any?
6
+ >
7
+ args.each do |arg|
8
+ = arg.render(:usage)
9
+ end
10
+ end
11
+
12
+ if catch_all.help
13
+ >
14
+ > echo " {{ catch_all.label }}"
15
+ > printf "{{ catch_all.help.wrap(76).indent(4).sanitize_for_print }}\n"
16
+ > echo
17
+ end
18
+
19
+ >
20
+
@@ -0,0 +1,18 @@
1
+ = view_marker
2
+
3
+ maxlen = command_help_data.values.map(&:keys).flatten.map(&:size).max
4
+
5
+ command_help_data.each do |group, commands|
6
+ > printf "{{ group }}\n"
7
+
8
+ commands.each do |command, info|
9
+ if info[:help_only]
10
+ > [[ -n $long_usage ]] && echo " {{ command.ljust maxlen }} {{ info[:summary] }}"
11
+ else
12
+ > echo " {{ command.ljust maxlen }} {{ info[:summary] }}"
13
+ end
14
+ end
15
+
16
+ > echo
17
+
18
+ end
@@ -0,0 +1,10 @@
1
+ = view_marker
2
+
3
+ > printf "{{ strings[:environment_variables] }}\n"
4
+ >
5
+
6
+ environment_variables.each do |env_var|
7
+ = env_var.render :usage
8
+ end
9
+
10
+ >
@@ -0,0 +1,10 @@
1
+ = view_marker
2
+
3
+ > printf "{{ strings[:examples] }}\n"
4
+
5
+ examples.each do |example|
6
+ > printf "{{ example.wrap(78).indent(2).sanitize_for_print }}\n"
7
+ end
8
+
9
+ > echo
10
+ >
@@ -0,0 +1,13 @@
1
+ = view_marker
2
+
3
+ = short_flag_exist?("-h") ? 'echo " --help"' : 'echo " --help, -h"'
4
+ > printf " {{ strings[:help_flag_text] }}\n"
5
+ > echo
6
+
7
+ if root_command?
8
+ = short_flag_exist?("-v") ? 'echo " --version"' : 'echo " --version, -v"'
9
+ > printf " {{ strings[:version_flag_text] }}\n"
10
+ > echo
11
+ end
12
+
13
+ >
@@ -0,0 +1,7 @@
1
+ = view_marker
2
+
3
+ flags.each do |flag|
4
+ = flag.render :usage
5
+ end
6
+
7
+ >
@@ -0,0 +1,13 @@
1
+ if filters
2
+
3
+ = view_marker
4
+
5
+ filters.each do |filter|
6
+ > filter_error=$(filter_{{ filter }})
7
+ > if [[ -n $filter_error ]]; then
8
+ > echo "$filter_error"
9
+ > exit 1
10
+ > fi
11
+ >
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ if user_lib.any?
2
+ = view_marker
3
+
4
+ user_lib.each do |file|
5
+ = view_marker file
6
+ = File.read file
7
+ >
8
+ end
9
+
10
+ >
11
+ end
@@ -0,0 +1,6 @@
1
+ = view_marker
2
+
3
+ > version_command() {
4
+ > echo "$version"
5
+ > }
6
+ >
@@ -0,0 +1,41 @@
1
+ if whitelisted_args.any? or whitelisted_flags.any?
2
+ = view_marker
3
+
4
+ whitelisted_args.each do |arg|
5
+ if arg.repeatable
6
+ > eval "input_array=(${args[{{ arg.name }}]})"
7
+ > for i in "${input_array[@]}"; do
8
+ > if [[ ! $i =~ ^({{ arg.allowed.join '|' }})$ ]]; then
9
+ > printf "%s\n" "{{ strings[:disallowed_argument] % { name: arg.name, allowed: arg.allowed.join(', ') } }}"
10
+ > exit 1
11
+ > fi
12
+ > done
13
+
14
+ else
15
+ > if [[ ! ${args[{{ arg.name }}]} =~ ^({{ arg.allowed.join '|' }})$ ]]; then
16
+ > printf "%s\n" "{{ strings[:disallowed_argument] % { name: arg.name, allowed: arg.allowed.join(', ') } }}"
17
+ > exit 1
18
+ > fi
19
+
20
+ end
21
+ end
22
+
23
+ whitelisted_flags.each do |flag|
24
+ if flag.repeatable
25
+ > eval "input_array=(${args[{{ flag.name }}]})"
26
+ > for i in "${input_array[@]}"; do
27
+ > if [[ ! $i =~ ^({{ flag.allowed.join '|' }})$ ]]; then
28
+ > printf "%s\n" "{{ strings[:disallowed_flag] % { name: flag.name, allowed: flag.allowed.join(', ') } }}"
29
+ > exit 1
30
+ > fi
31
+ > done
32
+
33
+ else
34
+ > if [[ ! ${args[{{ flag.name }}]} =~ ^({{ flag.allowed.join '|' }})$ ]]; then
35
+ > printf "%s\n" "{{ strings[:disallowed_flag] % { name: flag.name, allowed: flag.allowed.join(', ') } }}"
36
+ > exit 1
37
+ > fi
38
+
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,11 @@
1
+ = view_marker
2
+
3
+ > echo " {{ usage_string extended: true }}"
4
+ > printf "{{ help.wrap(76).indent(4).sanitize_for_print }}\n"
5
+
6
+ if default
7
+ > printf " {{ strings[:default] % { value: default } }}\n"
8
+ end
9
+
10
+ > echo
11
+ >
@@ -0,0 +1,6 @@
1
+ = view_marker
2
+
3
+ > {{ aliases.join " | " }} )
4
+ = render(:conflicts).indent 2
5
+ = render(arg ? :case_arg : :case_no_arg).indent 2
6
+ >
@@ -0,0 +1,25 @@
1
+ = view_marker
2
+
3
+ > if [[ -n ${2+x} ]]; then
4
+ = render(:validations).indent 2
5
+
6
+ if repeatable
7
+ > if [[ -z ${args[{{ name }}]+x} ]]; then
8
+ > args[{{ name }}]="\"$2\""
9
+ > else
10
+ > args[{{ name }}]="${args[{{ name }}]} \"$2\""
11
+ > fi
12
+
13
+ else
14
+ > args[{{ name }}]="$2"
15
+
16
+ end
17
+
18
+ > shift
19
+ > shift
20
+ > else
21
+ > printf "%s\n" "{{ strings[:flag_requires_an_argument] % { name: name, usage: usage_string } }}"
22
+ > exit 1
23
+ > fi
24
+ > ;;
25
+ >
@@ -0,0 +1,11 @@
1
+ = view_marker
2
+
3
+ if repeatable
4
+ > (( args[<%= name %>]+=1 ))
5
+ else
6
+ > args[<%= name %>]=1
7
+ end
8
+
9
+ > shift
10
+ > ;;
11
+ >
@@ -0,0 +1,22 @@
1
+ if conflicts
2
+
3
+ = view_marker
4
+
5
+ if conflicts.count == 1
6
+ > if [[ -n "${args[{{ conflicts.first }}]:-}" ]]; then
7
+ > printf "{{ strings[:conflicting_flags] }}\n" "$key" "{{ conflicts.first }}"
8
+ > exit 1
9
+ > fi
10
+ >
11
+
12
+ else
13
+ > for conflict in {{ conflicts.join ' ' }}; do
14
+ > if [[ -n "${args[$conflict]:-}" ]]; then
15
+ > printf "{{ strings[:conflicting_flags] }}\n" "$key" "$conflict"
16
+ > exit 1
17
+ > fi
18
+ > done
19
+ >
20
+
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ = view_marker
2
+
3
+ > echo " {{ usage_string extended: true }}"
4
+ > printf "{{ help.wrap(76).indent(4).sanitize_for_print }}\n"
5
+
6
+ if allowed
7
+ > printf " {{ strings[:allowed] % { values: allowed.join(', ') } }}\n"
8
+ end
9
+
10
+ if default
11
+ > printf " {{ strings[:default] % { value: default } }}\n"
12
+ end
13
+
14
+ > echo
15
+ >
@@ -0,0 +1,11 @@
1
+ if validate
2
+
3
+ = view_marker
4
+
5
+ > if [[ -n $(validate_{{ validate }} "$2") ]]; then
6
+ > printf "{{ strings[:validation_error] }}\n" "{{ usage_string }}" "$(validate_{{ validate }} "$2")"
7
+ > exit 1
8
+ > fi
9
+ >
10
+
11
+ end
@@ -0,0 +1,7 @@
1
+ = view_marker
2
+
3
+ > if [[ "${BASH_VERSINFO:-0}" -lt 4 ]]; then
4
+ > printf "{{ strings[:unsupported_bash_version] }}\n"
5
+ > exit 1
6
+ > fi
7
+ >
@@ -0,0 +1,5 @@
1
+ > #!/usr/bin/env bash
2
+ > # This script was generated by bashly {{ Bashly::VERSION }} (https://bashly.dannyb.co)
3
+ > # Modifying it manually is not recommended
4
+ >
5
+ >
@@ -0,0 +1,8 @@
1
+ = view_marker
2
+
3
+ > {{ function_name }}() {
4
+ = body.indent 2
5
+ > }
6
+ >
7
+ > (return 0 2>/dev/null) || {{ function_name }} "$@"
8
+ >
metadata CHANGED
@@ -1,43 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bashly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
4
+ version: 0.8.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Ben Shitrit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-06-01 00:00:00.000000000 Z
11
+ date: 2022-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: colsole
14
+ name: completely
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.7'
19
+ version: 0.4.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.7'
26
+ version: 0.4.3
27
27
  - !ruby/object:Gem::Dependency
28
- name: completely
28
+ name: gtx
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.4.2
33
+ version: 0.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.4.2
40
+ version: 0.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: colsole
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.7'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.7'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: mister_bin
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -140,56 +154,58 @@ files:
140
154
  - lib/bashly/templates/strings.yml
141
155
  - lib/bashly/templates/test/approvals.bash
142
156
  - lib/bashly/version.rb
143
- - lib/bashly/views/argument/usage.erb
144
- - lib/bashly/views/argument/validations.erb
145
- - lib/bashly/views/command/catch_all_filter.erb
146
- - lib/bashly/views/command/command_fallback.erb
147
- - lib/bashly/views/command/command_filter.erb
148
- - lib/bashly/views/command/command_functions.erb
149
- - lib/bashly/views/command/default_assignments.erb
150
- - lib/bashly/views/command/default_initialize_script.erb
151
- - lib/bashly/views/command/default_root_script.erb
152
- - lib/bashly/views/command/default_script.erb
153
- - lib/bashly/views/command/dependencies_filter.erb
154
- - lib/bashly/views/command/environment_variables_filter.erb
155
- - lib/bashly/views/command/fixed_flags_filter.erb
156
- - lib/bashly/views/command/footer.erb
157
- - lib/bashly/views/command/function.erb
158
- - lib/bashly/views/command/initialize.erb
159
- - lib/bashly/views/command/inspect_args.erb
160
- - lib/bashly/views/command/master_script.erb
161
- - lib/bashly/views/command/normalize_input.erb
162
- - lib/bashly/views/command/parse_requirements.erb
163
- - lib/bashly/views/command/parse_requirements_case.erb
164
- - lib/bashly/views/command/parse_requirements_case_catch_all.erb
165
- - lib/bashly/views/command/parse_requirements_case_repeatable.erb
166
- - lib/bashly/views/command/parse_requirements_case_simple.erb
167
- - lib/bashly/views/command/parse_requirements_while.erb
168
- - lib/bashly/views/command/required_args_filter.erb
169
- - lib/bashly/views/command/required_flags_filter.erb
170
- - lib/bashly/views/command/root_command.erb
171
- - lib/bashly/views/command/run.erb
172
- - lib/bashly/views/command/usage.erb
173
- - lib/bashly/views/command/usage_args.erb
174
- - lib/bashly/views/command/usage_commands.erb
175
- - lib/bashly/views/command/usage_environment_variables.erb
176
- - lib/bashly/views/command/usage_examples.erb
177
- - lib/bashly/views/command/usage_fixed_flags.erb
178
- - lib/bashly/views/command/usage_flags.erb
179
- - lib/bashly/views/command/user_filter.erb
180
- - lib/bashly/views/command/user_lib.erb
181
- - lib/bashly/views/command/version_command.erb
182
- - lib/bashly/views/command/whitelist_filter.erb
183
- - lib/bashly/views/environment_variable/usage.erb
184
- - lib/bashly/views/flag/case.erb
185
- - lib/bashly/views/flag/case_arg.erb
186
- - lib/bashly/views/flag/case_no_arg.erb
187
- - lib/bashly/views/flag/conflicts.erb
188
- - lib/bashly/views/flag/usage.erb
189
- - lib/bashly/views/flag/validations.erb
190
- - lib/bashly/views/wrapper/bash3_bouncer.erb
191
- - lib/bashly/views/wrapper/header.erb
192
- - lib/bashly/views/wrapper/wrapper.erb
157
+ - lib/bashly/views/README.md
158
+ - lib/bashly/views/argument/usage.gtx
159
+ - lib/bashly/views/argument/validations.gtx
160
+ - lib/bashly/views/command/catch_all_filter.gtx
161
+ - lib/bashly/views/command/command_fallback.gtx
162
+ - lib/bashly/views/command/command_filter.gtx
163
+ - lib/bashly/views/command/command_functions.gtx
164
+ - lib/bashly/views/command/default_assignments.gtx
165
+ - lib/bashly/views/command/default_initialize_script.gtx
166
+ - lib/bashly/views/command/default_root_script.gtx
167
+ - lib/bashly/views/command/default_script.gtx
168
+ - lib/bashly/views/command/dependencies_filter.gtx
169
+ - lib/bashly/views/command/environment_variables_filter.gtx
170
+ - lib/bashly/views/command/fixed_flags_filter.gtx
171
+ - lib/bashly/views/command/footer.gtx
172
+ - lib/bashly/views/command/function.gtx
173
+ - lib/bashly/views/command/initialize.gtx
174
+ - lib/bashly/views/command/inspect_args.gtx
175
+ - lib/bashly/views/command/long_usage.gtx
176
+ - lib/bashly/views/command/master_script.gtx
177
+ - lib/bashly/views/command/normalize_input.gtx
178
+ - lib/bashly/views/command/parse_requirements.gtx
179
+ - lib/bashly/views/command/parse_requirements_case.gtx
180
+ - lib/bashly/views/command/parse_requirements_case_catch_all.gtx
181
+ - lib/bashly/views/command/parse_requirements_case_repeatable.gtx
182
+ - lib/bashly/views/command/parse_requirements_case_simple.gtx
183
+ - lib/bashly/views/command/parse_requirements_while.gtx
184
+ - lib/bashly/views/command/required_args_filter.gtx
185
+ - lib/bashly/views/command/required_flags_filter.gtx
186
+ - lib/bashly/views/command/root_command.gtx
187
+ - lib/bashly/views/command/run.gtx
188
+ - lib/bashly/views/command/usage.gtx
189
+ - lib/bashly/views/command/usage_args.gtx
190
+ - lib/bashly/views/command/usage_commands.gtx
191
+ - lib/bashly/views/command/usage_environment_variables.gtx
192
+ - lib/bashly/views/command/usage_examples.gtx
193
+ - lib/bashly/views/command/usage_fixed_flags.gtx
194
+ - lib/bashly/views/command/usage_flags.gtx
195
+ - lib/bashly/views/command/user_filter.gtx
196
+ - lib/bashly/views/command/user_lib.gtx
197
+ - lib/bashly/views/command/version_command.gtx
198
+ - lib/bashly/views/command/whitelist_filter.gtx
199
+ - lib/bashly/views/environment_variable/usage.gtx
200
+ - lib/bashly/views/flag/case.gtx
201
+ - lib/bashly/views/flag/case_arg.gtx
202
+ - lib/bashly/views/flag/case_no_arg.gtx
203
+ - lib/bashly/views/flag/conflicts.gtx
204
+ - lib/bashly/views/flag/usage.gtx
205
+ - lib/bashly/views/flag/validations.gtx
206
+ - lib/bashly/views/wrapper/bash3_bouncer.gtx
207
+ - lib/bashly/views/wrapper/header.gtx
208
+ - lib/bashly/views/wrapper/wrapper.gtx
193
209
  homepage: https://github.com/dannyben/bashly
194
210
  licenses:
195
211
  - MIT
@@ -1,10 +0,0 @@
1
- <%= view_marker %>
2
- echo " <%= label %>"
3
- printf "<%= help.wrap(76).indent(4).sanitize_for_print %>\n"
4
- % if allowed
5
- printf " <%= strings[:allowed] % { values: allowed.join(', ') } -%>\n"
6
- % end
7
- % if default
8
- printf " <%= strings[:default] % { value: default } -%>\n"
9
- % end
10
- echo
@@ -1,8 +0,0 @@
1
- <%= view_marker %>
2
- % if validate
3
- if [[ -n $(validate_<%= validate %> "$1") ]]; then
4
- printf "<%= strings[:validation_error] %>\n" "<%= name.upcase %>" "$(validate_<%= validate %> "$1")"
5
- exit 1
6
- fi
7
-
8
- % end
@@ -1,7 +0,0 @@
1
- <%= view_marker %>
2
- % if catch_all.required?
3
- if [[ ${#other_args[@]} -eq 0 ]]; then
4
- printf "<%= strings[:missing_required_argument] % { arg: catch_all.label, usage: usage_string } %>\n"
5
- exit 1
6
- fi
7
- % end
@@ -1,45 +0,0 @@
1
- <%= view_marker %>
2
- % if default_command
3
- "" )
4
- <%= function_name %>_usage
5
- exit 1
6
- ;;
7
-
8
- * )
9
- action="<%= default_command.name %>"
10
- <%= default_command.function_name %>_parse_requirements "$@"
11
- shift $#
12
- ;;
13
- % elsif extensible.is_a? String
14
- "" )
15
- <%= function_name %>_usage
16
- exit 1
17
- ;;
18
-
19
- * )
20
- if [[ -x "$(command -v "<%= extensible %>")" ]]; then
21
- exec <%= extensible %> "$@"
22
- else
23
- <%= function_name %>_usage
24
- exit 1
25
- fi
26
- % elsif extensible
27
- "" )
28
- <%= function_name %>_usage
29
- exit 1
30
- ;;
31
-
32
- * )
33
- if [[ -x "$(command -v "<%= function_name %>-$action")" ]]; then
34
- shift
35
- exec "<%= function_name %>-$action" "$@"
36
- else
37
- <%= function_name %>_usage
38
- exit 1
39
- fi
40
- % else
41
- * )
42
- <%= function_name %>_usage
43
- exit 1
44
- ;;
45
- % end
@@ -1,22 +0,0 @@
1
- <%= view_marker %>
2
- % if commands.any?
3
- action=${1:-}
4
-
5
- case $action in
6
- -* )
7
- ;;
8
-
9
- % commands.each do |command|
10
- <%= command.aliases.join " | " %> )
11
- action="<%= command.name %>"
12
- shift
13
- <%= command.function_name %>_parse_requirements "$@"
14
- shift $#
15
- ;;
16
-
17
- % end
18
- <%= render :command_fallback %>
19
- esac
20
- % else
21
- action="<%= action_name %>"
22
- % end
@@ -1,4 +0,0 @@
1
- <%= view_marker %>
2
- % deep_commands.each do |command|
3
- <%= command.render :function unless command.commands.any? %>
4
- % end
@@ -1,7 +0,0 @@
1
- <%= view_marker %>
2
- % default_args.each do |arg|
3
- [[ -n ${args[<%= arg.name %>]:-} ]] || args[<%= arg.name %>]="<%= arg.default %>"
4
- % end
5
- % default_flags.each do |flag|
6
- [[ -n ${args[<%= flag.long %>]:-} ]] || args[<%= flag.long %>]="<%= flag.default %>"
7
- % end
@@ -1,6 +0,0 @@
1
- ## Code here runs inside the initialize() function
2
- ## Use it for anything that you need to run before any other function, like
3
- ## setting environment vairables:
4
- ## CONFIG_FILE=settings.ini
5
- ##
6
- ## Feel free to empty (but not delete) this file.
@@ -1,3 +0,0 @@
1
- echo "# this file is located in '<%= "#{Settings.source_dir}/#{filename}" %>'"
2
- echo "# you can edit it freely and regenerate (it will not be overwritten)"
3
- inspect_args
@@ -1,4 +0,0 @@
1
- echo "# this file is located in '<%= "#{Settings.source_dir}/#{filename}" %>'"
2
- echo "# code for '<%= full_name %>' goes here"
3
- echo "# you can edit it freely and regenerate (it will not be overwritten)"
4
- inspect_args
@@ -1,9 +0,0 @@
1
- <%= view_marker %>
2
- % if dependencies
3
- % dependencies.each do |dependency|
4
- if ! [[ -x "$(command -v <%= dependency %>)" ]]; then
5
- printf "<%= strings[:missing_dependency] % { dependency: dependency } -%>\n"
6
- exit 1
7
- fi
8
- % end
9
- % end
@@ -1,14 +0,0 @@
1
- <%= view_marker %>
2
- % if default_environment_variables.any?
3
- % default_environment_variables.each do |env_var|
4
- export <%= env_var.name.upcase %>="${<%= env_var.name.upcase %>:-<%= env_var.default %>}"
5
- % end
6
- % end
7
- % if required_environment_variables.any?
8
- % required_environment_variables.each do |env_var|
9
- if [[ -z "${<%= env_var.name.upcase %>:-}" ]]; then
10
- printf "<%= strings[:missing_required_environment_variable] % { var: env_var.name.upcase } %>\n"
11
- exit 1
12
- fi
13
- % end
14
- % end