Skip to content

Commit 4d83222

Browse files
committed
- Add support for avoiding execution if the script is sourced
1 parent 2073e83 commit 4d83222

File tree

3 files changed

+26
-13
lines changed

3 files changed

+26
-13
lines changed

lib/bashly/libraries/settings/settings.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ enable_view_markers: development
110110
enable_inspect_args: development
111111
enable_deps_array: always
112112
enable_env_var_names_array: always
113+
enable_sourcing: development
113114

114115

115116
#-------------------------------------------------------------------------------

lib/bashly/settings.rb

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class << self
1313
:enable_env_var_names_array,
1414
:enable_header_comment,
1515
:enable_inspect_args,
16+
:enable_sourcing,
1617
:enable_view_markers,
1718
:lib_dir,
1819
:partials_extension,
@@ -48,28 +49,32 @@ def enabled?(feature)
4849
(send(:"enable_#{feature}") == 'development' && !production?)
4950
end
5051

51-
def enable_header_comment
52-
@enable_header_comment ||= get :enable_header_comment
53-
end
54-
5552
def enable_bash3_bouncer
5653
@enable_bash3_bouncer ||= get :enable_bash3_bouncer
5754
end
5855

59-
def enable_view_markers
60-
@enable_view_markers ||= get :enable_view_markers
56+
def enable_deps_array
57+
@enable_deps_array ||= get :enable_deps_array
58+
end
59+
60+
def enable_env_var_names_array
61+
@enable_env_var_names_array ||= get :enable_env_var_names_array
62+
end
63+
64+
def enable_header_comment
65+
@enable_header_comment ||= get :enable_header_comment
6166
end
6267

6368
def enable_inspect_args
6469
@enable_inspect_args ||= get :enable_inspect_args
6570
end
6671

67-
def enable_deps_array
68-
@enable_deps_array ||= get :enable_deps_array
72+
def enable_sourcing
73+
@enable_sourcing ||= get :enable_sourcing
6974
end
7075

71-
def enable_env_var_names_array
72-
@enable_env_var_names_array ||= get :enable_env_var_names_array
76+
def enable_view_markers
77+
@enable_view_markers ||= get :enable_view_markers
7378
end
7479

7580
def env

lib/bashly/views/command/master_script.gtx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@
1313
= render :run
1414

1515
>
16-
> initialize
17-
> run "$@"
18-
>
16+
if Settings.enabled? :sourcing
17+
> if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
18+
> initialize
19+
> run "$@"
20+
> fi
21+
else
22+
> initialize
23+
> run "$@"
24+
end
25+
>

0 commit comments

Comments
 (0)