aboutsummaryrefslogtreecommitdiffhomepage
path: root/lexicon_filter.in
diff options
context:
space:
mode:
authorGravatar Mark Griffiths <mark@thebespokepixel.com>2014-09-23 05:18:16 +0100
committerGravatar Kevin Ballard <kevin@sb.org>2014-09-23 00:24:05 -0700
commit8d3d51a020b02d6f9d87272bfc6b56fdff468649 (patch)
treeae797f189041d772c9e6e49c6a379f5844e18259 /lexicon_filter.in
parent5afd42c09750c0a5118f632d60b5a8d2cd93666b (diff)
lexicon_filter fix for escaped options
Fixes #1703. Also fixes short and long options markup in synopsis when directly following a '(' or '[' character.
Diffstat (limited to 'lexicon_filter.in')
-rw-r--r--lexicon_filter.in20
1 files changed, 13 insertions, 7 deletions
diff --git a/lexicon_filter.in b/lexicon_filter.in
index 0f2a0e1a..4ee5f7cc 100644
--- a/lexicon_filter.in
+++ b/lexicon_filter.in
@@ -188,14 +188,14 @@ s/@sgst{\([^}]*\)}/\\\
#.
# Command/Function options
# Short options
-s/ -\([A-Za-z][A-Za-z]*\)\([^A-Za-z}]\)/ \\\
-<@opts{-\1}\
-\2/g
+s/\([[( ]\)-\([A-Za-z][A-Za-z]*\)\([^A-Za-z}]\)/\1\\\
+<@opts{-\2}\
+\3/g
#.
# Long options
-s/ --\([A-Za-z][A-Za-z0-9=_-]*\)\([^A-Za-z0-9=_-]*\)/ \\\
-<@opts{--\1}\
-\2/g
+s/\([[( ]\)--\([A-Za-z][A-Za-z0-9=_-]*\)\([^A-Za-z0-9=_-]*\)/\1\\\
+<@opts{--\2}\
+\3/g
#.
# Prompt
s/~>_/\\\
@@ -211,6 +211,9 @@ s/___\(.\)/\\\
<@curs{\1}\
/
#.
+# Escaped Options
+s/ \\\([A-Za-z0-9][A-Za-z0-9]*\) / @bksl{\1} /g
+#.
# Trailing Backslash
s/ \\$/ @bksl{ }/
#.
@@ -447,7 +450,10 @@ s/\( *@redr{|} *\)@bltn/\1@xbln/g
s/^\( *\)@func/\1@xfnc/
s/\( *[;()] *\)@func/\1@xfnc/g
s/\( *@redr{|} *\)@func/\1@xfnc/g
-s/\\@bltn{\([^}]*\)/@args{@bksl{\1}/g
+s/ @bksl{\([^}]*\)} / @args{@bksl{\1}} /g
+s/ @bksl{@bltn{\([^}]*\)}/ @args{@bksl{\1}/g
+s/ @bksl{@func{\([^}]*\)}/ @args{@bksl{\1}/g
+s/ @bksl{@cmnd{\([^}]*\)}/ @args{@bksl{\1}/g
s/@bltn/@args/g
s/@func/@args/g
s/@cmnd/@args/g