aat

git mirror of https://ccx.te2000.cz/bzr/aat
git clone https://ccx.te2000.cz/git/aat
Log | Files | Refs | README

commit a274a2d22b5ea1244ba5e08a4d3bc1c2ae670138
parent b1f6afc9b5dd0b00f45d4b7f42cbfd442aafcfc2
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date:   Wed,  9 Oct 2013 17:08:56 +0200

WIP aat filters
Diffstat:
Mbin/aat.awk | 26++++++++++++++++++++++++++
1 file changed, 26 insertions(+), 0 deletions(-)

diff --git a/bin/aat.awk b/bin/aat.awk @@ -252,6 +252,32 @@ function aat_process(str) { } } # TODO filters + while(str) { + if(!match(str, /^\|[a-zA-Z_][a-zA-Z0-9_.]*/)) { + print "ERROR: invalid filter: " str >"/dev/stderr" + exit 1 + } + filter_name = substr(str, 2, RLENGTH-1) + str = substr(str, RLENGTH+1) + if(str == "") { + args = "" + } else if(match(str, /^</)) { + expand_remaining = substr(str, 2) + args = ", " expand_query() + str = expand_remaining + while(match(str, /^,</)) { + expand_remaining = substr(str, 3) + args = args ", " expand_query() + str = expand_remaining + } + if(match(str, /^[^|]+/)) { + args = args substr(str, 1, RLENGTH) + str = substr(str, RLENGTH+1) + } + # TODO + } + processed = filter_name "(" processed args ")" + } return processed }