bashly 0.8.2 → 0.8.5

Sign up to get free protection for your applications and to get access to all the features.
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 +76 -60
  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.5
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-09-09 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.5.0
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.5.0
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
@@ -72,14 +86,14 @@ dependencies:
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '1.1'
89
+ version: '2.0'
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '1.1'
96
+ version: '2.0'
83
97
  description: Generate bash command line tools using YAML configuration
84
98
  email: db@dannyben.com
85
99
  executables:
@@ -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