@@ -32,9 +32,11 @@ $defaults = array(
3232 '-c ' => 'UTF-8 ' ,
3333 '-e ' => array ('js ' , 'html ' ),
3434 '-l ' => 'Javascript ' ,
35+ '--no-comments ' => false ,
3536);
3637
3738while ($ i < count ($ argv )) {
39+ // handle arguments
3840 if (preg_match ('#^-[a-z]$#i ' , $ argv [$ i ])) {
3941 $ val = isset ($ argv [$ i +1 ]) ? trim ($ argv [$ i +1 ]) : true ;
4042
@@ -44,25 +46,35 @@ while ($i < count($argv)) {
4446
4547 $ input [$ argv [$ i ]] = is_array ($ defaults [$ argv [$ i ]]) ? array_merge ($ input [$ argv [$ i ]], array ($ val )) : $ val ;
4648 $ i += 2 ;
47- } else {
48- if ( is_dir ( $ argv [ $ i ])) {
49- $ input [ ' files ' ] = array_merge ( $ defaults [ ' files ' ], Finder:: findr ( $ argv [ $ i ], $ defaults [ ' -e ' ]));
50- } else {
51- $ input [ ' files ' ][] = $ argv [$ i ];
52- }
49+ continue ;
50+ }
51+
52+ // handle modifiers
53+ if ( preg_match ( ' #^--[a-z-]+$#i ' , $ argv [$ i ])) {
54+ $ input [ $ argv [ $ i ]] = true ;
5355 $ i ++;
56+ continue ;
5457 }
58+
59+ // handle file list
60+ if (is_dir ($ argv [$ i ])) {
61+ $ input ['files ' ] = array_merge ($ defaults ['files ' ], Finder::findr ($ argv [$ i ], $ defaults ['-e ' ]));
62+ } else {
63+ $ input ['files ' ][] = $ argv [$ i ];
64+ }
65+
66+ $ i ++;
5567}
5668
5769$ input = array_merge ($ defaults , $ input );
5870
5971try {
60- new Xgettext ($ input ['files ' ], $ input ['-o ' ], $ input ['-k ' ], $ input ['-l ' ], $ input ['-c ' ], true );
72+ new Xgettext ($ input ['files ' ], $ input ['-o ' ], $ input ['-k ' ], $ input ['-l ' ], $ input ['-c ' ], true , !! $ input [ ' --no-comments ' ] );
6173} catch (\Exception $ e ) {
6274 fwrite (STDOUT , $ e ->getMessage () . <<<EOT
6375
6476
65- Usage xgettext -o [OUTPUT] -k [KEYWORDS] -c [ENCODING] [FILES]
77+ Usage xgettext -o [OUTPUT] -k [KEYWORDS] -c [ENCODING] [--no-comments] [ FILES]
6678
6779 -o [OUTPUT]
6880 REQUIRED
@@ -80,6 +92,8 @@ Usage xgettext -o [OUTPUT] -k [KEYWORDS] -c [ENCODING] [FILES]
8092 specify which parser you want to use
8193 eg: -l "Handlebars"
8294 default: "Javascript"
95+ --no-comments
96+ do not dump .po comments with file and line for each msgid occurence
8397 [FILES]
8498 REQUIRED
8599 files list to be parsed
0 commit comments