mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-01-27 20:45:31 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| be8a6761af | |||
| c348f3625f |
@@ -213,7 +213,7 @@ get_sha256sum()
|
||||
# $2 - filename (string)
|
||||
#
|
||||
# Returns 1 when replaceable, 0 when not replaceable.
|
||||
replacable()
|
||||
replaceable()
|
||||
{
|
||||
FILE1="$1"
|
||||
FILE2="$2"
|
||||
|
||||
@@ -46,9 +46,25 @@ def test():
|
||||
assert vercmp("2.4 >= 2.4")
|
||||
assert vercmp("2.5 >= 2.4")
|
||||
assert vercmp("3 >= 2.999")
|
||||
assert vercmp("2.9 < 2.9a")
|
||||
assert vercmp("2.9a < 2.9")
|
||||
assert vercmp("2.9a >= 2.8")
|
||||
|
||||
# multiple comparisons in a single expression
|
||||
assert vercmp("1.0 < 2.0 <= 2.0")
|
||||
assert not vercmp("1.0 > 2.0 < 3.0")
|
||||
|
||||
# mixed major/minor version comparisons
|
||||
assert vercmp("2 >= 1.5")
|
||||
assert not vercmp("1 < 1.0")
|
||||
|
||||
# invalid operator should raise an error
|
||||
try:
|
||||
vercmp("1.0 <> 2.0")
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
assert False, "invalid operator did not raise"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) == 2 and sys.argv[1] == "test":
|
||||
|
||||
18
scripts/install-cheat-purebashbible.sh
Executable file → Normal file
18
scripts/install-cheat-purebashbible.sh
Executable file → Normal file
@@ -47,6 +47,22 @@ prepare_cheat_dest()
|
||||
echo "$cheat_dest"
|
||||
}
|
||||
|
||||
# Processes chapter files from the pure-bash-bible repository and generates or updates corresponding cheat sheets.
|
||||
#
|
||||
# For each chapter file, creates or updates a cheat sheet in the appropriate destination directory, removes chapter end markers, and ensures required metadata is present.
|
||||
#
|
||||
# Globals:
|
||||
# * PBB_TEMP_DIR: Directory containing the cloned pure-bash-bible repository.
|
||||
# * PBB_SYNTAX, PBB_TAGS, PBB_SOURCE: Metadata strings for cheat sheets.
|
||||
#
|
||||
# Outputs:
|
||||
# * Writes or updates cheat sheet files in the determined cheat sheet directory.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# ```bash
|
||||
# process_chapters
|
||||
# ```
|
||||
process_chapters()
|
||||
{
|
||||
local cheat_dest
|
||||
@@ -59,7 +75,7 @@ process_chapters()
|
||||
header=$(grep -e '^[#] ' "$f" | head -1 | awk '{print tolower($2)}')
|
||||
cheat_file="$cheat_dest/$header"
|
||||
|
||||
if ! replacable "$f" "$cheat_file"; then
|
||||
if ! replaceable "$f" "$cheat_file"; then
|
||||
cp "$f" "$cheat_file" && msg_run "Updated: $cheat_file"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user