aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v4/options.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v4/options.rb')
-rw-r--r--lib/sisu/v4/options.rb57
1 files changed, 56 insertions, 1 deletions
diff --git a/lib/sisu/v4/options.rb b/lib/sisu/v4/options.rb
index fca60a3d..8f07e0c4 100644
--- a/lib/sisu/v4/options.rb
+++ b/lib/sisu/v4/options.rb
@@ -476,8 +476,14 @@ module SiSU_Commandline
when /^--(?:epub)$/; c=c+'e'
when /^--(?:od[ft])$/; c=c+'o'
when /^--(?:pdf)$/; c=c+'p'
+ when /^--pdf-(?:a4|a5|b5|legal|letter)$/; c=c+'p'
+ mod << m
when /^--pdf-(?:p|l|portrait|landscape)$/; c=c+'L'
mod << m
+ when /^--pdf-(?:p(?:ortrait)?|l(?:andscape)?)-(?:a4|letter|a5|b5|legal)$/; c=c+'L'
+ mod << m
+ when /^--pdf-(?:a4|letter|a5|b5|legal)-(?:p(?:ortrait)?|l(?:andscape)?)$/; c=c+'L'
+ mod << m
when /^--(?:concordance|wordmap)$/; c=c+'w'
when /^--(?:manpage|man)$/; c=c+'i'
when /^--(?:texinfo)$/; c=c+'I'
@@ -783,7 +789,7 @@ module SiSU_Commandline
? { bool: true, set: :on }
: { bool: false, set: :na }
act[:pdf]=if (cmd =~/p/ \
- || mod.inspect =~/"--pdf"/)
+ || mod.inspect =~/"--pdf"|"--pdf-(?:a4|a5|b5|letter|legal)"/)
if mod.inspect =~/"--portrait"/
act[:pdf_p]={ bool: true, set: :on }
act[:pdf_l]={ bool: false, set: :na }
@@ -799,13 +805,62 @@ module SiSU_Commandline
end
else
act[:pdf_p]=(mod.inspect =~/"--pdf-(?:p|portrait)"/) \
+ || (mod.inspect =~/"--pdf(?:-p(?:ortrait)?-(?:a4|a5|b5|letter|legal))"/) \
+ || (mod.inspect =~/"--pdf-(?:a4|a5|b5|letter|legal)(?:-p(?:ortrait)?)"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
act[:pdf_l]=(mod.inspect =~/"--pdf-(?:l|landscape)"/) \
+ || (mod.inspect =~/"--pdf(?:-l(?:andscape)?-(?:a4|a5|b5|letter|legal))"/) \
+ || (mod.inspect =~/"--pdf-(?:a4|a5|b5|letter|legal)(?:-l(?:andscape)?)"/) \
? { bool: true, set: :on }
: { bool: false, set: :na }
{ bool: false, set: :na }
end
+ if act[:pdf][:set]==:on \
+ or act[:pdf_p][:set]==:on \
+ or act[:pdf_l][:set]==:on
+ #mod.inspect =~/"--pdf-([pl]-|portrait-|landscape-)?(?:a4|a5|b5|letter|legal)"/
+ act[:pdf_a4]=if mod.inspect =~/"--pdf(?:-[pl]|-portrait|-landscape)?-a4"/ \
+ or mod.inspect =~/"--pdf-a4(?:-[pl]|-portrait|-landscape)?"/ \
+ or mod.inspect =~/"--a4"|--papersize-a4"/ \
+ or mod.inspect =~/"--papersize=\S*a4\b\S*"/ #--papersize=a4,a5
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:pdf_a5]=if mod.inspect =~/"--pdf(?:-[pl]|-portrait|-landscape)?-a5"/ \
+ or mod.inspect =~/"--pdf-a5(?:-[pl]|-portrait|-landscape)?"/ \
+ or mod.inspect =~/"--a5"|"--papersize-a5"/ \
+ or mod.inspect =~/"--papersize=\S*a5\b\S*"/ #--papersize=a4,a5
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:pdf_b5]=if mod.inspect =~/"--pdf(-[pl]|-portrait|-landscape)?-b5"/ \
+ or mod.inspect =~/"--pdf-b5(?:-[pl]|-portrait|-landscape)?"/ \
+ or mod.inspect =~/"--b5"|"--papersize-b5"/ \
+ or mod.inspect =~/"--papersize=\S*b5\b\S*"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:pdf_letter]=if mod.inspect =~/"--pdf(-[pl]|-portrait|-landscape)?-letter"/ \
+ or mod.inspect =~/"--pdf-letter(?:-[pl]|-portrait|-landscape)?"/ \
+ or mod.inspect =~/"--letter"|"--papersize-letter"/ \
+ or mod.inspect =~/"--papersize=\S*letter\b\S*"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ act[:pdf_legal]=if mod.inspect =~/"--pdf(-[pl]|-portrait|-landscape)?-legal"/ \
+ or mod.inspect =~/"--pdf-legal(?:-[pl]|-portrait|-landscape)?"/ \
+ or mod.inspect =~/"--legal"|"--papersize-legal"/ \
+ or mod.inspect =~/"--papersize=\S*legal\b\S*"/
+ { bool: true, set: :on }
+ else
+ { bool: false, set: :na }
+ end
+ end
act[:epub]=(cmd =~/e/ \
|| mod.inspect =~/"--epub"/) \
? { bool: true, set: :on }