bashly 1.1.9 → 1.1.10
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/lib/bashly/extensions/string.rb +1 -1
- data/lib/bashly/libraries/settings/settings.yml +5 -0
- data/lib/bashly/script/base.rb +1 -1
- data/lib/bashly/script/catch_all.rb +1 -1
- data/lib/bashly/settings.rb +5 -0
- data/lib/bashly/version.rb +1 -1
- data/lib/bashly/views/command/normalize_input.gtx +4 -27
- data/lib/bashly/views/command/normalize_input_function.gtx +39 -0
- data/lib/bashly/views/command/normalize_input_simple.gtx +6 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0857ce9cc52b919c113242568610ed9abbd447221b6d473bbf05f1cd8f29de69'
|
4
|
+
data.tar.gz: 3eb8279ffdbf23a69a5c7eb52d98f2f0c3ca1730f54eb6a18b4957038b69810a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2aa95822cebdc83d0e3a1af47a2d75886994a7d79976188049b8ea6732ca3d6a83003bfea48c3789e8d3a4db562e16f8f9ed169da414065567c7abf2d2d4c40b
|
7
|
+
data.tar.gz: 3cf237064dfe7f9cfb2523c85d838141f9869e246619b9ed2bf9862499a0345ea1da12178802ee6d7a654e1ad8fec674b751442566b8b8ca1e22b77055105fd1
|
@@ -42,6 +42,11 @@ tab_indent: false
|
|
42
42
|
# `-abc` as if it is `-a -b -c`.
|
43
43
|
compact_short_flags: true
|
44
44
|
|
45
|
+
# When true, the generated script will consider any argument in the form of
|
46
|
+
# `--flag=value` and `-f=value` as if it is `--flag value` and `-f value`
|
47
|
+
# respectively.
|
48
|
+
conjoined_flag_args: true
|
49
|
+
|
45
50
|
# Set to 'production' or 'development':
|
46
51
|
# env: production Generate a smaller script, without file markers
|
47
52
|
# env: development Generate with file markers
|
data/lib/bashly/script/base.rb
CHANGED
data/lib/bashly/settings.rb
CHANGED
@@ -6,6 +6,7 @@ module Bashly
|
|
6
6
|
attr_writer(
|
7
7
|
:commands_dir,
|
8
8
|
:compact_short_flags,
|
9
|
+
:conjoined_flag_args,
|
9
10
|
:config_path,
|
10
11
|
:lib_dir,
|
11
12
|
:partials_extension,
|
@@ -24,6 +25,10 @@ module Bashly
|
|
24
25
|
@compact_short_flags ||= get :compact_short_flags
|
25
26
|
end
|
26
27
|
|
28
|
+
def conjoined_flag_args
|
29
|
+
@conjoined_flag_args ||= get :conjoined_flag_args
|
30
|
+
end
|
31
|
+
|
27
32
|
def config_path
|
28
33
|
@config_path ||= get(:config_path) % { source_dir: source_dir }
|
29
34
|
end
|
data/lib/bashly/version.rb
CHANGED
@@ -1,30 +1,7 @@
|
|
1
1
|
= view_marker
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
> arg="$1"
|
8
|
-
> if [[ $arg =~ ^(--[a-zA-Z0-9_\-]+)=(.+)$ ]]; then
|
9
|
-
> input+=("${BASH_REMATCH[1]}")
|
10
|
-
> input+=("${BASH_REMATCH[2]}")
|
11
|
-
> elif [[ $arg =~ ^(-[a-zA-Z0-9])=(.+)$ ]]; then
|
12
|
-
> input+=("${BASH_REMATCH[1]}")
|
13
|
-
> input+=("${BASH_REMATCH[2]}")
|
14
|
-
|
15
|
-
if Settings.compact_short_flags
|
16
|
-
> elif [[ $arg =~ ^-([a-zA-Z0-9][a-zA-Z0-9]+)$ ]]; then
|
17
|
-
> flags="${BASH_REMATCH[1]}"
|
18
|
-
> for ((i = 0; i < ${#flags}; i++)); do
|
19
|
-
> input+=("-${flags:i:1}")
|
20
|
-
> done
|
3
|
+
if Settings.compact_short_flags || Settings.conjoined_flag_args
|
4
|
+
= render :normalize_input_function
|
5
|
+
else
|
6
|
+
= render :normalize_input_simple
|
21
7
|
end
|
22
|
-
|
23
|
-
> else
|
24
|
-
> input+=("$arg")
|
25
|
-
> fi
|
26
|
-
>
|
27
|
-
> shift
|
28
|
-
> done
|
29
|
-
> }
|
30
|
-
>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
= view_marker
|
2
|
+
|
3
|
+
> normalize_input() {
|
4
|
+
> local arg flags passthru
|
5
|
+
> passthru=false
|
6
|
+
>
|
7
|
+
> while [[ $# -gt 0 ]]; do
|
8
|
+
> arg="$1"
|
9
|
+
> if [[ $passthru == true ]]; then
|
10
|
+
> input+=("$arg")
|
11
|
+
|
12
|
+
if Settings.conjoined_flag_args
|
13
|
+
> elif [[ $arg =~ ^(--[a-zA-Z0-9_\-]+)=(.+)$ ]]; then
|
14
|
+
> input+=("${BASH_REMATCH[1]}")
|
15
|
+
> input+=("${BASH_REMATCH[2]}")
|
16
|
+
> elif [[ $arg =~ ^(-[a-zA-Z0-9])=(.+)$ ]]; then
|
17
|
+
> input+=("${BASH_REMATCH[1]}")
|
18
|
+
> input+=("${BASH_REMATCH[2]}")
|
19
|
+
end
|
20
|
+
|
21
|
+
if Settings.compact_short_flags
|
22
|
+
> elif [[ $arg =~ ^-([a-zA-Z0-9][a-zA-Z0-9]+)$ ]]; then
|
23
|
+
> flags="${BASH_REMATCH[1]}"
|
24
|
+
> for ((i = 0; i < ${#flags}; i++)); do
|
25
|
+
> input+=("-${flags:i:1}")
|
26
|
+
> done
|
27
|
+
end
|
28
|
+
|
29
|
+
> elif [[ "$arg" == "--" ]]; then
|
30
|
+
> passthru=true
|
31
|
+
> input+=("$arg")
|
32
|
+
> else
|
33
|
+
> input+=("$arg")
|
34
|
+
> fi
|
35
|
+
>
|
36
|
+
> shift
|
37
|
+
> done
|
38
|
+
> }
|
39
|
+
>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bashly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.10
|
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: 2024-
|
11
|
+
date: 2024-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colsole
|
@@ -248,6 +248,8 @@ files:
|
|
248
248
|
- lib/bashly/views/command/long_usage.gtx
|
249
249
|
- lib/bashly/views/command/master_script.gtx
|
250
250
|
- lib/bashly/views/command/normalize_input.gtx
|
251
|
+
- lib/bashly/views/command/normalize_input_function.gtx
|
252
|
+
- lib/bashly/views/command/normalize_input_simple.gtx
|
251
253
|
- lib/bashly/views/command/parse_requirements.gtx
|
252
254
|
- lib/bashly/views/command/parse_requirements_case.gtx
|
253
255
|
- lib/bashly/views/command/parse_requirements_case_catch_all.gtx
|
@@ -298,7 +300,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
298
300
|
requirements:
|
299
301
|
- - ">="
|
300
302
|
- !ruby/object:Gem::Version
|
301
|
-
version: '3.
|
303
|
+
version: '3.1'
|
302
304
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
303
305
|
requirements:
|
304
306
|
- - ">="
|