mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Squashed 'cde/programs/dtksh/ksh93/' content from commit 66e1d4464
git-subtree-dir: cde/programs/dtksh/ksh93
git-subtree-split: 66e1d44642
This commit is contained in:
commit
c9b8687604
1269 changed files with 369117 additions and 0 deletions
33
bin/Mamfile_indent
Executable file
33
bin/Mamfile_indent
Executable file
|
|
@ -0,0 +1,33 @@
|
|||
#!/usr/bin/env sh
|
||||
IFS=''; set -fCu # safe mode: no split/glob = no quoting headaches
|
||||
let() { return $((!($1))); }
|
||||
|
||||
# Automatically (re-)indent make...done blocks in a Mamfile.
|
||||
# Usage: Mamfile_indent <Mamfile >Mamfile.new
|
||||
#
|
||||
# Should work on all current POSIX compliant shells.
|
||||
# By Martijn Dekker <martijn@inlv.org>, 2021. Public domain.
|
||||
|
||||
# Spacing per indentation level. Edit to change style.
|
||||
indent=' ' # one tab
|
||||
|
||||
# Remove existing indentation, add new indentation.
|
||||
indentlvl=0
|
||||
sed 's/^[[:space:]]*//' \
|
||||
| while read -r line
|
||||
do case $line in
|
||||
'') continue ;;
|
||||
done*) let "indentlvl -= 1" ;;
|
||||
esac
|
||||
|
||||
spc=
|
||||
i=0
|
||||
while let "(i += 1) <= indentlvl"
|
||||
do spc=$indent$spc
|
||||
done
|
||||
printf '%s\n' $spc$line
|
||||
|
||||
case $line in
|
||||
make*) let "indentlvl += 1" ;;
|
||||
esac
|
||||
done
|
||||
Loading…
Add table
Add a link
Reference in a new issue