rwx/sh/lint/lint.sh

82 lines
1.2 KiB
Bash
Raw Normal View History

2025-01-31 23:37:33 +01:00
# lint code
rwx_lint() {
local path="${1}"
2025-02-01 01:30:54 +01:00
[ -n "${path}" ] || return 1
2025-02-01 01:32:33 +01:00
rwx_lint_clean "${path}"
2025-02-01 01:38:15 +01:00
rwx_lint_tasks "${path}"
2025-01-31 23:37:33 +01:00
set \
"python" \
"shell"
2025-02-01 01:29:47 +01:00
local code
2025-01-31 23:37:33 +01:00
for code in "${@}"; do
2025-02-01 01:47:12 +01:00
rwx_log "" "${code}"
2025-01-31 23:37:33 +01:00
"rwx_lint_${code}" "${path}"
done
2025-02-01 01:32:33 +01:00
rwx_lint_clean "${path}"
2025-01-31 23:37:33 +01:00
}
2025-02-01 01:18:13 +01:00
# clean
rwx_lint_clean() {
local path="${1}"
2025-02-01 01:30:54 +01:00
[ -n "${path}" ] || return 1
2025-02-01 01:47:12 +01:00
rwx_log "" "py3clean"
2025-02-01 01:27:04 +01:00
py3clean \
--verbose \
"${path}"
2025-02-01 01:18:13 +01:00
set \
"mypy" \
"ruff"
2025-02-01 01:27:04 +01:00
local tool
2025-02-01 01:18:13 +01:00
for tool in "${@}"; do
2025-02-01 01:47:12 +01:00
rwx_log "" "${tool}"
2025-02-01 01:18:13 +01:00
rwx_remove "${path}/.${tool}_cache"
done
}
2025-01-31 18:31:24 +01:00
# lint python code
2025-01-31 23:34:44 +01:00
rwx_lint_python() {
2025-01-31 18:31:24 +01:00
local path="${1}"
2025-01-31 23:31:44 +01:00
local action
set \
"pylint" \
"pydoclint" \
"mypy" \
"ruff"
for action in "${@}"; do
2025-02-01 01:47:12 +01:00
rwx_log "" "${action}"
2025-01-31 23:31:44 +01:00
"rwx_${action}" "${path}"
done
2025-01-31 18:31:24 +01:00
}
2025-01-31 23:34:44 +01:00
# lint shell code
rwx_lint_shell() {
local path="${1}"
local action
set \
"shellcheck" \
"shfmt"
for action in "${@}"; do
2025-02-01 01:47:12 +01:00
rwx_log "" "${action}"
2025-01-31 23:34:44 +01:00
"rwx_${action}" "${path}"
done
}
2025-02-01 00:58:14 +01:00
# lint code tasks
rwx_lint_tasks() {
local path="${1}"
local type
set \
"LATER" \
"TODO" \
"FIXME"
for type in "${@}"; do
2025-02-01 01:47:12 +01:00
rwx_log "" "${type}"
2025-02-01 00:58:14 +01:00
grep \
2025-02-01 01:38:15 +01:00
--after "1" \
2025-02-01 00:58:14 +01:00
--directories "recurse" \
--line-number \
2025-02-01 01:02:10 +01:00
" ${type}" \
"${path}"
2025-02-01 00:58:14 +01:00
done
}