From 983e2f34f7bfab517ff7a29a197991fb7ae438d8 Mon Sep 17 00:00:00 2001 From: javalsai Date: Tue, 2 Jun 2026 06:22:29 +0200 Subject: [PATCH] dev: use stdlib for checks --- .ctags.d/exclude.ctags | 2 ++ .gitignore | 2 ++ .shellcheckrc | 5 +++++ justfile | 9 ++++++++- mkdev.sh | 14 ++++++++++++++ 5 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .ctags.d/exclude.ctags create mode 100644 .gitignore create mode 100644 .shellcheckrc create mode 100755 mkdev.sh diff --git a/.ctags.d/exclude.ctags b/.ctags.d/exclude.ctags new file mode 100644 index 0000000..66a1e90 --- /dev/null +++ b/.ctags.d/exclude.ctags @@ -0,0 +1,2 @@ +--exclude=.git +--exclude=vendor diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..97810f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tags +vendor diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 0000000..1b58be4 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,5 @@ +shell=bash + +extended-analysis=true + +external-sources=true diff --git a/justfile b/justfile index 54d2dae..1ae8ae1 100644 --- a/justfile +++ b/justfile @@ -1,13 +1,20 @@ alias fmt := format alias fmtw := format-write +tags: + ctags -R . + +dev: + ./mkdev.sh + test: bash test.sh zsh test.sh # ksh test.sh -format: +format: dev tags git ls-files -z "*.sh" | xargs -0 shfmt -d + vendor/stdlib/scripts/check-tags.sh ./tags format-write: git ls-files -z "*.sh" | xargs -0 shfmt -w diff --git a/mkdev.sh b/mkdev.sh new file mode 100755 index 0000000..e6ebcdb --- /dev/null +++ b/mkdev.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -euo pipefail + +cd "$(dirname "$0")" +source src/lib.sh + +std::wprintln "These dependencies are OPTIONAL because they might depend on older versions of std, having recursion problems" +# more like recurring down in history until the original commit, but yeah + +set -x + +[ -d vendor/stdlib ] || + git clone --recursive https://git.javalsai.tuxcord.net/shell/stdlib.git vendor/stdlib