bashly 1.4.0.rc2 → 2.0.0.rc1
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/commands/completions.rb +3 -41
- data/lib/bashly/completions/README.md +3 -7
- data/lib/bashly/completions/bashly-completions.bash +178 -382
- data/lib/bashly/completions/completely.yaml +2 -4
- data/lib/bashly/config_validator.rb +55 -5
- data/lib/bashly/docs/arg.yml +12 -6
- data/lib/bashly/docs/command.yml +0 -12
- data/lib/bashly/docs/flag.yml +29 -5
- data/lib/bashly/libraries/libraries.yml +0 -15
- data/lib/bashly/libraries/settings/settings.yml +9 -1
- data/lib/bashly/script/argument.rb +12 -0
- data/lib/bashly/script/command.rb +1 -2
- data/lib/bashly/script/flag.rb +48 -11
- data/lib/bashly/script/introspection/commands.rb +5 -0
- data/lib/bashly/script/wrapper.rb +1 -1
- data/lib/bashly/settings.rb +28 -3
- data/lib/bashly/version.rb +1 -1
- data/lib/bashly/views/argument/completion.gtx +31 -0
- data/lib/bashly/views/argument/completion_filter.gtx +1 -0
- data/lib/bashly/views/command/completion_argument_candidates.gtx +11 -0
- data/lib/bashly/views/command/completion_argument_filter.gtx +25 -0
- data/lib/bashly/views/command/completion_command_candidates.gtx +3 -0
- data/lib/bashly/views/command/completion_flag_candidates.gtx +21 -0
- data/lib/bashly/views/command/completion_function.gtx +24 -0
- data/lib/bashly/views/command/completion_script.gtx +21 -0
- data/lib/bashly/views/command/completion_script_bash.gtx +63 -0
- data/lib/bashly/views/command/completion_script_zsh.gtx +52 -0
- data/lib/bashly/views/command/completion_word_filter.gtx +44 -0
- data/lib/bashly/views/command/completions.gtx +81 -0
- data/lib/bashly/views/command/inspect_args.gtx +3 -3
- data/lib/bashly/views/command/master_script.gtx +1 -0
- data/lib/bashly/views/command/start.gtx +9 -0
- data/lib/bashly/views/flag/argfile_case.gtx +8 -1
- data/lib/bashly/views/flag/case.gtx +9 -1
- data/lib/bashly/views/flag/completion.gtx +1 -0
- data/lib/bashly/views/flag/completion_filter.gtx +7 -0
- data/lib/bashly/views/flag/completion_filter_arg.gtx +10 -0
- data/lib/bashly/views/flag/completion_filter_block.gtx +8 -0
- data/lib/bashly/views/flag/completion_filter_no_arg.gtx +2 -0
- data/lib/bashly/views/flag/completion_value_candidates.gtx +31 -0
- data/lib/bashly.rb +2 -5
- metadata +22 -37
- data/lib/bashly/completion_builder.rb +0 -231
- data/lib/bashly/concerns/completions.rb +0 -48
- data/lib/bashly/libraries/completions/completions_function.rb +0 -37
- data/lib/bashly/libraries/completions/completions_script.rb +0 -28
- data/lib/bashly/libraries/completions/completions_yaml.rb +0 -26
- /data/lib/bashly/views/wrapper/{bash3_bouncer.gtx → bash_version_bouncer.gtx} +0 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
= view_marker
|
|
2
|
+
|
|
3
|
+
completion_shells = Settings.completion_shells
|
|
4
|
+
|
|
5
|
+
> send_completions() {
|
|
6
|
+
> local completion_shell="${1:-{{ completion_shells.first }}}"
|
|
7
|
+
>
|
|
8
|
+
> case "$completion_shell" in
|
|
9
|
+
completion_shells.each do |shell|
|
|
10
|
+
> {{ shell }}) send_completions_{{ shell }} ;;
|
|
11
|
+
end
|
|
12
|
+
> *)
|
|
13
|
+
> printf 'unsupported shell: %s\n' "$completion_shell" >&2
|
|
14
|
+
> return 1
|
|
15
|
+
> ;;
|
|
16
|
+
> esac
|
|
17
|
+
> }
|
|
18
|
+
>
|
|
19
|
+
completion_shells.each do |shell|
|
|
20
|
+
= render :"completion_script_#{shell}"
|
|
21
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
= view_marker
|
|
2
|
+
|
|
3
|
+
> send_completions_bash() {
|
|
4
|
+
> echo $'_{{ name.to_underscore }}_completions() {'
|
|
5
|
+
> echo $' local completion_command="${COMP_WORDS[0]}"'
|
|
6
|
+
> echo $' local completion_current="${COMP_WORDS[COMP_CWORD]:-}"'
|
|
7
|
+
> echo $' local completion_word_count=$((COMP_CWORD - 1))'
|
|
8
|
+
> echo $' local -a completion_words=()'
|
|
9
|
+
> echo $' local -a completion_response=()'
|
|
10
|
+
> echo $' local -a completion_options=()'
|
|
11
|
+
> echo $' local -A completion_seen=()'
|
|
12
|
+
> echo $''
|
|
13
|
+
> echo $' if [[ $completion_word_count -gt 0 ]]; then'
|
|
14
|
+
> echo $' completion_words=("${COMP_WORDS[@]:1:completion_word_count}")'
|
|
15
|
+
> echo $' fi'
|
|
16
|
+
> echo $''
|
|
17
|
+
> echo $' COMPREPLY=()'
|
|
18
|
+
> echo $' while IFS= read -r completion_line; do'
|
|
19
|
+
> echo $' completion_response+=("$completion_line")'
|
|
20
|
+
> echo $' done < <("$completion_command" __complete "${completion_words[@]}" "$completion_current")'
|
|
21
|
+
> echo $''
|
|
22
|
+
> echo $' local completion_directive="${completion_response[-1]:-}"'
|
|
23
|
+
> echo $' if [[ $completion_directive == :options=* ]]; then'
|
|
24
|
+
> echo $' unset "completion_response[-1]"'
|
|
25
|
+
> echo $' IFS=, read -r -a completion_options <<< "${completion_directive#:options=}"'
|
|
26
|
+
> echo $' fi'
|
|
27
|
+
> echo $''
|
|
28
|
+
> echo $' COMPREPLY=("${completion_response[@]}")'
|
|
29
|
+
> echo $' local completion_candidate'
|
|
30
|
+
> echo $' for completion_candidate in "${COMPREPLY[@]}"; do'
|
|
31
|
+
> echo $' completion_seen["$completion_candidate"]=1'
|
|
32
|
+
> echo $' done'
|
|
33
|
+
> echo $''
|
|
34
|
+
> echo $' local completion_option'
|
|
35
|
+
> echo $' local completion_files=false'
|
|
36
|
+
> echo $' local completion_directories=false'
|
|
37
|
+
> echo $' for completion_option in "${completion_options[@]}"; do'
|
|
38
|
+
> echo $' case "$completion_option" in'
|
|
39
|
+
> echo $' files) completion_files=true ;;'
|
|
40
|
+
> echo $' directories) completion_directories=true ;;'
|
|
41
|
+
> echo $' no-space) compopt -o nospace ;;'
|
|
42
|
+
> echo $' esac'
|
|
43
|
+
> echo $' done'
|
|
44
|
+
> echo $''
|
|
45
|
+
> echo $' if [[ $completion_files == true ]]; then'
|
|
46
|
+
> echo $' while IFS= read -r completion_candidate; do'
|
|
47
|
+
> echo $' if [[ -z "${completion_seen[$completion_candidate]:-}" ]]; then'
|
|
48
|
+
> echo $' COMPREPLY+=("$completion_candidate")'
|
|
49
|
+
> echo $' completion_seen["$completion_candidate"]=1'
|
|
50
|
+
> echo $' fi'
|
|
51
|
+
> echo $' done < <(compgen -f -- "$completion_current")'
|
|
52
|
+
> echo $' elif [[ $completion_directories == true ]]; then'
|
|
53
|
+
> echo $' while IFS= read -r completion_candidate; do'
|
|
54
|
+
> echo $' if [[ -z "${completion_seen[$completion_candidate]:-}" ]]; then'
|
|
55
|
+
> echo $' COMPREPLY+=("$completion_candidate")'
|
|
56
|
+
> echo $' completion_seen["$completion_candidate"]=1'
|
|
57
|
+
> echo $' fi'
|
|
58
|
+
> echo $' done < <(compgen -d -- "$completion_current")'
|
|
59
|
+
> echo $' fi'
|
|
60
|
+
> echo $'}'
|
|
61
|
+
> echo $''
|
|
62
|
+
> echo $'complete -F _{{ name.to_underscore }}_completions {{ name }}'
|
|
63
|
+
> }
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
= view_marker
|
|
2
|
+
|
|
3
|
+
> send_completions_zsh() {
|
|
4
|
+
> echo $'#compdef {{ name }}'
|
|
5
|
+
> echo $''
|
|
6
|
+
> echo $'_{{ name.to_underscore }}_completions() {'
|
|
7
|
+
> echo $' local completion_command="${words[1]}"'
|
|
8
|
+
> echo $' local completion_current="${words[CURRENT]:-}"'
|
|
9
|
+
> echo $' local completion_output'
|
|
10
|
+
> echo $' local completion_directive'
|
|
11
|
+
> echo $' local -a completion_words=()'
|
|
12
|
+
> echo $' local -a completion_response=()'
|
|
13
|
+
> echo $' local -a completion_options=()'
|
|
14
|
+
> echo $' local -a completion_add_args=()'
|
|
15
|
+
> echo $''
|
|
16
|
+
> echo $' if (( CURRENT > 2 )); then'
|
|
17
|
+
> echo $' completion_words=("${words[2,$((CURRENT - 1))]}")'
|
|
18
|
+
> echo $' fi'
|
|
19
|
+
> echo $''
|
|
20
|
+
> echo $' completion_output="$("$completion_command" __complete "${completion_words[@]}" "$completion_current")"'
|
|
21
|
+
> echo $' completion_response=("${(@f)completion_output}")'
|
|
22
|
+
> echo $''
|
|
23
|
+
> echo $' completion_directive="${completion_response[-1]:-}"'
|
|
24
|
+
> echo $' if [[ $completion_directive == :options=* ]]; then'
|
|
25
|
+
> echo $' completion_response[-1]=()'
|
|
26
|
+
> echo $' completion_options=("${(@s:,:)${completion_directive#:options=}}")'
|
|
27
|
+
> echo $' fi'
|
|
28
|
+
> echo $''
|
|
29
|
+
> echo $' local completion_option'
|
|
30
|
+
> echo $' local completion_files=false'
|
|
31
|
+
> echo $' local completion_directories=false'
|
|
32
|
+
> echo $' for completion_option in "${completion_options[@]}"; do'
|
|
33
|
+
> echo $' case "$completion_option" in'
|
|
34
|
+
> echo $' files) completion_files=true ;;'
|
|
35
|
+
> echo $' directories) completion_directories=true ;;'
|
|
36
|
+
> echo $' no-space) completion_add_args=(-S "") ;;'
|
|
37
|
+
> echo $' esac'
|
|
38
|
+
> echo $' done'
|
|
39
|
+
> echo $''
|
|
40
|
+
> echo $' if (( ${#completion_response[@]} > 0 )); then'
|
|
41
|
+
> echo $' compadd "${completion_add_args[@]}" -- "${completion_response[@]}"'
|
|
42
|
+
> echo $' fi'
|
|
43
|
+
> echo $''
|
|
44
|
+
> echo $' if [[ $completion_files == true ]]; then'
|
|
45
|
+
> echo $' _files "${completion_add_args[@]}"'
|
|
46
|
+
> echo $' elif [[ $completion_directories == true ]]; then'
|
|
47
|
+
> echo $' _files -/ "${completion_add_args[@]}"'
|
|
48
|
+
> echo $' fi'
|
|
49
|
+
> echo $'}'
|
|
50
|
+
> echo $''
|
|
51
|
+
> echo $'compdef _{{ name.to_underscore }}_completions {{ name }}'
|
|
52
|
+
> }
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
> while [[ $# -gt 0 ]]; do
|
|
2
|
+
> case "$1" in
|
|
3
|
+
public_commands.each do |command|
|
|
4
|
+
> {{ command.aliases.join ' | ' }})
|
|
5
|
+
> shift
|
|
6
|
+
> {{ command.function_name }}_completion "$completion_current" "$@"
|
|
7
|
+
> return
|
|
8
|
+
> ;;
|
|
9
|
+
end
|
|
10
|
+
if fixed_flags?
|
|
11
|
+
if short_flag_exist? '-h'
|
|
12
|
+
> --help)
|
|
13
|
+
else
|
|
14
|
+
> --help | -h)
|
|
15
|
+
end
|
|
16
|
+
> completion_blocked_flags["--help"]=1
|
|
17
|
+
> shift
|
|
18
|
+
> ;;
|
|
19
|
+
if root_command?
|
|
20
|
+
if short_flag_exist? '-v'
|
|
21
|
+
> --version)
|
|
22
|
+
else
|
|
23
|
+
> --version | -v)
|
|
24
|
+
end
|
|
25
|
+
> completion_blocked_flags["--version"]=1
|
|
26
|
+
> shift
|
|
27
|
+
> ;;
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
public_flags.each do |flag|
|
|
31
|
+
= flag.render(:completion_filter).indent 4
|
|
32
|
+
end
|
|
33
|
+
> *)
|
|
34
|
+
if args.any?
|
|
35
|
+
= render(:completion_argument_filter).indent 6
|
|
36
|
+
elsif default_command
|
|
37
|
+
> {{ default_command.function_name }}_completion "$completion_current" "$@"
|
|
38
|
+
> return
|
|
39
|
+
else
|
|
40
|
+
> return
|
|
41
|
+
end
|
|
42
|
+
> ;;
|
|
43
|
+
> esac
|
|
44
|
+
> done
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
= view_marker
|
|
2
|
+
|
|
3
|
+
> completion_run() {
|
|
4
|
+
> local -a completion_words=("$@")
|
|
5
|
+
> local -A completion_blocked_flags=()
|
|
6
|
+
> local -A completion_emitted=()
|
|
7
|
+
> local -a completion_options=()
|
|
8
|
+
> local -A completion_options_seen=()
|
|
9
|
+
> local completion_count=${#completion_words[@]}
|
|
10
|
+
> local completion_current=""
|
|
11
|
+
>
|
|
12
|
+
> if [[ $completion_count -gt 0 ]]; then
|
|
13
|
+
> completion_current="${completion_words[$((completion_count - 1))]}"
|
|
14
|
+
> unset 'completion_words[completion_count - 1]'
|
|
15
|
+
> fi
|
|
16
|
+
>
|
|
17
|
+
> {{ function_name }}_completion "$completion_current" "${completion_words[@]}"
|
|
18
|
+
>
|
|
19
|
+
> local completion_options_string=""
|
|
20
|
+
> if [[ ${#completion_options[@]} -gt 0 ]]; then
|
|
21
|
+
> completion_options_string="$(
|
|
22
|
+
> IFS=,
|
|
23
|
+
> printf '%s' "${completion_options[*]}"
|
|
24
|
+
> )"
|
|
25
|
+
> fi
|
|
26
|
+
> printf ':options=%s\n' "$completion_options_string"
|
|
27
|
+
> }
|
|
28
|
+
>
|
|
29
|
+
> completion_candidates() {
|
|
30
|
+
> local completion_current="$1"
|
|
31
|
+
> shift
|
|
32
|
+
>
|
|
33
|
+
> local completion_candidate
|
|
34
|
+
> for completion_candidate in "$@"; do
|
|
35
|
+
> if [[ $completion_candidate == "$completion_current"* ]] &&
|
|
36
|
+
> [[ -z "${completion_emitted[$completion_candidate]:-}" ]]; then
|
|
37
|
+
> printf '%s\n' "$completion_candidate"
|
|
38
|
+
> completion_emitted["$completion_candidate"]=1
|
|
39
|
+
> fi
|
|
40
|
+
> done
|
|
41
|
+
> }
|
|
42
|
+
>
|
|
43
|
+
> completion_flag_candidates() {
|
|
44
|
+
> local completion_flag="$1"
|
|
45
|
+
> local completion_current="$2"
|
|
46
|
+
> shift 2
|
|
47
|
+
>
|
|
48
|
+
> if [[ -z "${completion_blocked_flags[$completion_flag]:-}" ]]; then
|
|
49
|
+
> completion_candidates "$completion_current" "$@"
|
|
50
|
+
> fi
|
|
51
|
+
> }
|
|
52
|
+
>
|
|
53
|
+
> completion_add_options() {
|
|
54
|
+
> local completion_option
|
|
55
|
+
> for completion_option in "$@"; do
|
|
56
|
+
> if [[ -z "${completion_options_seen[$completion_option]:-}" ]]; then
|
|
57
|
+
> completion_options+=("$completion_option")
|
|
58
|
+
> completion_options_seen["$completion_option"]=1
|
|
59
|
+
> fi
|
|
60
|
+
> done
|
|
61
|
+
> }
|
|
62
|
+
>
|
|
63
|
+
> completion_dynamic_candidates() {
|
|
64
|
+
> local completion_current="$1"
|
|
65
|
+
> local completion_output="$2"
|
|
66
|
+
>
|
|
67
|
+
> [[ -n $completion_output ]] || return
|
|
68
|
+
>
|
|
69
|
+
> local completion_candidate
|
|
70
|
+
> while IFS= read -r completion_candidate; do
|
|
71
|
+
> if [[ -n $completion_candidate ]]; then
|
|
72
|
+
> completion_candidates "$completion_current" "$completion_candidate"
|
|
73
|
+
> fi
|
|
74
|
+
> done <<<"$completion_output"
|
|
75
|
+
> }
|
|
76
|
+
>
|
|
77
|
+
= render :completion_script if Settings.completion_shells.any?
|
|
78
|
+
= render :completion_function
|
|
79
|
+
deep_commands.each do |command|
|
|
80
|
+
= command.render :completion_function
|
|
81
|
+
end
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
> local k
|
|
5
5
|
>
|
|
6
6
|
> if ((${#args[@]})); then
|
|
7
|
-
> readarray -t sorted_keys < <(printf '%s\n' "${!args[@]}" | sort)
|
|
7
|
+
> readarray -t sorted_keys < <(printf '%s\n' "${!args[@]}" | LC_ALL=C sort)
|
|
8
8
|
> echo args:
|
|
9
9
|
> for k in "${sorted_keys[@]}"; do
|
|
10
10
|
> echo "- \${args[$k]} = ${args[$k]}"
|
|
@@ -28,7 +28,7 @@ end
|
|
|
28
28
|
|
|
29
29
|
if Settings.enabled? :deps_array
|
|
30
30
|
> if ((${#deps[@]})); then
|
|
31
|
-
> readarray -t sorted_keys < <(printf '%s\n' "${!deps[@]}" | sort)
|
|
31
|
+
> readarray -t sorted_keys < <(printf '%s\n' "${!deps[@]}" | LC_ALL=C sort)
|
|
32
32
|
> echo
|
|
33
33
|
> echo deps:
|
|
34
34
|
> for k in "${sorted_keys[@]}"; do
|
|
@@ -40,7 +40,7 @@ end
|
|
|
40
40
|
|
|
41
41
|
if Settings.enabled? :env_var_names_array
|
|
42
42
|
> if ((${#env_var_names[@]})); then
|
|
43
|
-
> readarray -t sorted_names < <(printf '%s\n' "${env_var_names[@]}" | sort)
|
|
43
|
+
> readarray -t sorted_names < <(printf '%s\n' "${env_var_names[@]}" | LC_ALL=C sort)
|
|
44
44
|
> echo
|
|
45
45
|
> echo "environment variables:"
|
|
46
46
|
> for k in "${sorted_names[@]}"; do
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
= view_marker
|
|
2
2
|
|
|
3
3
|
> command_line_args=("$@")
|
|
4
|
+
if Settings.completions?
|
|
5
|
+
> if [[ "${command_line_args[0]:-}" == "__complete" ]]; then
|
|
6
|
+
> completion_run "${command_line_args[@]:1}"
|
|
7
|
+
> else
|
|
8
|
+
> {{ Settings.function_name :initialize }}
|
|
9
|
+
> {{ Settings.function_name :run }} "${command_line_args[@]}"
|
|
10
|
+
> fi
|
|
11
|
+
else
|
|
4
12
|
> {{ Settings.function_name :initialize }}
|
|
5
13
|
> {{ Settings.function_name :run }} "${command_line_args[@]}"
|
|
14
|
+
end
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
= view_marker
|
|
2
2
|
|
|
3
|
-
> {{
|
|
3
|
+
> {{ positive_aliases.join " | " }})
|
|
4
4
|
= render(arg ? :argfile_case_arg : :argfile_case_no_arg).indent 2
|
|
5
5
|
> ;;
|
|
6
6
|
>
|
|
7
|
+
|
|
8
|
+
if negatable
|
|
9
|
+
> {{ negated_long }})
|
|
10
|
+
> unset "args[{{ name }}]"
|
|
11
|
+
> ;;
|
|
12
|
+
>
|
|
13
|
+
end
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
= view_marker
|
|
2
2
|
|
|
3
|
-
> {{
|
|
3
|
+
> {{ positive_aliases.join " | " }})
|
|
4
4
|
= render(:conflicts).indent 2
|
|
5
5
|
= render(arg ? :case_arg : :case_no_arg).indent 2
|
|
6
6
|
>
|
|
7
|
+
|
|
8
|
+
if negatable
|
|
9
|
+
> {{ negated_long }})
|
|
10
|
+
> unset "args[{{ name }}]"
|
|
11
|
+
> shift
|
|
12
|
+
> ;;
|
|
13
|
+
>
|
|
14
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
> completion_flag_candidates {{ name }} "$completion_current" {{ aliases.join ' ' }}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
if allowed
|
|
2
|
+
> local -a completion_values=(
|
|
3
|
+
allowed.each do |value|
|
|
4
|
+
> "{{ value }}"
|
|
5
|
+
end
|
|
6
|
+
> )
|
|
7
|
+
if unique
|
|
8
|
+
> local completion_value
|
|
9
|
+
> for completion_value in "${completion_values[@]}"; do
|
|
10
|
+
> if [[ -z "${completion_used_flag_values["{{ name }}:$completion_value"]:-}" ]]; then
|
|
11
|
+
> completion_candidates "$completion_current" "$completion_value"
|
|
12
|
+
> fi
|
|
13
|
+
> done
|
|
14
|
+
else
|
|
15
|
+
> completion_candidates "$completion_current" "${completion_values[@]}"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
if completion_static.any?
|
|
20
|
+
> completion_candidates "$completion_current" {{ completion_static.map { |value| Shellwords.shellescape value }.join ' ' }}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
completion_dynamic.each do |command|
|
|
24
|
+
> if completion_output="$({ {{ command }}; } 2>/dev/null)"; then
|
|
25
|
+
> completion_dynamic_candidates "$completion_current" "$completion_output"
|
|
26
|
+
> fi
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
if completion_options.any?
|
|
30
|
+
> completion_add_options {{ completion_options.join ' ' }}
|
|
31
|
+
end
|
data/lib/bashly.rb
CHANGED
|
@@ -6,13 +6,13 @@ module Bashly
|
|
|
6
6
|
autoloads 'bashly/refinements', %i[ComposeRefinements]
|
|
7
7
|
|
|
8
8
|
autoloads 'bashly', %i[
|
|
9
|
-
CLI
|
|
9
|
+
CLI Config ConfigValidator Library LibrarySource
|
|
10
10
|
LibrarySourceConfig MessageStrings RenderContext RenderSource Settings
|
|
11
11
|
VERSION Watch
|
|
12
12
|
]
|
|
13
13
|
|
|
14
14
|
autoloads 'bashly/concerns', %i[
|
|
15
|
-
AssetHelper
|
|
15
|
+
AssetHelper Renderable ValidationHelpers
|
|
16
16
|
]
|
|
17
17
|
|
|
18
18
|
module Script
|
|
@@ -37,9 +37,6 @@ module Bashly
|
|
|
37
37
|
|
|
38
38
|
module Libraries
|
|
39
39
|
autoload :Base, 'bashly/libraries/base'
|
|
40
|
-
autoload :CompletionsFunction, 'bashly/libraries/completions/completions_function'
|
|
41
|
-
autoload :CompletionsScript, 'bashly/libraries/completions/completions_script'
|
|
42
|
-
autoload :CompletionsYAML, 'bashly/libraries/completions/completions_yaml'
|
|
43
40
|
autoload :Help, 'bashly/libraries/help/help'
|
|
44
41
|
end
|
|
45
42
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bashly
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 2.0.0.rc1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Danny Ben Shitrit
|
|
@@ -23,20 +23,6 @@ dependencies:
|
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '1.0'
|
|
26
|
-
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: completely
|
|
28
|
-
requirement: !ruby/object:Gem::Requirement
|
|
29
|
-
requirements:
|
|
30
|
-
- - "~>"
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.8.0.rc4
|
|
33
|
-
type: :runtime
|
|
34
|
-
prerelease: false
|
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - "~>"
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.8.0.rc4
|
|
40
26
|
- !ruby/object:Gem::Dependency
|
|
41
27
|
name: gtx
|
|
42
28
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -121,20 +107,6 @@ dependencies:
|
|
|
121
107
|
- - "~>"
|
|
122
108
|
- !ruby/object:Gem::Version
|
|
123
109
|
version: 0.7.2
|
|
124
|
-
- !ruby/object:Gem::Dependency
|
|
125
|
-
name: logger
|
|
126
|
-
requirement: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - "~>"
|
|
129
|
-
- !ruby/object:Gem::Version
|
|
130
|
-
version: '1.7'
|
|
131
|
-
type: :runtime
|
|
132
|
-
prerelease: false
|
|
133
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
134
|
-
requirements:
|
|
135
|
-
- - "~>"
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
version: '1.7'
|
|
138
110
|
description: Generate bash command line tools using YAML configuration
|
|
139
111
|
email: db@dannyben.com
|
|
140
112
|
executables:
|
|
@@ -156,13 +128,11 @@ files:
|
|
|
156
128
|
- lib/bashly/commands/render.rb
|
|
157
129
|
- lib/bashly/commands/shell.rb
|
|
158
130
|
- lib/bashly/commands/validate.rb
|
|
159
|
-
- lib/bashly/completion_builder.rb
|
|
160
131
|
- lib/bashly/completions/README.md
|
|
161
132
|
- lib/bashly/completions/bashly-completions.bash
|
|
162
133
|
- lib/bashly/completions/completely.yaml
|
|
163
134
|
- lib/bashly/completions/completely.yaml.gtx
|
|
164
135
|
- lib/bashly/concerns/asset_helper.rb
|
|
165
|
-
- lib/bashly/concerns/completions.rb
|
|
166
136
|
- lib/bashly/concerns/indentation_helper.rb
|
|
167
137
|
- lib/bashly/concerns/renderable.rb
|
|
168
138
|
- lib/bashly/concerns/validation_helpers.rb
|
|
@@ -180,9 +150,6 @@ files:
|
|
|
180
150
|
- lib/bashly/extensions/yaml.rb
|
|
181
151
|
- lib/bashly/libraries/base.rb
|
|
182
152
|
- lib/bashly/libraries/colors/colors.sh
|
|
183
|
-
- lib/bashly/libraries/completions/completions_function.rb
|
|
184
|
-
- lib/bashly/libraries/completions/completions_script.rb
|
|
185
|
-
- lib/bashly/libraries/completions/completions_yaml.rb
|
|
186
153
|
- lib/bashly/libraries/config/config.sh
|
|
187
154
|
- lib/bashly/libraries/help/help.rb
|
|
188
155
|
- lib/bashly/libraries/help/help_command.sh
|
|
@@ -245,6 +212,8 @@ files:
|
|
|
245
212
|
- lib/bashly/views/README.md
|
|
246
213
|
- lib/bashly/views/argument/case.gtx
|
|
247
214
|
- lib/bashly/views/argument/case_repeatable.gtx
|
|
215
|
+
- lib/bashly/views/argument/completion.gtx
|
|
216
|
+
- lib/bashly/views/argument/completion_filter.gtx
|
|
248
217
|
- lib/bashly/views/argument/usage.gtx
|
|
249
218
|
- lib/bashly/views/argument/validations.gtx
|
|
250
219
|
- lib/bashly/views/command/argfile_filter.gtx
|
|
@@ -252,6 +221,16 @@ files:
|
|
|
252
221
|
- lib/bashly/views/command/command_fallback.gtx
|
|
253
222
|
- lib/bashly/views/command/command_filter.gtx
|
|
254
223
|
- lib/bashly/views/command/command_functions.gtx
|
|
224
|
+
- lib/bashly/views/command/completion_argument_candidates.gtx
|
|
225
|
+
- lib/bashly/views/command/completion_argument_filter.gtx
|
|
226
|
+
- lib/bashly/views/command/completion_command_candidates.gtx
|
|
227
|
+
- lib/bashly/views/command/completion_flag_candidates.gtx
|
|
228
|
+
- lib/bashly/views/command/completion_function.gtx
|
|
229
|
+
- lib/bashly/views/command/completion_script.gtx
|
|
230
|
+
- lib/bashly/views/command/completion_script_bash.gtx
|
|
231
|
+
- lib/bashly/views/command/completion_script_zsh.gtx
|
|
232
|
+
- lib/bashly/views/command/completion_word_filter.gtx
|
|
233
|
+
- lib/bashly/views/command/completions.gtx
|
|
255
234
|
- lib/bashly/views/command/default_assignments.gtx
|
|
256
235
|
- lib/bashly/views/command/default_script.gtx
|
|
257
236
|
- lib/bashly/views/command/dependencies_filter.gtx
|
|
@@ -305,12 +284,18 @@ files:
|
|
|
305
284
|
- lib/bashly/views/flag/case.gtx
|
|
306
285
|
- lib/bashly/views/flag/case_arg.gtx
|
|
307
286
|
- lib/bashly/views/flag/case_no_arg.gtx
|
|
287
|
+
- lib/bashly/views/flag/completion.gtx
|
|
288
|
+
- lib/bashly/views/flag/completion_filter.gtx
|
|
289
|
+
- lib/bashly/views/flag/completion_filter_arg.gtx
|
|
290
|
+
- lib/bashly/views/flag/completion_filter_block.gtx
|
|
291
|
+
- lib/bashly/views/flag/completion_filter_no_arg.gtx
|
|
292
|
+
- lib/bashly/views/flag/completion_value_candidates.gtx
|
|
308
293
|
- lib/bashly/views/flag/conflicts.gtx
|
|
309
294
|
- lib/bashly/views/flag/needs.gtx
|
|
310
295
|
- lib/bashly/views/flag/usage.gtx
|
|
311
296
|
- lib/bashly/views/flag/validations.gtx
|
|
312
297
|
- lib/bashly/views/variable/definition.gtx
|
|
313
|
-
- lib/bashly/views/wrapper/
|
|
298
|
+
- lib/bashly/views/wrapper/bash_version_bouncer.gtx
|
|
314
299
|
- lib/bashly/views/wrapper/header.gtx
|
|
315
300
|
- lib/bashly/views/wrapper/wrapper.gtx
|
|
316
301
|
- lib/bashly/watch.rb
|
|
@@ -330,14 +315,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
330
315
|
requirements:
|
|
331
316
|
- - ">="
|
|
332
317
|
- !ruby/object:Gem::Version
|
|
333
|
-
version: '3.
|
|
318
|
+
version: '3.3'
|
|
334
319
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
335
320
|
requirements:
|
|
336
321
|
- - ">="
|
|
337
322
|
- !ruby/object:Gem::Version
|
|
338
323
|
version: '0'
|
|
339
324
|
requirements: []
|
|
340
|
-
rubygems_version: 4.0.
|
|
325
|
+
rubygems_version: 4.0.17
|
|
341
326
|
specification_version: 4
|
|
342
327
|
summary: Bash Command Line Tool Generator
|
|
343
328
|
test_files: []
|