Add hooks to check .sh and .bash headers
parent
3c00fe6dbb
commit
15edc2cd52
|
|
@ -28,3 +28,17 @@ repos:
|
||||||
# - id: forbid-crlf
|
# - id: forbid-crlf
|
||||||
- id: remove-crlf
|
- id: remove-crlf
|
||||||
exclude: ".bat$"
|
exclude: ".bat$"
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: dot-sh
|
||||||
|
name: Check .sh files against bash-it requirements
|
||||||
|
entry: ./hooks/dot-sh.sh
|
||||||
|
language: system
|
||||||
|
files: "\\.sh$"
|
||||||
|
types: [file]
|
||||||
|
- id: dot-bash
|
||||||
|
name: Check .bash files against bash-it requirements
|
||||||
|
entry: ./hooks/dot-bash.sh
|
||||||
|
language: system
|
||||||
|
files: "\\.bash$"
|
||||||
|
types: [file]
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
cite 'about-alias'
|
cite 'about-alias'
|
||||||
about-alias 'vim abbreviations'
|
about-alias 'vim abbreviations'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
# cargo (Rust package manager) completion
|
# cargo (Rust package manager) completion
|
||||||
|
|
||||||
if _binary_exists rustup && _binary_exists cargo; then
|
if _binary_exists rustup && _binary_exists cargo; then
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
|
|
||||||
# Published originally as public domain code at https://github.com/wk8/knife-bash-autocomplete
|
# Published originally as public domain code at https://github.com/wk8/knife-bash-autocomplete
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
cite "about-completion"
|
cite "about-completion"
|
||||||
about-completion "packer completion"
|
about-completion "packer completion"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
# pipx completion
|
# pipx completion
|
||||||
|
|
||||||
if _command_exists register-python-argcomplete && _command_exists pipx; then
|
if _command_exists register-python-argcomplete && _command_exists pipx; then
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
|
|
||||||
# rustup (Rust toolchain installer) completion
|
# rustup (Rust toolchain installer) completion
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
cite "about-completion"
|
cite "about-completion"
|
||||||
about-completion "vault completion"
|
about-completion "vault completion"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
exit_code=0
|
||||||
|
for file in "$@"; do
|
||||||
|
# TODO Confirm file has '.bash' extension
|
||||||
|
|
||||||
|
# Confirm not executable
|
||||||
|
#
|
||||||
|
if [[ -x "${file}" ]]; then
|
||||||
|
echo "Bash include file \`${file}\` should not be executable"
|
||||||
|
exit_code=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Confirm expected #! header
|
||||||
|
#
|
||||||
|
LINE1="$(head -n 1 "${file}")"
|
||||||
|
if [[ "${LINE1}" != "#!/usr/bin/env echo run from bash: ." ]]; then
|
||||||
|
echo "Bash include file \`${file}\` has bad/missing #! header"
|
||||||
|
exit_code=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Confirm expected schellcheck header
|
||||||
|
#
|
||||||
|
LINE2="$(head -n 2 "${file}" | tail -n 1)"
|
||||||
|
if [[ "${LINE2}" != "# shellcheck shell=bash disable=SC2148,SC2096" ]]; then
|
||||||
|
echo "Bash include file \`${file}\` has bad/missing shellcheck header"
|
||||||
|
exit_code=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit $exit_code
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
exit_code=0
|
||||||
|
for file in "$@"; do
|
||||||
|
# TODO Confirm file has '.sh' extension
|
||||||
|
|
||||||
|
# Confirm file is executable
|
||||||
|
#
|
||||||
|
if [[ ! -x "${file}" ]]; then
|
||||||
|
echo "Bash file \`${file}\` is not executable"
|
||||||
|
exit_code=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Confirm expected #! header
|
||||||
|
#
|
||||||
|
LINE1="$(head -n 1 "${file}")"
|
||||||
|
if [[ "${LINE1}" != "#!/usr/bin/env bash" ]]; then
|
||||||
|
echo "Bash file \`${file}\` has bad/missing #! header"
|
||||||
|
exit_code=1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit $exit_code
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
cite about-plugin
|
cite about-plugin
|
||||||
about-plugin 'initializes basher, the shell package manager'
|
about-plugin 'initializes basher, the shell package manager'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
SCM_THEME_PROMPT_DIRTY=" ${red}✗"
|
SCM_THEME_PROMPT_DIRTY=" ${red}✗"
|
||||||
SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓"
|
SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓"
|
||||||
SCM_THEME_PROMPT_PREFIX=" |"
|
SCM_THEME_PROMPT_PREFIX=" |"
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
# Define this here so it can be used by all of the Powerline themes
|
# Define this here so it can be used by all of the Powerline themes
|
||||||
THEME_CHECK_SUDO=${THEME_CHECK_SUDO:=true}
|
THEME_CHECK_SUDO=${THEME_CHECK_SUDO:=true}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env echo run from bash: .
|
||||||
|
# shellcheck shell=bash disable=SC2148,SC2096
|
||||||
|
|
||||||
# shellcheck source=../../themes/powerline/powerline.base.bash
|
# shellcheck source=../../themes/powerline/powerline.base.bash
|
||||||
. "$BASH_IT/themes/powerline/powerline.base.bash"
|
. "$BASH_IT/themes/powerline/powerline.base.bash"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue