(identity) enable reate via set, add touch, non-emptyness checks
This commit is contained in:
parent
352e19c87b
commit
deb6f51b57
1 changed files with 22 additions and 9 deletions
|
|
@ -536,7 +536,7 @@ function c4.fa_src {
|
||||||
## where SOURCE is a readable file
|
## where SOURCE is a readable file
|
||||||
function c4.i.val {
|
function c4.i.val {
|
||||||
local src=$( c4.fa_src $@ )
|
local src=$( c4.fa_src $@ )
|
||||||
if test ! -r "$src" ; then
|
if test -z "$src" -o ! -r "$src" ; then
|
||||||
# || test 0 == "$(file "$src" | grep text >2 2>&1; echo $?)"
|
# || test 0 == "$(file "$src" | grep text >2 2>&1; echo $?)"
|
||||||
echo "WARN" "C4R${C4_RUN}${C4_TR}_VAL: missing SRC" >&2 # LOG
|
echo "WARN" "C4R${C4_RUN}${C4_TR}_VAL: missing SRC" >&2 # LOG
|
||||||
return 1;
|
return 1;
|
||||||
|
|
@ -548,7 +548,7 @@ function c4.i.val {
|
||||||
## where SOURCE is a readable file
|
## where SOURCE is a readable file
|
||||||
function c4.i.vals {
|
function c4.i.vals {
|
||||||
local src=$( c4.fa_src $@ )
|
local src=$( c4.fa_src $@ )
|
||||||
if test ! -r "$src" ; then
|
if test -z "$src" -o ! -r "$src" ; then
|
||||||
echo "WARN" "C4R${C4_RUN}${C4_TR}_VAL: missing SRC" >&2 # LOG
|
echo "WARN" "C4R${C4_RUN}${C4_TR}_VAL: missing SRC" >&2 # LOG
|
||||||
return 1;
|
return 1;
|
||||||
fi
|
fi
|
||||||
|
|
@ -559,7 +559,7 @@ function c4.i.vals {
|
||||||
## where SOURCE is a readable file
|
## where SOURCE is a readable file
|
||||||
function c4.i.for {
|
function c4.i.for {
|
||||||
local src=$( c4.fa_src $1 )
|
local src=$( c4.fa_src $1 )
|
||||||
if test ! -r "$src" ; then
|
if test -z "$src" -o ! -r "$src" ; then
|
||||||
echo "WARN" "C4R${C4_RUN}${C4_TR}_FOR: missing SRC" >&2 # LOG
|
echo "WARN" "C4R${C4_RUN}${C4_TR}_FOR: missing SRC" >&2 # LOG
|
||||||
return 1;
|
return 1;
|
||||||
fi
|
fi
|
||||||
|
|
@ -574,7 +574,7 @@ function c4.i.autosave {
|
||||||
|| return;
|
|| return;
|
||||||
|
|
||||||
local src=$( c4.fa_src $1 ); shift
|
local src=$( c4.fa_src $1 ); shift
|
||||||
if test ! -r "$src" ; then
|
if test -z "$src" -o ! -r "$src" ; then
|
||||||
echo "WARN" "C4R${C4_RUN}${C4_TR}_AUTOSAVE: missing SRC" >&2 # LOG
|
echo "WARN" "C4R${C4_RUN}${C4_TR}_AUTOSAVE: missing SRC" >&2 # LOG
|
||||||
return 1;
|
return 1;
|
||||||
fi
|
fi
|
||||||
|
|
@ -582,9 +582,14 @@ function c4.i.autosave {
|
||||||
cp $src $src~
|
cp $src $src~
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function c4.i.touch {
|
||||||
|
local src=$( c4.fa_src $1 ); shift
|
||||||
|
test -z "$src" -o -n "$src" && touch $src
|
||||||
|
}
|
||||||
|
|
||||||
function c4.i.clear {
|
function c4.i.clear {
|
||||||
local src=$( c4.fa_src $1 ); shift
|
local src=$( c4.fa_src $1 ); shift
|
||||||
if test ! -r "$src" ; then
|
if test -z "$src" -o ! -r "$src" ; then
|
||||||
echo "WARN" "C4R${C4_RUN}${C4_TR}_CLEAR: missing SRC" >&2 # LOG
|
echo "WARN" "C4R${C4_RUN}${C4_TR}_CLEAR: missing SRC" >&2 # LOG
|
||||||
return 1;
|
return 1;
|
||||||
fi
|
fi
|
||||||
|
|
@ -594,20 +599,28 @@ function c4.i.clear {
|
||||||
|
|
||||||
function c4.i.set {
|
function c4.i.set {
|
||||||
local src=$( c4.fa_src $1 ); shift
|
local src=$( c4.fa_src $1 ); shift
|
||||||
if test ! -r "$src" ; then
|
local d=
|
||||||
|
if test -r "$src" ; then
|
||||||
|
# identity dotfile exists
|
||||||
|
c4.i.clear $src # this handles autosave (when not inhibitied)
|
||||||
|
elif test -n "$src" \
|
||||||
|
&& $( d=$(dirname $src);
|
||||||
|
test -d "$d" -a -r "$d" ); then
|
||||||
|
# doesn't exist but path is a writable directory
|
||||||
|
c4.i.init $src
|
||||||
|
else
|
||||||
echo "WARN" "C4R${C4_RUN}${C4_TR}_SET: missing SRC" >&2 # LOG
|
echo "WARN" "C4R${C4_RUN}${C4_TR}_SET: missing SRC" >&2 # LOG
|
||||||
return 1;
|
return 1;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
c4.i.clear $src # clear handles autosave (when not inhibitied)
|
|
||||||
|
|
||||||
local v;
|
local v;
|
||||||
for v in "$@" ; do
|
for v in "$@" ; do
|
||||||
printf '%s'"\n" "$v" >>$src
|
printf '%s'"\n" "$v" >>$src
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Lab: breaking underbar sepeared words into wordlists
|
||||||
|
# declare -p | perl -pe 's/declare -\S+ ([^\s=]+).*$/$1/; s/^(\s|_)+//;' | grep -i ^_\\?c4 | cut --output-delimiter=' ' -d '_' -sf 1,2,3,4,5,6,7,8,9,10
|
||||||
|
|
||||||
## return identity source of [[ <context1> [...]] query
|
## return identity source of [[ <context1> [...]] query
|
||||||
## where QUERY (and CONTEXT1, etc, if provided) are words
|
## where QUERY (and CONTEXT1, etc, if provided) are words
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue