diff options
Diffstat (limited to 'lib/sisu/v3/options.rb')
| -rw-r--r-- | lib/sisu/v3/options.rb | 23 | 
1 files changed, 16 insertions, 7 deletions
| diff --git a/lib/sisu/v3/options.rb b/lib/sisu/v3/options.rb index a1a448e6..110ebd85 100644 --- a/lib/sisu/v3/options.rb +++ b/lib/sisu/v3/options.rb @@ -61,10 +61,10 @@ module SiSU_commandline    require "pathname"    require_relative 'sysenv'                             # sysenv.rb    class Options -    attr_accessor :cmd,:mod,:act,:f_pths,:files,:paths,:f_pth,:pth,:fns,:fnb,:fnc,:fncb,:lng,:what +    attr_accessor :cmd,:mod,:act,:f_pths,:files,:paths,:lngs,:f_pth,:pth,:fns,:fnb,:fnc,:fncb,:lng,:what      def initialize(a)        @a=a -      @cmd,@f_pth,@pth,@fns,@fnb,@fnc,@fncb,@what='','','','','','','','','' +      @cmd,@f_pth,@pth,@fns,@fnb,@fnc,@fncb,@what,@lng='','','','','','','','','',''        @f_pths,@files,@paths,@mod,@act=Array.new(5){[]}        @env=SiSU_Env::Info_env.new        r=Px[:lng_lst].join('|') @@ -109,6 +109,7 @@ module SiSU_commandline        @paths = q[:paths]        @files = q[:files]        @f_pths = q[:f_pths] +      @lngs = q[:lngs]        if @files.length > 0 \        and @cmd.empty? \        and @mod.length==0 #% if no other action called on filename given, default is sisu -0 [filename(s)] configured as flag default @@ -122,7 +123,7 @@ module SiSU_commandline      end      def set_files_and_paths_and_general_extract(s)        c,w='','' -      m,f,pth,z,lng=[],[],[],[],[] +      m,f,pth,z,lng,lngs=[],[],[],[],[],[]        a=s.split(/\s+/)        a.each do |x|          if x =~/^-[a-z0-5]+/i \ @@ -138,12 +139,20 @@ module SiSU_commandline              pt=Pathname.new(x)              pth << pt.split[0].realpath.to_s     #remove?              f << pt.split[1].to_s                #remove? -            u=/.+?\/([^\/]+)(?:(?:\/(?:en|fr|es)$)|$)/ -            t=/.+\/(en|fr|es)/ -            lng << (pt.split[0].realpath.to_s[t,1]) \ +            r=Px[:lng_lst].join('|') +            u=/.+?\/([^\/]+)(?:\/(?:#{r})$|$)/ +            t=/.+\/(#{r})$/ +            l_p = (pt.split[0].realpath.to_s[t,1]) \                ? pt.split[0].realpath.to_s[t,1] \                : nil                #: '' +            lng << l_p +            lngs << if l_p +              l_p +            elsif x =~/~(#{r})\.ss[tm]/ +              $1 +            else 'en' +            end              f_pths << {                pth: pt.split[0].realpath.to_s,                f: pt.split[1].to_s, @@ -163,7 +172,7 @@ module SiSU_commandline            puts "#{x} in #{a.join(' ')}?"          end        end -      { cmd: c, mod: m, what: w, paths: pth, files: f, f_pths: f_pths, lng: lng } +      { cmd: c, mod: m, what: w, paths: pth, files: f, f_pths: f_pths, lng: lng, lngs: lngs }      end      def expand_numeric_shortcuts(a)        shortcut=SiSU_Env::Info_processing_flag.new | 
