Meh I'll figure out submodules later

This commit is contained in:
mustard 2025-09-16 01:01:02 +02:00
parent 4ca9d44a90
commit 8cb281f436
352 changed files with 66107 additions and 0 deletions

View file

@ -0,0 +1,19 @@
#!/usr/bin/env sh
r_v_major="0"
r_v_minor="17"
r_v_patch="1"
v="$(stylua --version | cut -d' ' -f2)"
v_major="$(echo "${v}" | cut -d'.' -f1)"
v_minor="$(echo "${v}" | cut -d'.' -f2)"
v_patch="$(echo "${v}" | cut -d'.' -f3)"
v_error_message="required stylua ~v${r_v_major}.${r_v_minor}.${r_v_patch}, found v${v_major}.${v_minor}.${v_patch}"
if test ${v_major} -ne ${r_v_major} || test ${v_minor} -ne ${r_v_minor} || test ${v_patch} -lt ${r_v_patch}; then
echo ${v_error_message} >&2
exit 1
fi
stylua --color always ${1} lua/nui/ tests/

View file

@ -0,0 +1,3 @@
#!/usr/bin/env sh
luacheck $@ .

View file

@ -0,0 +1,35 @@
diff --git a/lua/plenary/busted.lua b/lua/plenary/busted.lua
index 1b15fce..8363084 100644
--- a/lua/plenary/busted.lua
+++ b/lua/plenary/busted.lua
@@ -238,7 +238,7 @@ mod.run = function(file)
-- If nothing runs (empty file without top level describe)
if not results.pass then
if is_headless then
- return vim.cmd "0cq"
+ os.exit(0)
else
return
end
@@ -259,7 +259,7 @@ mod.run = function(file)
end
else
if is_headless then
- return vim.cmd "0cq"
+ os.exit(0)
end
end
end)()
diff --git a/lua/plenary/test_harness.lua b/lua/plenary/test_harness.lua
index 394e28d..66cc6b4 100644
--- a/lua/plenary/test_harness.lua
+++ b/lua/plenary/test_harness.lua
@@ -169,7 +169,7 @@ function harness.test_directory(directory, opts)
return vim.cmd "1cq"
end
- return vim.cmd "0cq"
+ os.exit(0)
end
end

View file

@ -0,0 +1,97 @@
#!/usr/bin/env bash
set -euo pipefail
declare -r plugins_dir="./.tests/site/pack/deps/start"
declare -r module="nui"
declare test_scope="${module}"
while [[ $# -gt 0 ]]; do
case "${1}" in
--clean)
shift
echo "[test] cleaning up environment"
rm -rf "${plugins_dir}"
echo "[test] envionment cleaned"
;;
*)
if [[ "${test_scope}" == "${module}" ]] && [[ "${1}" == "${module}/"* ]]; then
test_scope="${1}"
fi
shift
;;
esac
done
function setup_environment() {
echo
echo "[test] setting up environment"
echo
if [[ ! -d "${plugins_dir}" ]]; then
mkdir -p "${plugins_dir}"
fi
if [[ ! -d "${plugins_dir}/plenary.nvim" ]]; then
echo "[plugins] plenary.nvim: installing..."
git clone https://github.com/nvim-lua/plenary.nvim "${plugins_dir}/plenary.nvim"
# commit 9069d14a120cadb4f6825f76821533f2babcab92 broke luacov
# issue: https://github.com/nvim-lua/plenary.nvim/issues/353
local -r plenary_353_patch="$(pwd)/scripts/plenary-353.patch"
git -C "${plugins_dir}/plenary.nvim" apply "${plenary_353_patch}"
echo "[plugins] plenary.nvim: installed"
echo
fi
echo "[test] environment ready"
echo
}
function luacov_start() {
luacov_dir="$(dirname "$(luarocks which luacov 2>/dev/null | head -1)")"
if [[ "${luacov_dir}" == "." ]]; then
luacov_dir=""
fi
if test -n "${luacov_dir}"; then
rm -f luacov.*.out
export LUA_PATH=";;${luacov_dir}/?.lua"
fi
}
function luacov_end() {
if test -n "${luacov_dir}"; then
if test -f "luacov.stats.out"; then
luacov
echo
tail -n +$(($(grep -n "^Summary$" luacov.report.out | cut -d":" -f1) - 1)) luacov.report.out
fi
fi
}
setup_environment
luacov_start
declare test_logs=""
if [[ -d "./tests/${test_scope}/" ]]; then
test_logs=$(nvim --headless --noplugin -u tests/init.lua -c "lua require('plenary.test_harness').test_directory('./tests/${test_scope}/', { minimal_init = 'tests/init.lua', sequential = true })" || true)
elif [[ -f "./tests/${test_scope}_spec.lua" ]]; then
test_logs=$(nvim --headless --noplugin -u tests/init.lua -c "lua require('plenary.busted').run('./tests/${test_scope}_spec.lua')" || true)
fi
echo "${test_logs}"
luacov_end
if echo "${test_logs}" | grep --quiet "stack traceback"; then
{
echo ""
echo "FOUND STACK TRACEBACK IN TEST LOGS"
echo ""
} >&2
exit 1
fi