aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexicon_filter.in
diff options
context:
space:
mode:
authorGravatar Mark Griffiths <mark@thebespokepixel.com>2014-08-19 10:58:22 +0100
committerGravatar Mark Griffiths <mark@thebespokepixel.com>2014-09-03 14:43:26 +0100
commit73fb9915fd1f74adba7d5385885ffbb28dcc834e (patch)
treee9efa2beae0c6b0a7cf8928b1176276fd63e42e1 /lexicon_filter.in
parent855a1196541ade7de47072d66ae4983dec97c109 (diff)
Fixed a few more edge cases
Diffstat (limited to 'lexicon_filter.in')
-rw-r--r--lexicon_filter.in56
1 files changed, 36 insertions, 20 deletions
diff --git a/lexicon_filter.in b/lexicon_filter.in
index a6d1df44..da1d37e0 100644
--- a/lexicon_filter.in
+++ b/lexicon_filter.in
@@ -223,7 +223,7 @@ s/__\(.\)/\\\
# Normal Directory
s|mkdir |mkdir :|
s|\([~/:][/]*[.A-Za-z_0-9/-]*\)\\ |\1=|g
-s|\([~/][/]*[.A-Za-z_0-9/=-]*\)|\\\
+s|\([~/:][/]*[.A-Za-z_0-9/=-]*\)|\\\
<@path{\1}\
|g
t protect
@@ -275,6 +275,16 @@ s/^PCLN: //
s/\(blah{[^@]*\)@dblq{\([^}]*\)}/\1"\2"/
s/\(blah{[^@]*\)@....{\([^}]*\)}/\1\2/
}
+/@dblq/{
+ :cleandblq
+ s/\(dblq{[^@<]*\)<*@...[^q]{\([^}]*\)}/\1\2/
+ t cleandblq
+}
+/@sglq/{
+ :cleansglq
+ s/\(sglq{[^@<]*\)<*@...[^q]{\([^}]*\)}/\1\2/
+ t cleansglq
+}
/@redr/{
:cleanredr
s/\(redr{[^@}]*\)@cmnd{\([^}]*\)}/\1\2/
@@ -284,11 +294,13 @@ s/^PCLN: //
s/\(redr{[^}]*\)}\( *\)@path{\([^}]*\)/\1\2\3/
t cleanredr
}
-/@sgst/ {
+/@sgst/{
+ s/@sgst{<@/@sgst{@/
:cleansgst
s/\(sgst{@curs{.}[^@]*\)@cmnd{\([^}]*\)}/\1\2/
s/\(sgst{@curs{.}[^@]*\)@sbin{\([^}]*\)}/\1\2/
s/\(sgst{@curs{.}[^@]*\)@path{\([^}]*\)}/\1\2/
+ s/\(sgst{@curs{.}[^@]*\)@fsfo{\([^}]*\)}/\1\2/
t cleansgst
}
/@fsfo/{
@@ -298,6 +310,9 @@ s/^PCLN: //
s/\(fsfo{[^@}]*\)@sbin{\([^}]*\)}/\1\2/
t cleanfsfo
}
+/@prmt{/{
+ s/@prmt{<@path/@prmt{@path/
+}
#.
# Restore Paths
/@fsfo/ {
@@ -397,26 +412,27 @@ s/\n$//g
# additional trailing characters stripped.
x
/^\<@[^}]*$/ ! {
-s/[^\<]*//
-s/^ *\\\n//
-s/[()] \\//
-s/\n *\\//
-s/^[^\<][^@][^\\]*//
-s/\n[]|;) ][^\\]*\\//
-s/\n[]|;) a-zA-z0-9-][^\\]*$//
-s/\n[]|;)}]\\//
-s/\n[]|;)}]\n//
-s/\n[]|;)}]$//
-s/[()]$//
-s/}@curs/}/
-s/\n@curs$//
-s/\n[^\<@][^\\]*\\//
-s/\n[^\<@][^\\]*//
-s/^\\//
-s/\n$//g
+ s/[^\<]*//
+ s/^ *\\\n//
+ s/[()] \\//
+ s/\n *\\//
+ s/^[^\<][^@][^\\]*//
+ s/\n[]|;) ][^\\]*\\//
+ s/\n[]|;) a-zA-z0-9-][^\\]*$//
+ s/\n[]|;)}]\\//
+ s/\n[]|;)}]\n//
+ s/\n[]|;)}]$//
+ s/[()]$//
+ s/}@curs/}/
+ s/\n@curs$//
+ s/\n[^\<@][^\\]*\\//
+ s/\n[^\<@][^\\]*//
+ s/^\\//
+ s/\n$//g
+}
s/\\\n/\
/
-}
+s/\< \n//
#.
# Swap the buffers back.
x