Injection fixes + utils
This commit is contained in:
25
shchemes
25
shchemes
@@ -86,7 +86,7 @@ get_comment_start() {
|
||||
ext="${ext##*.}"
|
||||
|
||||
case $ext in
|
||||
js|rasi)
|
||||
js|rasi|kdl)
|
||||
comment_start="//"
|
||||
;;
|
||||
|
||||
@@ -127,6 +127,7 @@ create_theme() {
|
||||
|
||||
inject() {
|
||||
path=$1
|
||||
dirname="$(dirname "$path")"
|
||||
parse_scheme
|
||||
check_scheme_path
|
||||
parse_comment_pattern
|
||||
@@ -135,11 +136,13 @@ inject() {
|
||||
if [ "$comment_start" == "" ]; then
|
||||
comment_start="#"
|
||||
fi
|
||||
cd "$dirname" || exit
|
||||
awk -v blockstart="${comment_start}START SHCHEMES BLOCK" \
|
||||
-v blockend="${comment_start}END SHCHEMES BLOCK" \
|
||||
-v blockend="${comment_start}END SHCHEMES BLOCK${comment_end}" \
|
||||
-v commentend="$comment_end" \
|
||||
-v scheme="$scheme" \
|
||||
-v shchemes="$shchemes_path" \
|
||||
-v dirname="$dirname" \
|
||||
-v sq="'" \
|
||||
-v nl="\n" \
|
||||
-F ":" '
|
||||
@@ -151,23 +154,24 @@ $1 ~ blockstart {
|
||||
inblock = 1;
|
||||
bi = 0;
|
||||
command = substr($2, 0, length($2) - length(commentend))
|
||||
system("/usr/bin/env bash -c " sq "SCHEME=\"" scheme "\";" command sq);
|
||||
system("cd " dirname " && /usr/bin/env bash -c " sq "SCHEME=\"" scheme "\";" command sq);
|
||||
next
|
||||
}
|
||||
$1 == blockend && inblock {
|
||||
inblock = 0;
|
||||
print nl blockend commentend;
|
||||
print nl blockend;
|
||||
next;
|
||||
}
|
||||
ENDFILE {
|
||||
if(inblock) {
|
||||
print nl blockend commentend;
|
||||
print nl blockend;
|
||||
for(i=1;i<=bi;i++) {
|
||||
print lines[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
' "$path" > "$tmp" && mv "$tmp" "$path"
|
||||
cd - || exit
|
||||
}
|
||||
|
||||
# TODO: multiple format support, check that line actually has multiple fields
|
||||
@@ -251,6 +255,13 @@ install_tinted_template() {
|
||||
rm "$tmp"
|
||||
}
|
||||
|
||||
print_scheme_path() {
|
||||
parse_scheme
|
||||
check_scheme_path
|
||||
printf %s\\n "$scheme_path"
|
||||
exit
|
||||
}
|
||||
|
||||
manual() {
|
||||
man "${shchemes_dir}/doc/shchemes.1"
|
||||
}
|
||||
@@ -260,6 +271,10 @@ if [ "$method" != "" ]; then
|
||||
create_theme)
|
||||
create_theme "${args[1]}"
|
||||
;;
|
||||
|
||||
path)
|
||||
print_scheme_path
|
||||
;;
|
||||
|
||||
inject)
|
||||
inject "${args[1]}" "${args[2]}"
|
||||
|
||||
Reference in New Issue
Block a user