const,set,var

This commit is contained in:
Marc Beninca 2025-07-06 05:31:51 +02:00
parent b0afca09a5
commit 1b077ac89a
Signed by: marc.beninca
GPG key ID: 9C7613450C80C24F
3 changed files with 27 additions and 14 deletions

View file

@ -1,3 +1,5 @@
# large set of aliases for git commands
RWX_GIT_LOG_FORMAT="\
%C(auto)%h%d
S %C(red)%GS

View file

@ -17,20 +17,23 @@ function reset() {
BEGIN {
RE_ANY = "(.*)"
RE_NAME = "([_A-Za-z][_0-9A-Za-z]*)"
RE_CONST = "([_A-Z][_0-9A-Z]*)"
RE_SET = "=.*"
RE_SPACE = "[[:space:]]"
RE_SPACES = RE_SPACE "*"
RE_VAR = "([_a-z][_0-9a-z]*)"
RE_BEGIN = "^"
RE_END = RE_SPACES "$"
RE_FUNC = RE_SPACES "\\(" RE_SPACES "\\)" RE_SPACES "{"
RE_ALIAS = RE_BEGIN "#\\(" RE_SPACES RE_NAME RE_END
RE_ALIAS = RE_BEGIN "#\\(" RE_SPACES RE_VAR RE_END
RE_CONSTANT = RE_BEGIN RE_CONST RE_SET RE_END
RE_DOC = RE_BEGIN "#" RE_SPACE RE_ANY RE_END
RE_FUNCTION = RE_BEGIN RE_NAME RE_FUNC RE_END
RE_MODULE = RE_BEGIN "#." RE_SPACES RE_NAME RE_END
RE_SET = RE_BEGIN RE_NAME "=.*" RE_END
RE_FUNCTION = RE_BEGIN RE_VAR RE_FUNC RE_END
RE_MODULE = RE_BEGIN "#." RE_SPACES RE_ANY RE_END
RE_SHEBANG = RE_BEGIN "#!" RE_SPACES RE_ANY RE_END
RE_VARIABLE = RE_BEGIN RE_VAR RE_SET RE_END
alias = 0
reset()
@ -48,19 +51,27 @@ BEGIN {
if (m[1] == target) {
alias = 1
}
# not doc
# set
} else if (match($0, RE_CONSTANT, m)) {
if (m[1] == target) {
printf "constant: "
output(m[1])
} else {
reset()
}
} else if (match($0, RE_VARIABLE, m)) {
if (m[1] == target) {
printf "variable: "
output(m[1])
} else {
reset()
}
# others
} else if (match($0, RE_MODULE, m)) {
reset()
if (m[1] == target) {
module = 1
}
} else if (match($0, RE_SET, m)) {
if (m[1] == target) {
printf "set: "
output(m[1])
} else {
reset()
}
} else if (match($0, RE_FUNCTION, m)) {
if (alias) {
print "alias: " target

View file

@ -207,7 +207,7 @@ rwx_test() {
# TODO variables
set \
"main" \
"self" \
"alias/git" \
\
"RWX_MAIN_NAME" \
\